📖
Wiki
Back to my personal website
  • Home
  • Equipment and Devices
    • 3D Printer
    • Laser Cutter
    • Motion Capture System
    • Sensors
      • RGB-D Cameras
      • Velodyne LiDAR
      • Zed Camera
      • RealSense D435i
      • IMU
    • eGPU
    • Nvidia AGX Xavier
    • CPU Benchmark
    • Installation Checklist
  • Development
    • Linux
      • Shell
      • GDB
      • Git
      • Tmux
      • Network
      • Tricks
      • Debug FAQ
    • CMake
      • Catkin Tools
      • CMakeLists
      • CMake Variables
      • CMake Commands
      • CMake: find_package()
    • ROS
      • Gazebo
      • wstool
      • roslaunch
      • rosbag
      • multi-threaded spinner
    • ROS2
      • Convert ROS1 bag to ROS2 bag
    • C++
      • C++ 11
      • C++ Examples
      • C++ Debug
      • Factory Method
      • Timing
    • Google Tools
      • GLog
      • GFlags
      • GTest
      • Style Guide
      • Clang Format
    • PCL
      • Point Type
      • Methods
      • Architecture
      • Code Explained
    • Open3D
      • Python API
      • Registration
      • Visualization
      • Tools
    • OpenCV
      • Documentation
      • Modules
    • Other Libraries
      • Eigen
      • Ceres
      • g2o
      • GTSAM
    • Website
  • Algorithm
    • SLAM
      • K-D Tree
      • Octree
      • Bag of Words
      • Distance Measures
      • Coordinate Systems
      • LOAM
      • Iterative Closest Point
      • Generalized ICP
      • Mahalanobis Distance
    • Computer Science
      • Computational Model
      • Sorting
      • Analysis
      • Complexity Classes (P, NP)
      • Divide and Conquer
      • Greedy Algorithm
      • Dynamic Programming
      • Tree
      • Graph
    • Computer Vision
      • Camera Models
      • Distortion
      • Motion Models
      • Shutter
      • Image Sensors
      • Epipolar Geometry
      • Multiple-View Geometry
    • Datasets
      • RGB-D Datasets
      • Point Cloud Datasets
      • LiDAR SLAM Datasets
  • Math
    • Optimization
      • Convex Optimization
      • Descent Methods
    • Probability
      • Moment
      • Covariance Matrix
      • Stochastic Process
    • Topology
      • References
      • Concepts
      • Topological Spaces
      • Representation of Rotations
      • Representation of 3-sphere
    • Algebra
      • Linear Algebra
      • Matrix Factorization
      • Condition Number
      • Matrix Lie Group
    • Differential Geometry
      • Manifold
      • Submanifold
      • Quotient Manifolds
      • Tangent Space
  • Quadrotor
    • PX4 Development
    • Companion Computer
    • Drone Hardware
    • Propeller Lock
    • Debug
  • Favorites
    • Bookmarks
Powered by GitBook
On this page
  • MPU-9250
  • Microstrain 3DM-GX5
  • VN-100
  • IMU Calibration Tool

Was this helpful?

  1. Equipment and Devices
  2. Sensors

IMU

PreviousRealSense D435iNexteGPU

Last updated 1 year ago

Was this helpful?

MPU-9250

  • cheap, readily available low-end IMU, at the cost about a few dollars.

  • Accelerometer noise density: 300 µg/√Hz

  • Gyroscope noise density: 0.01 º/sec/√Hz

Microstrain 3DM-GX5

  • Industrial grade IMU made by microstrain; also available from Clearpath at about $2000.

  • 3DM-GX5-25 is adopted by LIO-SAM project. Note that its accelerometer and gyroscope have different coordinate setup in orientation. (But still, they can be regarded to have the same origin.) For more information, see .

  • We use 3DM-GX5-AHRS, and in this version the coordinate frames of accelerometer and gyroscope are treated identical. It comes equipped with built-in complementary filter and EKF algorithms, running at 1000Hz and 500Hz respectively.

    • Accelerometer noise density: 20 µg/√Hz (2 g)

    • Gyroscope noise density: 0.005°/sec/√Hz (300°/sec)

VN-100

  • High-end calibrated IMU with an onboard processor, provided by vectornav at about $1000.

  • Adopted by the CoSTAR team in the SubT challenge.

IMU Calibration Tool

# This is the result calibrated for the Microstrain 3DM-GX5-AHRS IMU that we have
# Accelerometer
accelerometer_noise_density: 0.0002276846771973415 
accelerometer_random_walk: 6.706087584689249e-06 

# Gyroscope
gyroscope_noise_density: 0.00010426654551109309 
gyroscope_random_walk: 3.5636559575381104e-06 

rostopic: '/sensors/imu' #Make sure this is correct
update_rate: 200.0 #Make sure this is correct

Kalibr requires the noise parameters of IMU as input, and this can be calibrated using the Allan variance method. Open source repo:

https://github.com/TixiaoShan/LIO-SAM#prepare-imu-data
https://www.vectornav.com/products/detail/vn-100
https://github.com/NeBula-Autonomy/nebula-odometry-dataset/blob/main/pages/overview.md
https://github.com/ori-drs/allan_variance_ros