Get Moving With Core Motion!

Slides:



Advertisements
Similar presentations
TEMPLATE DESIGN © The basic model for a trigonometric setup requires that the HID be seen by at least two cameras at any.
Advertisements

Mobile Application Development Fall COP 4655 U1 T/R 5:00 - 6:15pm – ECS 135 Steve Luis lecture1.
TouchDevelop Chapter 5-7 Chapter 5 Audio Chapter 6 Camera, Graphics and Video Chapter 7 Sensors Mengfei Ren.
Slide Ruler. ? X 5" On today’s menu...  What happened with Gravity  Noise  The tool today  Fundamental Limitations  Magical Christmas Land  (Where.
Use it Free: Instantly Knowing Your Phone Attitude Pengfei Zhou*, Mo Li Nanyang Technological University Guobin (Jacky) Shen Microsoft Research.
Use it Free: Instantly Knowing Your Phone Attitude Pengfei Zhou*, Mo Li Nanyang Technological University Guobin (Jacky) Shen Microsoft Research.
ACCURACY IMPROVEMENT FOR PHYSICAL ROBOT Gal Lerman, Dorin Ben-Zaken.
Haptic Glove Hardware Graduation Project Prepared by Yaman A. Salman Eman M. Masarweh 2012.
Electrical and Computer Engineering SMART GOGGLES To Chong Ryan Offir Matt Ferrante James Kestyn Advisor: Dr. Tilman Wolf Preliminary Design Review.
1Rémi Devinant DII5 / Devices synchronization for modeling 3D plane.
One App for All Coding for different iOS variants Mike Oliver iOS Team Lead
Electrical and Computer Engineering Minimal Movement Interactive Entertainment Unit Ryan Kelly Michael Lorenzo Ernie Wilson Chase Francis Professor Neal.
Mobile Robot Navigation with Human Interface Device David Buckles Brian Walsh Advisor: Dr. Malinowski.
The Accelerometer and Gyroscope
Electrical and Computer Engineering Personal Head-Up Display Ivan Bercovich Radu-Andrei Ivan Jeff Little Felipe Vilas-Boas Faculty: Dr. Tilman Wolf Midway.
An INS/GPS Navigation System with MEMS Inertial Sensors for Small Unmanned Aerial Vehicles Masaru Naruoka The University of Tokyo 1.Introduction.
Building Sensor-based Apps Windows Phone Windows Store Windows Desktop
What’s new for Windows 8 Devs Part 3 Lewis Benge Devices & Integration Team TBWA\Digital Arts Network DEV216.
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 3.2: Sensors Jürgen Sturm Technische Universität München.
The Basics  Operating systems (OS) can help computer users do many things, like managing and manipulating files and folders.  Operating systems also.
Computing & Information Sciences Kansas State University CIS 536/636 Introduction to Computer Graphics Lecture 22 of 41 William H. Hsu Department of Computing.
FINAL PRESENTATION SYDNEY TOUR. Divya Nalla Raja Kandasamy RajaShekar Donti Ren Zhu Sadah Omar Sulaiman
Sérgio Ronaldo Barros dos Santos (ITA-Brazil)
CHRONOS-CONTROL COMPUTER CONTROL USING TI CHRONOS Cihat Keser Yeditepe University
Robot sensors MVRT 2010 – 2011 season. Analog versus Digital Analog Goes from 0 to 254 Numerous values Similar to making waves because there are not sudden.
Karman filter and attitude estimation Lin Zhong ELEC424, Fall 2010.
IMPROVE THE INNOVATION Today: High Performance Inertial Measurement Systems LI.COM.
CS378 - Mobile Computing Sensing and Sensors Part 2.
Centre for Mechanical Technology and Automation Institute of Electronics Engineering and Telematics  TEMA  IEETA  Simulation.
Bianca Wood Chris Culver Shane Parker Yousef Al-Khalaf.
INS: Inertial Navigation Systems An overview of 4 sensors.
Using Xcode A Beginner’s Tutorial Erin Green. This tutorial will walk you through Xcode, a software development tool for Apple’s iOS applications – We.
Inertial Navigation System Overview – Mechanization Equation
INEMO™ Demonstration Kit DOF (Degrees of Freedom) platform  The STEVAL-MKI062V2 combines accelerometers, gyroscopes and magnetometers with pressure.
Method determinate angle of rotation of an IMU application for UAV Trinh Dinh Quan Southern TaiWan University.
Touchdevelop api api gyroscope measure device rotation rate Disclaimer: This document is provided “as-is”. Information and views expressed in this document,
Source: Computer Vision and Pattern Recognition Workshops (CVPRW), 2010 IEEE Computer Society Conference on Author: Paucher, R.; Turk, M.; Adviser: Chia-Nian.
ADCS Review – Attitude Determination Prof. Der-Ming Ma, Ph.D. Dept. of Aerospace Engineering Tamkang University.
Real-Time Simultaneous Localization and Mapping with a Single Camera (Mono SLAM) Young Ki Baik Computer Vision Lab. Seoul National University.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Monday, August 31, 2012 CSCI 333 – Systems Programming.
Sensors in android. App being more applicable Keeping track of your heart beat while jogging. Pointing the phone camera towards the night sky to know.
Current Works Corrected unit conversions in code Found an error in calculating offset (to zero sensors) – Fixed error, but still not accurately integrating.
Objective: To develop a fully-autonomous control system for the Q-ball based on onboard IMU/Magnetometer/Ultrasound sensory information Summer Internship.
A CCELEROMETER. Accelerometers are devices that can measure acceleration, but in smartphones, they're able to detect changes in orientation and tell the.
Quadcopters A CEV Talk. Agenda Flight PreliminariesWhy Quadcopters The Quadcopter SystemStability: The NotionSensors and FusionControl AlgorithmsThe Way.
Andrew Grant.  Flight Objectives  Instruments  Data  Conclusions  Future Goals.
Sensors For Mobile Phones  Ambient Light Sensor  Proximity Sensor  GPS Receiver Sensor  Gyroscope Sensor  Barometer Sensor  Accelerometer Sensor.
Critical Design Review University of Utah Engineering Clinic December 8,2009.
End effector End effector - the last coordinate system of figure Located in joint N. But usually, we want to specify it in base coordinates. 1.
Understanding Mobile Devices, Interactions, and Tools Lesson 1.
Accelerometer based motion gestures for mobile devices Presented by – Neel Parikh Advisor Committee members Dr. Chris Pollett Dr. Robert Chun Dr. Mark.
Google earth controlled by arduino. Google earth controlled by Arduino Arduino UNO 3 axis Accelerometers Press sensor Hardware VS2008 Google earth common.
CPE 490/590 – Smartphone Development
PDF to EPUB Converter ▪ PDF to iPad software facilitates your reading PDF on iPad without any hassle.PDF to iPad ▪ PDF to iTouch EPUB program makes it.
Chapter 8 Sensors and Camera. Figure 08.01: The Accelerometer can gauge the orientation of a stationary device.
Android Android Sensors Android Sensors: – Accelerometer – Gravity sensor – Linear Acceleration sensor – Magnetic Field sensor – Orientation.
By Sanjay and Arvind Seshan
VEX IQ Curriculum Smart Machines Lesson 09 Lesson Materials:
The world’s most advanced mobile platform
3D Tetris Game on Android OS
IOS Development Atanas Dobrev.
GPS + Inertial Sensor Fusion
Mobile Handset Sensors
 Method 1: Close all of your unnecessary third-party software installed in the device  Sometimes, this error problem may occur in iPhone, iPad or iPod.
