Closing the Gaps in Inertial Motion Tracking

Slides:



Advertisements
Similar presentations
Navigation Fundamentals
Advertisements

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.
“Mapping while walking”
Pedestrian Localization for Indoor Environments OliverWoodman, Robert Harle Helen 2009/8/24.
Chapter 5 Force and Motion (I) Kinematics vs Dynamics.
Circular Motion and Other Applications of Newton’s Laws
1/53 Key Problems Localization –“where am I ?” Fault Detection –“what’s wrong ?” Mapping –“what is my environment like ?”
Overview and Mathematics Bjoern Griesbach
An INS/GPS Navigation System with MEMS Inertial Sensors for Small Unmanned Aerial Vehicles Masaru Naruoka The University of Tokyo 1.Introduction.
Sérgio Ronaldo Barros dos Santos (ITA-Brazil)
Intro to Inertial Elecia White Logical Elegance, Inc.
Karman filter and attitude estimation Lin Zhong ELEC424, Fall 2010.
IMPROVE THE INNOVATION Today: High Performance Inertial Measurement Systems LI.COM.
Inertial Navigation System Overview – Mechanization Equation
Practice Problems A duck flying due east passes over Atlanta, where the magnetic field of the Earth is 5.0 x 10-5 T directed north. The duck has a positive.
Source: Computer Vision and Pattern Recognition Workshops (CVPRW), 2010 IEEE Computer Society Conference on Author: Paucher, R.; Turk, M.; Adviser: Chia-Nian.
1 Motion estimation from image and inertial measurements Dennis Strelow and Sanjiv Singh Carnegie Mellon University.
A bar magnet is spinning clockwise as viewed from a position south of the magnet, about a horizontal, north-south axis that is perpendicular to, and passes.
EE 495 Modern Navigation Systems Inertial Sensors Monday, Feb 09 EE 495 Modern Navigation Systems Slide 1 of 19.
EE 495 Modern Navigation Systems
Current Works Determined drift during constant velocity test caused by slight rotation which results in gravity affecting accelerometers Analyzed data.
Slide 1Fig 29-CO, p.895. Slide 2  The direction of the magnetic field B at any location is the direction in which a compass needle points at that location.
Objective: To develop a fully-autonomous control system for the Q-ball based on onboard IMU/Magnetometer/Ultrasound sensory information Summer Internship.
EE 495 Modern Navigation Systems
Forces on Current Carrying Wires in Magnetic Fields Chapter 19 Herriman High School - AP Physics 2.
The Cricket Compass for Context-Aware Mobile Applications
EE 495 Modern Navigation Systems Inertial Sensors Wed, Feb 17 EE 495 Modern Navigation Systems Slide 1 of 18.
Physics and Forces Dynamics Newton’s Laws of Motion  Newton's laws are only valid in inertial reference frames:  This excludes rotating and accelerating.
EE 495 Modern Navigation Systems
CHAPTER 8 Sensors and Camera. Chapter objectives: Understand Motion Sensors, Environmental Sensors and Positional Sensors Learn how to acquire measurement.
1 Motion estimation from image and inertial measurements Dennis Strelow and Sanjiv Singh Carnegie Mellon University.
EE 495 Modern Navigation Systems INS Error Mechanization Mon, March 21 EE 495 Modern Navigation Systems Slide 1 of 10.
Dynamics The branch of physics involving the motion of an object and the relationship between that motion and other physics concepts Kinematics is a part.
Dynamics: Newton’s Laws of Motion
Robot control based on human motion analysis with IMU measurements
Inertial & Non-Inertial Frames
Sensors Fusion for Mobile Robotics localization
Projectile Motion October 4, 2016.
Equilibrium of Rigid Bodies
Dynamics: Newton’s Laws of Motion
Vector Resolution and Projectile Motion
Map for Easy Paths GIANLUCA BARDARO
API for Mobile Devices.
Motion in 2D (Projectiles!!) Test Friday October 7th
Dead Reckoning, a location tracking app for Android™ smartphones Nisarg Patel Mentored by Adam Schofield and Michael Caporellie Introduction Results (cont.)
Florian Shkurti, Ioannis Rekleitis, Milena Scaccia and Gregory Dudek
Autonomous Cyber-Physical Systems: Sensing
Physics: Principles with Applications, 6th edition
Circular Motion and Other Applications of Newton’s Laws
GG 450 February 19, 2008 Magnetic Anomalies.
Inertial Measurement Unit (IMU) Basics
Chapter 5 Force and Motion.
Inertial Measurement Units
Last Time: Vectors Introduction to Two-Dimensional Motion Today:
Earth and its coordinates
Enough trees have died already. download from Monday on…
Physics: Principles with Applications, 6th edition
Chapter 4 Linear Motion Pages
Android Topics Sensors Accelerometer and the Coordinate System
Gold: Important concept. Very likely to appear on an assessment.
Magnetic Fields and Forces
More Electric Fields Physics 1220 Lecture 3.
Magnetic Fields and Forces
Chapter 4 . Trajectory planning and Inverse kinematics
Physics: Principles with Applications, 6th edition
Human Gait Analysis using IMU Sensors
Nome Sobrenome. Time time time time time time..
Vector Operations Unit 2.3.
Presentation transcript:

Closing the Gaps in Inertial Motion Tracking Sheng Shen, Mahanth Gowda, Romit Roy Choudhury

Inertial Measurement Unit (IMU) Accelerometer Gyroscope Magnetometer

Inertial Measurement Unit (IMU) Accelerometer Gyroscope Magnetometer

Wide applications in motion tracking Inertial Measurement Unit (IMU) Accelerometer Gyroscope Magnetometer Wide applications in motion tracking

Lot of work in inertial motion tracking 3D Trajectory IMU Data Motion Tracking Algorithm Open problem in mobile computing

Lot of work in inertial motion tracking 3D Trajectory IMU Data Motion Tracking Algorithm Open problem in mobile computing This paper doesn’t solve it either … however, makes progress

Lot of work in inertial motion tracking 3D Trajectory IMU Data Motion Tracking Algorithm Open problem in mobile computing This paper doesn’t solve it either … however, makes progress Am struggling to explain our algorithm … so will start from scratch

One Prerequisite Slide: Rotation Matrices Rotation is a function Y: 0 1 90° X: 0 1 Y: −1 0 𝑅𝑜𝑡 90° = = X: 1 0 Mathematically, rotation is a matrix cos 90° − sin 90° sin 90° cos 90° 1 0 0 1 = 0 −1 1 0 Same for 3D Rotation 3×3 Rotation Matrix =

MUSE: Our Goal is 3D Localization Map Initial Location Algorithm 3D Trajectory IMU = Accel + Gyro + Mag

Let’s Understand the Inputs 𝑥 0 𝑦 0 𝑧 0 𝑇 Initial Location Algorithm IMU = Accel + Gyro + Mag Zoom into IMU data: Accel. = 𝑎 𝑥 𝑎 𝑦 𝑎 𝑧 Gyro. = 𝑔 𝑥 𝑔 𝑦 𝑔 𝑧 Mag. = 𝑚 𝑥 𝑚 𝑦 𝑚 𝑧 (Linear Acceleration) (Angular Velocity) (Earth’s Magnetic North) Delta rotation in unit time

Can we solve localization with these inputs? 𝑥 0 𝑦 0 𝑧 0 𝑇 Initial Location ? 𝑥 𝑡 𝑦 𝑡 𝑧 𝑡 Algorithm IMU = Accel + Gyro + Mag

Accel. = 𝑎 𝑥 𝑎 𝑦 𝑎 𝑧 is in local reference frame One possibility is: 𝑥 0 𝑦 0 𝑧 0 𝑇 Initial Location 𝑥 0 𝑦 0 𝑧 0 + 0 𝑡 𝐴𝑐𝑐𝑒𝑙. 𝑑𝑡 2 𝑥 𝑡 𝑦 𝑡 𝑧 𝑡 Accel., Gyro., Mag. IMU Accel. = 𝑎 𝑥 𝑎 𝑦 𝑎 𝑧 is in local reference frame But there is one BIG problem:

Accel. = 𝑎 𝑥 𝑎 𝑦 𝑎 𝑧 is in local reference frame But there is one BIG problem:

Accel. = 𝑎 𝑥 𝑎 𝑦 𝑎 𝑧 is in local reference frame But there is one BIG problem: As an analogy Map New Delhi Airport What is Frontwards Rightwards Upwards w.r.t. the earth? 3D Trajectory Accelerating 𝑎 𝑥 : Frontwards 𝑎 𝑦 : Rightwards 𝑎 𝑧 : Upwards

