IMU简介参考链接
IMU 惯性测量单元(Inertial Measurement Unit) 是测量物体三轴角速度和加速度的设备。狭义上,一个IMU内在正交的三轴上安装陀螺仪和加速度计,共6个自由度,来测量物体在三维空间的角速度和加速度,这就是我们熟知的"6轴IMU";广义上,IMU可在加速度计和陀螺仪的基础上加入磁力计,就形成了"9轴IMU"。
加速度计:检测载体坐标系统独立三轴的加速度信号;
陀螺仪:检测载体相对于导航坐标系的角速度信号;
磁力计:用卡尔曼或者互补滤波等算法为用户提供拥有绝对参考的俯仰角、横滚角和航向角。
增加了磁力计的9轴传感器又被称为AHRS 航姿参考系统(Attitude and Heading Reference System)。因为航向角有地磁场的参考,所以不会漂移,但地磁场很微弱,经常受到周围带磁场物体的干扰。磁场和重力场越正交,则航姿测量效果越好,也就是说如果磁场和重力场平行,比如地磁南北极,AHRS就没法使用。
Allan标定工具
imu_utils:imu误差标定
kalibr_allan:相机与imu联合标定
imu_tk
激光、摄像头、IMU等传感器数据同步方法(message_filters)
IMU 底盘ROS节点开源小车项目
发布IMU数据
void MyAGV::publisherImuSensor()
{
sensor_msgs::Imu ImuSensor;
ImuSensor.header.stamp = ros::Time::now();
ImuSensor.header.frame_id = "/imu";
ImuSensor.orientation.x = 0.0;
ImuSensor.orientation.y = 0.0;
ImuSensor.orientation.z = imu_data.orientation.z;
ImuSensor.orientation.w = imu_data.orientation.w;
ImuSensor.orientation_covariance[0] = 1e6;
ImuSensor.orientation_covariance[4] = 1e6;
ImuSensor.orientation_covariance[8] = 1e-6;
ImuSensor.angular_velocity.x = 0.0;
ImuSensor.angular_velocity.y = 0.0;
ImuSensor.angular_velocity.z = imu_data.angular_veloci