Inertial Measurement Unit (IMU) Basics
IMAGE BASED VISUAL SERVOING
Android Topics Sensors Accelerometer and the Coordinate System
In the land of the blind, the one eyed man is king
VIRTUAL ENVIRONMENT.
Presentation transcript:

Get Moving With Core Motion! Jonathan Blocksom Tuesday Sept 28 2010 2:00 – 3:15 PM http://www.slideshare.net/jblocksom/core-motion-presentation

Agenda Intro SDK Experiments Q & A Intro level, but lots of code

About Me Jonathan Blocksom blocksom@gollygee.com augmentedjonathan.tumblr.com @jblocksom Computer Vision Software Engineer, SET Corp Computer Graphics background Several years working with Remote Sensing

Meet Core Motion! Core Motion Framework: High level interface to the orientation and movement data from the device Based on Accelerometer and Gyroscopes Acceleration, Gravity, Rotational Acceleration High level filtering

Core Motion isn’t… For GPS data For Compass data That’s Core Location (LocationManager) For Compass data Also Core Location High Level Motion Events Orientation change Shake events Perfect

Quick Demo CoreMotionTeapot (WWDC 2010 sample code)

Accelerometer Available since iPhone 1 Consider it a “Gravity Detector” Noisy iPad, iPhone 4: STMicro STM33DH 3-axis accelerometer Photo by David Hodson http://www.ifixit.com/Guide/Image/meta/IP1qEpYFQSSqwSbg

Gyroscopes New in iPhone 4, iPod Touch 4 Detects rotation rate along three axis Chip datasheet: http://www.st.com/stonline/products/literature/ds/17116.pdf 200/500/2500 dps (degrees per second) 0.03 dps error

Gyro Teardown http://www.ifixit.com/Teardown/iPhone-4-Gyroscope-Teardown/3156/1 Andrew Bookholt: http://www.ifixit.com/Guide/Image/meta/UurGsklhtJRW2uuB (left) http://www.ifixit.com/Guide/Image/meta/MeunHawo54qPRY5S (right 1) Miroslav Djuric http://www.ifixit.com/Guide/Image/meta/RUQLo2PP1oqVtVsD (right 2)

Accelerometer, Gyro & Device Motion Gravity User acceleration Attitude Rotation Rate x, y, z yaw, pitch, roll

Supported Devices Yay! If we must… No. iPhone 1 iPhone 3G iPhone 3GS iPod Touch iPod Touch 4 iPad Accelerometer Y Gyros iOS 4 Yay! If we must… No. iPhone 4 iPod Touch 4 iPhone 3GS iPod Touch iPad w/ iOS 4 iPhone 1 iPad iOS 3.x

Classes Class Description CMMotionManager The Gateway CMAccelerometerData Acceleration data X, Y, and Z relative to device In G’s CMAttitude Orientation Roll, Pitch, Yaw Rotation Matrix Quaternion CMDeviceMotion Roll up of sensors Differentiates gravity from user acceleration CMGyroData Rotational Velocity CMLogItem Timestamped Measurement Parent Class for measurements

CMMotionManager Tells you what’s available Sets the update intervals is<Acclerometer|DeviceMotion|Gyro>Available Sets the update intervals set<…>UpdateInterval Starts and stops updates start<…>Updates start<…>UpdatesToQueue:withHandler: stop<…>Updates Lets you poll for updates accelerometerData gyroData deviceMotion

CMMotionManager CMMotionManager *mgr = [[CMMotionManager alloc] init]; Initializes reference frame at construction Only make one of these for your app

Core Motion Coordinate System Quick Reference yaw z pitch x roll y Accelerometer Gyroscopes

CMAccelerometerData acceleration CMAcceleration struct: typedef struct { double x; double y; double z; } CMAcceleration; Measured in G’s

CMGyroData YAGNI Gyro’s have bias; DeviceMotion fusion algorithms remove this Get orientation from DeviceMotion instead

CMDeviceMotion CMAttitude attitude CMRotationRate rotationRate CMAcceleration gravity CMAcceleration userAcceleration

DEMO MacCMViewer CMIPViewer Source code available: http://bitbucket.org/jblocksom/coremotionviewer

MacCMView: What’s Going On? Mac opens socket; iPhone connects iPhone sends CM updates to Mac Mac uses rotation matrix for display From CMAttitude

CMAttitude Rotation as multiplyByInverseOfAttitude: Yaw, Pitch, Roll Quaternion Rotation Matrix multiplyByInverseOfAttitude:

Why Quaternions? Great technique for representing rotations Mutiplying q1 and q2 is composing rotations Can easily pull out axis / angle Avoids “Gimbal Lock” http://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation is a pretty good treatment Graphics Gems textbooks Wikipedia rant – great for Epipolar Geometry, terrible for Quaternions

multiplyByInverseOfAttitude: Teapot Demo revisited

Core Motion in Simulator Accelerometer: Not available Gyros: Not available Device Motion: Not available Workaround thoughts…

Final Steps: App Requirements Add UIRequiredDeviceCapabilities for accelerometer gyro Not needed for orientation / shake events See Event Handling Guide, “Setting Required Hardware Capabilities for Accelerometer and Gyroscope Events”

Experiments iPhone 3GS vs iPhone 4 Intertial Navigator Salad Spinner

Further Reading Event Handling Guide for iPhone OS Look under “Motion Events” Section titled “Core Motion” Core Motion framework reference Sample Code WWDC ’10: CoreMotionTeapot iPhone Sensor Group?