三驰惯导IMU传感器100D2的测试使用
所测试使用的惯导传感器为三驰惯导的100D2,该型号的传感器数据发布频率最高为100Hz,相关的图片如下。
运行环境
- Linux:Ubuntu18.04
- ros:Melodic
1. 新建ROS工程目录文件夹
mkdir catkin_ws
cd catkin_ws
mkdir src
catkin_make
2. 下载相关的源码和相关依赖包
2.1 下载 IMU 相关的源码 sanchi_amov ,并进行编译
资料链接:https://pan.baidu.com/s/10oTcaARdI5tQ45CA3gbYNA
提取码:ca82
将相关的ROS功能包解压后,放到工程文件中的 src 文件夹中,并进行编译。
catkin_make
2.2 IMU 惯导传感器的使用
- 打开相关的端口权限
三驰惯导的 IMU 传感器使用的USB串口进行数据的读取,在使用前,我们需要对该端口赋予相关的权限,然后才能够读取到相关的数据信息。
sudo chmod +x /dev/ttyUSB0
sudo chmod 777 /dev/ttyUSB0
以上命令行中,/dev/ttyUSB0
为 IMU 传感器的USB端口号。
- 执行相关的启动命令
roslaunch sanchi_amov imu_100D2.launch
imu_100D2.launch
文件如下
<?xml version="1.0"?>
<launch>
<node pkg="sanchi_amov"
name="imu"
type="sanchi_amov"
output="screen">
<param name="port" value="/dev/ttyUSB0"/>
<param name="model" value="100D2"/>
<param name="baud" value="115200"/>
</node>
</launch>
启动完成后如下图所示
2.3 使用 rostopic 查看 IMU 惯导传感器的数据
-
使用
rostopic list
查看发布的相关话题名,如下所示
-
使用
rostopic echo /imu/data_raw
查看发布的相关 IMU 话题数据,/imu/data_raw
为相关数据的话题名,如下所示
-
使用
rostopic hz /imu/data_raw
查看发布的相关 IMU 话题发布频率,如下所示
这边可以清楚的看到,相关的 IMU 话题发布频率大概为 100Hz。
2.4 使用 remap 在 roslaunch 文件中映射 IMU 惯导传感器的数据为其它话题名
例如:将原有的 IMU 数据话题/imu/data_raw
映射为/imu/data
在imu_100D2.launch
文件进行如下的更改:
<?xml version="1.0"?>
<launch>
<node pkg="sanchi_amov"
name="imu"
type="sanchi_amov"
output="screen">
<param name="port" value="/dev/ttyUSB0"/>
<param name="model" value="100D2"/>
<param name="baud" value="115200"/>
<remap from="/imu/data_raw" to="/imu/data" />
</node>
</launch>
即在launch文件中添加<remap from="/imu/data_raw" to="/imu/data" />
,即将原有的 IMU 数据话题/imu/data_raw
映射为 /imu/data话题数据。
重新执行传感器的启动命令,并利用rostopic list
查看相关的话题名,可以看到话题中已将/imu/data_raw
映射为 /imu/data话题数据。
3. 可视化界面查看 IMU 数据
3.1 下载rviz_imu_plugin插件
sudo apt-get install ros-melodic-imu-tools
3.2 打开rviz,订阅 IMU 数据,可视化查看
rviz rviz
点击Add
添加 IMU 可视化插件,将坐标系改为world
,并在 IMU 插件中订阅 IMU 话题/imu/data_raw