User Tools

Site Tools


projects:robots:inertial_navigation_system

This is an old revision of the document!


Inertial Navigation System (INS)

INS Intertial Navigation System - Sensors, processors, and software to estimate position.

3D cartesian space - a cube, 3 dimensions: x,y,z

A vehicle exists in 3D cartesian space. It can be measured in three dimensions, such as width, height, and depth.

The movement of a vehicle can also be measured in 3 dimensions: x, y, and z.

  • The x-axis runs the length of the vehicle, from nose to tail.
  • The y-axis runs from side to side, from wingtip to wingtip.
  • The z-axis runs up and down, from the center of the earth on up.

Motion sensors measure the movement of a vehicle along the three axes.

  • accelerometer - measures linear motion along an axis.
  • gyroscope - measures rotational motion around an axis.
  • magnetometer - measures the strength of the magnetic fields operating on a vehicle.
  • barometer/altimeter - measures air pressure, which can be used to calculate altitude above sea level.

Inertial Measurement Unit (IMU)

A collection of 3 accelerometers and 3 gyroscopes. This device gives us six numbers: linear motion along each of the x,y,z axes, and rotational motion around each of the x,y,z axes. This gives us the complete picture of inertial motion of the vehicle.

It is not enough to measure motion. We also need to know our current position, or orientation, or attitude.

Imagine we experienced an acceleration along the x-axis for two seconds. During that two seconds we went from standing still to moving upwards at 8 meters per second squared. Now where are we

???? does the accelerometer measure acceleration or motion ?

3 types of accelerometer: mems, piezo electric, piezo resistive https://youtu.be/To7JagpPDwY

velocity vs acceleration

linear velocity: meters per second linear acceleration: meters per second squared

angular velocity: radians per second angular acceleration:

rotation velocity: hertz, cycles per second

movement relative to the earth's magetic field

o Sensors

motion sensors

accelerometer

gyroscope

IMU - Inertial Measurement Unit -

AHRS

AHRS - Attitude and Heading Reference System -

Attitude - the orientation of a vehicle in cartesian space. Pitch, roll, yaw.

Heading - the direction a vehicle is facing, the x-axis, in compass degrees.

Dead reckoning - estimate current position of a vehicle by keeping track of changes in speed and direction over time.

IMU Kalman Filter, a type of sensor fusion Low Pass Filter GPS - 1 meter accuracy at best, 3 meter average in position. No heading info. Sensor Fusion DMP

RTK - two gps: base station plus rover, triangulate, to get position with 1 cm accuracy Compassing - two gps to get heading

Odometer - wheel odometer Cameras Lidar

IMU - 3×3 sensors AHRS - use kalman filter to fuse sensor data and output roll, pitch, and yaw INS - add gps input and dead reckoning to the Kalman Filter, for position and heading

Commercial company, explaining sensor types intermd of their product offering https://youtu.be/4CZQQ0VLCG8?si=CiCEKmKsOqWOa6bP

Hideakitai library, esp32 + mpu9250 for heading output https://github.com/hideakitai/MPU9250

9250 obsolete, replace with ICM-20948 https://youtu.be/Oen3HqUbctM?si=3UnWGo-XOvs3ZwCZ

video by very creepy guy using adafruit bno055, but no compass heading, source code on screen but not downloadable https://www.youtube.com/watch?v=uJVzkl73A74

quaternion

  4 numbers, 0 to 1, w,x,y,z

euler angles

  3 numbers, 0 to 360, x,y,z, pitch, roll, yaw
  susceptible to gimbal lock at 90 degrees
  over 45 degrees, not so smooth

sparkfun 9dof imu https://learn.sparkfun.com/tutorials/sparkfun-9dof-imu-icm-20948-breakout-hookup-guide library for arduino https://github.com/sparkfun/SparkFun_ICM-20948_ArduinoLibrary/archive/main.zip

Kris Winer, see github examples for MPU9250

In general, start search in github, as opposed to youtube or google.

Magnetic-Declination.com

Khon Kaen Khon Kaen Latitude: 16° 26' 48.2“ N Longitude: 102° 49' 58.8” E BAN NONG WAENG Magnetic Declination: -1° 11' Declination is NEGATIVE (WEST) Inclination: 22° 20' Magnetic field strength: 43808.0 nT

18.7966251, 98.9648206 Declination: -1.11° Total Field: 44929.7 nT

Magnetometer calibration https://youtu.be/MinV5V1ioWg?si=Bh-e9aDgxxzKsm14

Scott Lobdell, IMU https://youtu.be/T9jXoG0QYIA?si=HjldywVEFu-QSfJp

Commercial Products

MPU9250

chip: TDK Invensense MPU9250 date: ? status: EOL as of 2018 (supposedly replaced by ICM20948) comments: users complain that this product is no longer being manufactured and the market is flooded with fakes that don't work.

ICM20948

board: boards available from adafruit and sparkfun chip: TDK Invensense MPU9250 date: 2018 status: * supposedly replaces MPU9250, but registers are different, therefore different driver required

  • users complain that the DMP is not finished
  • DMP output is not available in current libraries

videos:

libraries:

BNO055

board: Adafruit 9-DOF Absolute Orientation IMU Fusion Breakout, BNO055
chip: Bosch Sensortec BNO055 date: 2015 status: “Not recommended for new designs…You could use BHI260AP…”, (but that has no magnetometer). components: * Atmel SAM20D processor * BMA280 accelerometer * BMI055 gyroscope * BMM150 magnetometer * built-in fusion library, closed source: * Euler angles * quaternion * modes: IMU, compass, M4G, NDOF libraries: * videos: * https://www.adafruit.com/product/2472 * video demo, no heading mentioned, euler and quat, quat more accurate, too slow for vehicle * https://www.youtube.com/watch?v=EsgKAawwT9A&t=731s

projects/robots/inertial_navigation_system.1714123669.txt.gz · Last modified: 2024/04/26 05:27 by jhagstrand

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki