超详细!IMU惯性测量模块在ROS环境下的应用示例

Ubuntu版本:20.04;ROS环境:noetic;IMU型号:亚博10轴IMU惯导模块

目录

一.ROS环境配置

1、在终端运行对应的命令

 2、安装ROS串口驱动

二、IMU软件包使用

1、新建、编译工作空间

 2、绑定IMU端口

3、修改参数配置 

三、运行可视化界面 

1、运行launch文件

2、可能遇到的问题

3、查看数据


一.ROS环境配置

默认系统已经安装好ROS开发环境,如果没有安装ROS环境,可以参考下面文章中的安装步骤,安装好ROS环境再来运行此示例。

http://t.csdnimg.cn/YAgXUicon-default.png?t=N7T8http://t.csdnimg.cn/YAgXU

1、在终端运行对应的命令

如果你使用的是 ubuntu 16.04,ROS kinetic,python2 :

sudo apt-get install ros-kinetic-imu-tools ros-kinetic-rviz-imu-plugin
sudo apt-get install python-visual

如果你使用的是 ubuntu 18.04,ROS Melodic,python2

sudo apt-get install ros-melodic-imu-tools ros-melodic-rviz-imu-plugin

如果你使用的是 ubuntu 20.04,ROS Noetic,python3

sudo apt-get install ros-noetic-imu-tools ros-noetic-rviz-imu-plugin

pip3 install pyserial

 没有安装过pip3的话,需要先安装一下:

sudo apt install python3-pip

 2、安装ROS串口驱动

sudo apt-get install ros-$ROS_DISTRO-serial

以下内容以 “Ubuntu版本:20.04;ROS环境:noetic;IMU型号:亚博10轴IMU惯导模块”为例;

二、IMU软件包使用

1、新建、编译工作空间

按照以下步骤:

mkdir ros_imu_ws
cd ros_imu_ws
 mkdir src
cd src
catkin_init_workspace

 之后复制wit_ros_imu文件夹到~/ros_imu_ws/src目录下,wit_ros_imu文件夹为IMU启动包,不同型号或许有所不同,咨询客服下载即可。

之后接着再次编译;

cd ~/ros_imu_ws
catkin_make

 2、绑定IMU端口

 打开命令终端,运行下面指令:

cd ~/ros_imu_ws/src/wit_ros_imu
sudo chmod 777 bind_usb.sh
sudo sh bind_usb.sh

重新插拔连接IMU模块的USB数据线。以生效绑定的端口,输入以下指令检测绑定端口是否成功,

ll /dev/imu_usb

成功绑定如下图所示:

 不一定是ttyUSB0,只要显示是USB设备就行了。

注意:此方法只适合外部USB设备只有一个CP2102串口芯片的情况,如果有连接多个CP2102驱动的USB设备,请勿使用此绑定方式

3、修改参数配置 

波特率根据实际使用设定,默认波特率baud的值为9600,如果已经通过上位机修改了波特率,需要对应修改成修改后的波特率。

进入功能包下的launch文件夹,打开rviz_and_imu.launch文件中的配置参数

cd ~/ros_imu_ws/src/wit_ros_imu/launch
sudo gedit rviz_and_imu.launch

修改内容如下,可直接复制粘贴:


<!-- open imu and rviz -->
<launch>

    <!-- imu type, default normal -->
    <arg name="type" default="normal" doc="type [normal, modbus]"/>

    <!-- imu python -->
    <node pkg="wit_ros_imu" type="wit_$(arg type)_ros.py" name="imu" output="screen">
        <param name="port"               type = "str"    value="/dev/imu_usb"/>
        <param name="baud"               type = "int"    value="9600"/>
	<remap from="/wit/imu" to="/imu/data"/>
    </node>

    <!-- load rviz -->
    <node name="rviz" pkg="rviz" type="rviz" args="-d $(find wit_ros_imu)/rviz/wit_ros_imu.rviz">
    </node>

</launch>   

可以看出,波特率设置成默认的9600,端口设置成绑定的/dev/imu_usb,话题重映射成/imu/data.

三、运行可视化界面 

1、运行launch文件

在该功能包下打开终端,按照以下步骤:

catkin_make
source ./devel/setup.bash
roslaunch wit_ros_imu rviz_and_imu.launch

2、可能遇到的问题

 注意:如果在运行launch文件时遇到以下问题时,

 按照我之前的文章中介绍的方法,亲测有效,费了很大功夫才解决这个问题。(链接见下方)最开始找的官方技术客服也没有解决,反而带来了麻烦,让重装ROS环境、重装Ubuntu系统,浪费了我大量时间也没能解决问题。

http://t.csdnimg.cn/eE9Fkicon-default.png?t=N7T8http://t.csdnimg.cn/eE9Fk

 最终成功运行后如下图所示:

 移动IMU模块后RViz中也实时更新,如下图:

3、查看数据

打开新的终端,输入以下命令以查看数据:

rostopic echo /imu/data

如下图所示:

相同地, 打开新的终端,输入以下命令以查看数据:

rostopic echo /wit/mag

如下图所示:

  • 19
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值