ROS导航小车4 IMU(仅作个人纪录)

本文介绍了ROS环境下利用IMU进行导航的小车项目,涉及IMU的基本概念、零偏校准方法、数据同步策略以及Mahony互补滤波算法在姿态解算中的应用。还提供了imu_utils、kalibr_allan等标定工具的教程链接。
摘要由CSDN通过智能技术生成

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值