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 - measures the air pressure
  • altimeter - measures the height of a vehicle above sea level, based on the barometer reading

Inertial Measurement Unit

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

TDK Invensense makes both MPU9250 and ICM20948 9250 EOL in 2018 registers are different, therefore different driver required https://invensense.tdk.com/wp-content/uploads/2018/10/AN-000146-v2.0-TDK_Migration_MPU_9250toICM-20948.pdf

breakout boards from adafruit and sparkfun

adafruit ICM20948 use Adafruit ICM20 library for arduino https://github.com/adafruit/Adafruit_ICM20X provides GPIO pins but also STEMMA QT connector no video demo see Paul McWhorter youtubes

2015: Adafruit 9-DOF Absolute Orientation IMU Fusion Breakout - BNO055 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 Bosch Sensortec BNO055 “not recommended for new designs” “You could use BHI260AP in new design”, but has no magnetometer. components:

  Atmel SAM20D processor
  BMA280 accelerometer
  BMI055 gyroscope
  BMM150 magnetometer
  built-in fusion library, closed source:
      Euler angles
      quaternion
      modi: IMU (motion), compass, M4G, NDOF

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

projects/robots/inertial_navigation_system.1714071209.txt.gz · Last modified: 2024/04/25 14:53 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