This makes orientation necessary

This makes orientation necessary What is 3D orientation? Orientation is the 3D rotation needed to make: Plane’s Own Frontwards Rightwards Upwards Northwards Eastwards Vertical Front Up Right

This makes orientation necessary What is 3D orientation? Orientation is the 3D rotation needed to make: Plane’s Own Frontwards Rightwards Upwards Northwards Eastwards Vertical Up: Vertical Front: North Right: East

What we need to do is: So, how will orientation solve the problem? + Initial Location 𝑥 𝑡 𝑦 𝑡 𝑧 𝑡 + Accel. Accel. 𝑡 3D Orient. IMU (Global) Gyro. IMU (Local) Mag. So 3D orientation is the key.

So how to get 3D orientation? 2 Main Opportunities: 1. Gravity 2. Magnetic North Both measurable by IMU Key idea: What rotation is needed such that Gravity is exactly in my downward direction North is exactly in my frontward direction

So how to get 3D orientation? Key idea: What rotation is needed such that Gravity is exactly in my downward direction North is exactly in my frontward direction

So how to get 3D orientation? Key idea: What rotation is needed such that Gravity is exactly in my downward direction North is exactly in my frontward direction 3×3 Rotation Matrix 𝑎 𝑥 𝑎 𝑦 𝑎 𝑧 = 0 0 −9.8 Tilt is determined (2 out of 3 DoFs) Gravity says a lot about orientation, but not sufficient Gravity Downward

So how to get 3D orientation? Key idea: What rotation is needed such that Gravity is exactly in my downward direction North is exactly in my frontward direction 3×3 Rotation Matrix 𝑎 𝑥 𝑎 𝑦 𝑎 𝑧 = 0 0 −9.8 Tilt + Heading is determined (all 3 DoFs) 3×3 Rotation Matrix 𝑎 𝑥 𝑎 𝑦 𝑎 𝑧 𝑚 𝑥 𝑚 𝑦 𝑚 𝑧 = 0 0 −9.8 0 100 0 My orientation North Frontward

Only when object is static … but not otherwise. Why? So is Gravity + North enough to get 3D Orientation? Only when object is static … but not otherwise. Why?

polluting the gravity estimate So is Gravity + North enough to get 3D Orientation? Only when object is static … but not otherwise. Why? Because any motion of the object will reflect in the accelerometer … thereby polluting the gravity estimate

Another Idea for Orientation: So how to get 3D orientation? (Another idea) Another Idea for Orientation: Integrate angular velocity from gyro Initial Orientation 0 𝑡 𝐺𝑦𝑟𝑜. 𝑑𝑡 New Orientation + = (at time t) But gyro drifts, so only useful in short time scales

Always know 3D orientation State of the art today: Sensor Fusion Static Moving Static Moving Static Moving Time Rely mostly on gravity + North Rely mostly on gyro integration …… Always know 3D orientation

Getting back to our goal Initial Location 𝑥 𝑡 𝑦 𝑡 𝑧 𝑡 + Location Accel. Y 3D Orient. IMU (Local) Static? Accel. Mag. 𝑡 IMU (Global) N Gyro. 3D Orient.

Main take away: Gravity is the main anchor for 3D orientation Getting back to our goal Initial Location 𝑥 𝑡 𝑦 𝑡 𝑧 𝑡 + Location Accel. Y 3D Orient. IMU (Local) Static? Accel. Mag. 𝑡 IMU (Global) N Gyro. 3D Orient. Main take away: Gravity is the main anchor for 3D orientation

But what if object is not often static This paper: MUSE

MUSE = Estimate 3D Orientation even for moving object What does MUSE do? MUSE = Estimate 3D Orientation even for moving object Static Moving Static Moving Time Use magnetometer as our main anchor Joint estimation of orientation and location

MUSE = Estimate 3D Orientation even for moving object What does MUSE do? MUSE = Estimate 3D Orientation even for moving object Static Moving Static Moving Time Use magnetometer as our main anchor Joint estimation of orientation and location

Earth’s North Pole Earth’s South Pole From: Wikipedia

Magnetic Field Direction on Earth Surface Earth’s North Pole Magnetic Field Direction on Earth Surface Earth’s South Pole From: Wikipedia

