赞
踩
之前采用的惯导模块为ICM20948 IMU模块(模块精度0.06°/s,即216″/s),这款IMU用于某个需要一直旋转Z轴的实验,匀速旋转IMU,对姿态数据采集1min,经实验,模型在Z轴旋转时,也即平面旋转过程,Z轴旋转数据相邻两帧变化最大达到5.5°,误差非常大,导致实验一直出现问题。现换高精度惯导模块WHEELTEC N100,以下说明WHEELTEC N100惯导模块在ROS环境下如何使用。以下WHEELTEC N100惯导模块的ROS驱动功能包来源于设备商家,购买后记得找商家索要驱动功能包,或者可以在CSDN搜索该驱动功能包。本文ROS系统位于树莓派(系统为Ubuntu16),上位机为虚拟机(系统为Ubuntu18)。
(1)惯性系统基本概念
(2)本文采用的WHEELTEC N100惯导模块
(3)WHEELTEC N100惯导模块的整体规格参数
(4)WHEELTEC N100惯导模块的性能参数
(5)WHEELTEC N100惯导模块的导航数据性能参数
(1)打开终端,安装模块驱动;
键入安装命令:sudo apt install ros-kinetic-serial
注:以上kinetic为Ubuntu16下ROS的版本,对于不同Ubuntu版本下是什么ROS版本,查看可以键入:roscore。
(2)检查是否出现新端口。
键入查看命令:ls -l /dev/tty*
注:端口名出现不确定,只能确定前缀tty,后面的需要根据时间查找对应的模块端口名。
新端口名为:ttyACM0,之后ROS驱动功能包中的代码涉及端口名的部分需要替换为该新端口名。
(1)创建工作空间
键入代码:
mkdir -p ~/imu_test/src
cd ~/imu_test//src
catkin_init_workspace
(2)编译工作空间
键入代码:
cd ~/imu_test/
catkin_make
(3)将ROS驱动功能包拷贝到工作空间的src文件夹下
功能包转移到Ubuntu的方法:Ubuntu在树莓派,可以设置从主机共享文件给树莓派Ubuntu[1];
(4)修改功能包端口为准备工作中查看的端口(前面检查端口名为ttyACM0)
(5)重新编译
键入代码:
cd ~/imu_test/
catkin_make
source devel/setup.bash
注:打开新的终端需要重新定义源,即再次执行:source devel/setup.bash
(1)启动发布者启动器
键入代码:roslaunch fdilink_ahrs ahrs_data.launch
(2)查看话题列表并输出消息
再打开一个中端,键入代码:rostopic list
再键入代码:rostopic echo /imu
(3)启动订阅者启动器
再打开一个终端,键入代码:roslaunch fdilink_ahrs tf.launch
再下一步打开rviz利用该订阅者发出的消息。
(4)打开rviz订阅imu消息,查看姿态角变化
因树莓派没有显示器,无法显示rviz,可以通过局域网与虚拟机构建联系[2],使用虚拟机的rviz,打开一个终端,键入代码:rviz
参考资料:
[1] cacrle. Windows与Linux 之间如何进行文件共享?; 2023-03-27 [accessed 2023-03-28].
[2] cacrle. 如何将树莓派采集的雷达、IMU数据在虚拟机rviz中显示?; 2023-02-25 [accessed 2023-03-28].
[3] 匍匐的狗仔. WHEELTEC IMU-N100惯导模块之串口通信(一); 2022-05-15 [accessed 2023-03-28].
[4] 匍匐的狗仔. WHEELTEC IMU-N100惯导模块之数据解析(二); 2022-05-16 [accessed 2023-03-28].
[5] 月照银海似蛟龙. ROS环境下使用WHEELTEC N100惯导模块; 2022-09-01 [accessed 2023-03-28].
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。