本文是对所购买的九轴IMU的介绍以及姿态获取过程描述
1. 对九轴IMU的介绍
IMU是惯性测量单元(Inertial Measurement Unit)的简称,通常包含陀螺仪和加速度计。九轴IMU包括3轴加速度计、3轴陀螺仪、3轴磁力计。陀螺仪测量的是角速度,即物体转动的速度,把速度和时间相乘,即可以得到某一时间段内物体转过的角度。加速度计测量的是物体的加速度。磁力计用来对正确的方向进行校正。
主要参数 | 参数值 |
---|---|
电源 | 4.7~5.5 V |
电流 | 5.0 mA |
通信方式 | USB串口 |
输出数据 | 三轴(陀螺仪+加速度+磁力计 )、四元数 |
陀螺仪范围 | ±2000°/s |
加速度范围 | ±8 g |
磁力计范围 | ±1.3 Gauss |
角度精度 | 静态0.1° 动态0.5° |
回传速率/波特率 | 300Hz/921600 |
2. 操作流程
(1) 下载驱动软件包压缩包,并解压到用户目录
链接:https://pan.baidu.com/s/1eH-H_Ska3oZ04Clm6wWUoQ
提取码:awcm
复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V4的分享
(2) 安装 ros imu 功能依赖包
sudo apt-get install ros-kinetic-imu-tools ros-kinetic-rviz-imu-plugin
sudo apt-get install python-visual
(3) 创建工作空间
mkdir -p ~/handsfree/handsfree_ros_ws/src/
cd ~/handsfree/handsfree_ros_ws/src/
将软件包放在src下并解压
cd ~/handsfree/handsfree_ros_ws/
catkin_make
cd ~/handsfree/handsfree_ros_ws/src/handsfree_ros_imu/scripts/
sudo chmod 777 *.py
echo "source ~/handsfree/handsfree_ros_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
(4) 插上 USB 设备(连接 IMU 的 USB,检查电脑能否识别到 ttyUSB0,检测到 ttyUSB0 后,给 ttyUSB0 赋权限
ls /dev/ttyUSB0
sudo chmod 777 /dev/ttyUSB0
(5) 运行 ROS 驱动可视化程序,打开 rviz 。
roslaunch handsfree_ros_imu rviz_and_imu.launch imu_type:=b9(改成自己的imu的型号,可选项:a9,b9,b6)
(6) 运行脚本获取 IMU 欧拉角格式数据:Roll(翻滚),Pitch(俯仰),Yaw(偏航)
rosrun handsfree_ros_imu get_imu_rpy.py
(7) 打开通过 python 脚本编写的 3D 可视化(此功能只适用于 ubuntu 16.04 ROS kinetic 环境)
roslaunch handsfree_ros_imu display_and_imu.launch imu_type:=b9(改成你的imu的型号,可选项:a9,b9,b6)
参考资料
9轴IMU,6轴常规IMU+磁力计
9轴传感器
https://gitee.com/HANDS-FREE/handsfree_ros_imu
https://gitee.com/HANDS-FREE/handsfree_ros_imu/blob/master/tutorials/doc.md