Global Reference Frame Earth’s Magnetic Field as Main Anchor Z: Up Global Reference Frame Y: North X: East Magnetic Field Direction

Earth’s Magnetic Field as Main Anchor This vector is not influenced by motion! Let’s make it our main anchor North Horizontal Plane Magnetic Field Direction

Earth’s Magnetic Field as Main Anchor 3×3 Rotation Matrix 𝑚 𝑥 𝑚 𝑦 𝑚 𝑧 = 𝐸𝑎𝑟𝑡ℎ 𝑀𝑎𝑔. 𝑥 𝐸𝑎𝑟𝑡ℎ 𝑀𝑎𝑔. 𝑦 𝐸𝑎𝑟𝑡ℎ 𝑀𝑎𝑔. 𝑧 Main Anchor Magnetic Field Direction

Earth’s Magnetic Field as Main Anchor 3×3 Rotation Matrix 𝑚 𝑥 𝑚 𝑦 𝑚 𝑧 = 𝐸𝑎𝑟𝑡ℎ 𝑀𝑎𝑔. 𝑥 𝐸𝑎𝑟𝑡ℎ 𝑀𝑎𝑔. 𝑦 𝐸𝑎𝑟𝑡ℎ 𝑀𝑎𝑔. 𝑧 Three questions: What does it say about my orientation? Magnetometer’s resolution is low … How to know x, y, z of earth magnetic field?

Earth’s Magnetic Field as Main Anchor 3×3 Rotation Matrix 𝑚 𝑥 𝑚 𝑦 𝑚 𝑧 = 𝐸𝑎𝑟𝑡ℎ 𝑀𝑎𝑔. 𝑥 𝐸𝑎𝑟𝑡ℎ 𝑀𝑎𝑔. 𝑦 𝐸𝑎𝑟𝑡ℎ 𝑀𝑎𝑔. 𝑧 Three questions: What does it say about my orientation? Magnetometer’s resolution is low … How to know x, y, z of earth magnetic field?

Actual vs. Inferred Measurement Y: Front Y: Front Z: Outward Z: Outward [Local] [Local] X: Right X: Right 𝒗 𝑚𝑒𝑎𝑠𝑢𝑟𝑒 𝒗 𝑖𝑛𝑓𝑒𝑟 Actual Measurement (from magnetometer) Inferred Measurement (inferred from orientation estimation)

Actual vs. Inferred Measurement Y: Front Y: Front Z: Outward Z: Outward [Local] [Local] X: Right X: Right 𝒗 𝑚𝑒𝑎𝑠𝑢𝑟𝑒 and 𝒗 𝑖𝑛𝑓𝑒𝑟 are equal, if our orientation is estimated perfectly … 𝒗 𝑚𝑒𝑎𝑠𝑢𝑟𝑒 𝒗 𝑖𝑛𝑓𝑒𝑟 Actual Measurement (from magnetometer) Inferred Measurement (inferred from orientation estimation)

Actual vs. Inferred Measurement Y: Front Z: Outward [Local] X: Right 𝒗 𝑚𝑒𝑎𝑠𝑢𝑟𝑒 𝒗 𝑖𝑛𝑓𝑒𝑟 2-DoF Orientation Drift == How off 𝒗 𝑖𝑛𝑓𝑒𝑟 is from 𝒗 𝑚𝑒𝑎𝑠𝑢𝑟𝑒

Actual vs. Inferred Measurement Y: Front Z: Outward ∆ 𝑜𝑟𝑖𝑒𝑛𝑡 [Local] X: Right 𝒗 𝑚𝑒𝑎𝑠𝑢𝑟𝑒 𝒗 𝑖𝑛𝑓𝑒𝑟 2-DoF Orientation Drift == How off 𝒗 𝑖𝑛𝑓𝑒𝑟 is from 𝒗 𝑚𝑒𝑎𝑠𝑢𝑟𝑒

Actual vs. Inferred Measurement Y: Front Z: Outward ∆ 𝑜𝑟𝑖𝑒𝑛𝑡 [Local] X: Right 𝒗 𝑚𝑒𝑎𝑠𝑢𝑟𝑒 𝒗 𝑖𝑛𝑓𝑒𝑟 New Orientation = Old Orientation + ∆ 𝑜𝑟𝑖𝑒𝑛𝑡

