Inertial Measurement Unit IMU Basics IMU Inertial Measurement Unit Accelerometer Gyroscope Magnetometer Compass Acceleration along 3 axes Rotation speed around 3 axes Direction of magnetic north ID: 763996
Download Presentation The PPT/PDF document "Inertial Measurement Unit (IMU) Basics" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Inertial Measurement Unit (IMU) Basics
IMU (Inertial Measurement Unit) Accelerometer Gyroscope Magnetometer (Compass) Acceleration along 3 axes Rotation speed around 3 axes Direction of magnetic north { } { , } Popular since they are inexpensive, small, and power efficient Can be embedded inside any object to enable intelligence
Accelerometer
Accelerometer output under motion Accelerometer output under rest is non-zero. It measures g Basic model (1D) Smartphone accelerometers are tri-axial – can measure 3D acceleration Accelerometers measure sum of acceleration due to motion and gravity Accelerometer measures
Accelerometer under free fall
G = 9.8 m/s2 Zero Accelerometer measures ZERO in free fall
Measuring linear motion (1D) Need to subtract gravity to obtain acceleration due to motion Error accumulates dramatically with time Hardware noise
Subtraction of gravity non-trivial in 2D or 3D
Subtraction of gravity in 2D y x g 1D equation 2D equations (y axis pointing upwards)
Subtraction of gravity in 2D y x g 1D equation We need to know the the orientation to subtract gravity 2D equations (y axis pointing upwards) 2D equations (arbitrary rotation of phone) Inaccurate orientation will not eliminate gravity, resulting in errors (which accumulate over time)
An interesting idea Suppose the phone is at rest, then Accelerometer is an orientation sensor!! However accelerometer alone is not sufficient if we need 3D orientation, more later .. 2D equations (arbitrary rotation of phone) Need the accelerometer to be at rest to estimate rotation
Accelerometer to measure distance Double integration fails dramatically – However, accelerometer is good in tracking steps Steps Distance = step_count * step_size Combining distance estimates with compass directions, we can dead reckon
Accelerometer Measures gravity + linear acceleration When static, gravity measurement can be used to sense orientation Double integrating accelerometer will accumulate error dramatically, step counting is reasonable
Magnetometer
Measures magnetic north (2D example) y x Consider a 2D example Magnetic north
Measures magnetic north (2D example) y x Suppose, phone rotates in 2D by an angle Magnetic north Magnetometer can be used to sense the orientation 3D magnetometer output depends on phone orientation The same concept generalizes to 3D, However, in 3D magnetometer alone is insufficient to determine the orientation
3D orientation
18 Foundations of 3D Orientation X Y Z East North Up Global Frame Local Frame
19 Consider a phone in random orientation X Y Z East North Up 3D Orientation captures the misalignment between global and local frames
20 Rotation Matrix X Y Z East North Up = R is the 3x3 Rotation Matrix Rotation Matrix R In global frame In local frame 3x3 Rotation matrix captures the full 3D orientation
How can we estimate rotation matrix? Key idea use globally known reference vectors which can also be measured in the local frame of referenceGravity Magnetic North
= Rotation Matrix R = Rotation Matrix R Gravity equation 6 equations and 9 unknowns (3x3 rotation matrix) can we solve ? Yes, these 9 unknowns are all not independent (rotation matrix satisfies special properties) It does not change length of a vector Columns are orthogonal unit vectors The above 6 equations are sufficient to solve the rotation matrix Accelerometer and Magnetometer can be used to determine the rotation matrix (3D orientation) Gravity globally known, measurable in local frame with accelerometer Magnetic north, globally known, measurable in local frame with magnetometer
Decomposing the rotation matrix 3x3 Rotation Matrix R = X Y Z yaw pitch roll Orientation can be represented as 3D yaw, pitch, roll Estimating yaw, pitch, roll will determine the orientation
Accelerometer equation = Rotation Matrix R
Accelerometer equation = Rotation Matrix R Accelerometer output does not depend on yaw! Hence, yaw cannot be estimated using accelerometer
Accelerometer equation The above equations estimate pitch and roll = Rotation Matrix R
Magnetometer equation = Rotation Matrix R
Magnetometer equation Pitch, roll known from accelerometer yaw, pitch, roll together determine the rotation matrix (3D orientation) of a system = Rotation Matrix R Unknown yaw can be determined from above equations
Gyroscope
Measures angular velocity 1D example Error accumulates over time Error Time
3D rotation estimation with gyroscope Rotation Matrix R(t+1) Rotation Matrix R(t) dR : 3x3 Matrix (from Gyroscope) 3D angular velocity Captures relative rotation between two times
3D rotation estimation with gyroscope Rotation Matrix R(t+N-1) Rotation Matrix R(t) dR (t) 3x3 dR (t+1) 3x3 dR (t+N-1) 3x3 …… dRs have errors Error accumulates with time with gyroscope integration Gyroscope Measurements
Using gyroscope Error accumulates Using accelerometer and compass Big advantage: No error accumulation ( since there is no integration involved)Accelerometer’s gravity measurement can be corrupted with linear motionAccelerometer can measure orientation only when the phone is static Magnetometer is susceptible to electromagnetic interference Error Time Summary: two ways to measure orientation
Recall UnLoc
Can we correct gyro drift using accelerometer/magnetometer like UnLoc
High level idea to combine the two Use gyroscope to track orientation in general Errors will accumulate (drift) Reset errors with accelerometer/magnetometer (When the phone is static and no magnetic interference) Error Time Gyro Gyro + Magn + Accl