Actual vs. Inferred Measurement New Orientation = Old Orientation + ∆ 𝑜𝑟𝑖𝑒𝑛𝑡 Gyroscope: Orientation(t) = Orientation(t-1) + ∆𝑡 𝑔𝑦𝑟𝑜. 𝑑𝑡 Magnetometer: Orientation(t) = Orientation(t) + 0.01∗ ∆ 𝑜𝑟𝑖𝑒𝑛𝑡

Earth’s Magnetic Field as Main Anchor 3×3 Rotation Matrix 𝑚 𝑥 𝑚 𝑦 𝑚 𝑧 = 𝐸𝑎𝑟𝑡ℎ 𝑀𝑎𝑔. 𝑥 𝐸𝑎𝑟𝑡ℎ 𝑀𝑎𝑔. 𝑦 𝐸𝑎𝑟𝑡ℎ 𝑀𝑎𝑔. 𝑧 Three questions: What does it say about my orientation? Magnetometer’s resolution is low … How to know x, y, z of earth magnetic field?

Known when object is static Earth’s Magnetic Field as Main Anchor How to know x, y, z of earth magnetic field? Obtain GPS address and check the database is one option … A easier way is to utilize pause opportunities 𝐸𝑎𝑟𝑡ℎ 𝑀𝑎𝑔. 𝑥 𝐸𝑎𝑟𝑡ℎ 𝑀𝑎𝑔. 𝑦 𝐸𝑎𝑟𝑡ℎ 𝑀𝑎𝑔. 𝑧 = 3×3 Rotation Matrix 𝑚 𝑥 𝑚 𝑦 𝑚 𝑧 Known when object is static

Evaluation

Comparison Baselines GyroOnly Only uses gyroscope integration, assuming initial orientation is known ComplemFilter (Option 1) Use low-pass filter on acceleration A3 (Option 2) Calibrate using “good” opportunities MUSE Our algorithm Ground Truth: Periodically bringing the phone to the same orientation, and excluding those moments from calibration opportunities

Natural Activities

A Sample Trace

OK, we have 3D Orientation now… how to estimate location?

OK, we have 3D Orientation now… how to estimate location? Initial Location 𝑥 𝑡 𝑦 𝑡 𝑧 𝑡 + Accel. Accel. 𝑡 3D Orient. IMU (Global) Gyro. IMU (Local) Mag.

OK, we have 3D Orientation now… how to estimate location? Initial Location 𝑥 𝑡 𝑦 𝑡 𝑧 𝑡 + Accel. Accel. 𝑡 3D Orient. IMU (Global) Gyro. IMU (Local) Mag. Localization impossible if accelerometer has any noise … why?

Motion models can bound location error Initial Location 𝑥 𝑡 𝑦 𝑡 𝑧 𝑡 + Accel. Accel. 𝑡 3D Orient. IMU (Global) Gyro. IMU (Local) Mag.

Motion models can bound location error Initial Location 𝑥 𝑡 𝑦 𝑡 𝑧 𝑡 + Accel. Accel. 𝑡 3D Orient. IMU (Global) Gyro. IMU (Local) Mag. Motion model as priors

jointly estimate both { orientation + location } MUSE uses this motion model to jointly estimate both { orientation + location } Initial Location 𝑥 𝑡 𝑦 𝑡 𝑧 𝑡 + Accel. Accel. 𝑡 3D Orient. IMU (Global) Gyro. IMU (Local) Mag. Motion model as priors

jointly estimate both { orientation + location } MUSE uses this motion model (in a particle filter) to jointly estimate both { orientation + location } Initial Location 𝑥 𝑡 𝑦 𝑡 𝑧 𝑡 + Accel. Accel. 𝑡 3D Orient. IMU (Global) Gyro. IMU (Local) Mag. Motion model as priors

OK, we have 3D Orientation now… how to estimate location? Initial Location 𝑥 𝑡 𝑦 𝑡 𝑧 𝑡 + Accel. Accel. 𝑡 3D Orient. IMU (Global) Gyro. IMU (Local) Mag. Motion model as priors

MUSE Localization Error Fits motion model the best (cm) Motion model breaks

Conclusion Conventional Systems This paper Use magnetometer as a new “gravity” sensor Orientation Joint estimation of orientation and location Location