Xsens MTi传感器 ROS
- 1. 概述
- 2. MTI设置 MTmanager
- 3. ROS下信息发布 MTSDK
- 4. 找不到设备
- 5. 参考链接
- 6. 延伸阅读
-
1. 概述
主要介绍Ubuntu下对Xsense公司MTI系列惯性测量单元的配置并实现在ROS下使用。
2. MTI设置 MTmanager
官方给出了可以直接设置MTI系列的软件MT manager,下载链接 xsens-software-downloads.
下载MTi Products产品对应软件,自己选择稳定版或者Beta版。注意选择Linux下就行。
下载完成之后是mtmanager_linux-x**_version.tar.gz
压缩包,使用tar -zxvf filename
命令可以进行解压
robots@Robots-ubuntu1604:~/Downloads$ tar -zxvf ./mtmanager_linux-x**_version.tar.gz
在解压缩的文件夹中,先进行安装
$ sudo ./mtsdk_linux-x64_2019.3.2.sh
如果出错,错误信息如下
'uudecode' could not be found. It is usually installed with the 'sharutils' package
使用命令
$ sudo apt-get install sharutils
再运行安装命令
$ sudo ./mtsdk_linux-x64_2019.3.2.sh
会提示安装目录,默认即可,默认位置在/usr/local/xsens
/usr/local/xsens$ ls
doc lib python
examples MTSDK.README xsens_ros_mti_driver
include public 'Xsens Technologies MT SS License Agreement.rtf'
./mtmanager/linux-*/bin
中含有可执行文件,运行mtmanager文件
可以直接打开MT Manager。
$ ./mtmanager
MTmanager可以设置很多参数,主要的设置都在这里进行,例如MTI系列同步接口功能定义,输出脉冲频率,数据频率等。由于设备没有在身边,就不演示了。
3. ROS下信息发布 MTSDK
1
在刚才解压的文件夹中还有文件mtsdk_linux-x**_version.sh
,这个脚本文件包含了Xsens MTSDK。使用sudo
安装MTSDK。
$ sudo mtsdk_linux-x**_version.sh
默认安装位置是/usr/local/xsens
,如果不是使用sudo命令,在其他目录下。安装完成后将xsens_mti_driver
文件夹移动到catkin workspace src
文件夹中(这个文件夹看你自己的工作空间定义,我的在~/catkin_ws/src/下)。
复制命令为
$ cp -r xsens_ros_mti_driver/ ~/catkin_ws/src/
需要进行修改文件夹权限,应该也可以不修改,给others用户组添加权限rw
chmod -R o+rw xsens_ros_mti_driver/
2
确定成功之后可以进行make
命令,这里使用了目录栈
指令,把目录换成自己的工作空间
就可以了,我的是~/catkin_ws/src/xsens_ros_mti_driver/lib/xspublic。
也可以自己手动cd然后make
,查看当前目录栈可以使用dirs -v命令。
popd就是目录出栈
,pushd就是目录入栈
,当前目录==栈顶目录
。
$ pushd src/xsens_ros_mti_driver/lib/xspublic && make && popd
构建驱动包,在自己的ROS工作空间使用命令
$ catkin_make
3
然后在新的窗口启动roscore
$ roscore
注意进行launch节点时需要在工作空间目录进行source
$ cd ~/catkin_ws/
$ source ./devel/setup.bash
可以运行两个launch文件,一个用于rviz显示,一个用于MTI系列产品发送消息
$ roslaunch xsens_mti_driver display.launch
$ roslaunch xsens_mti_driver xsens_mti_node.launch
4. 找不到设备
如果找不到正确的设备可能会显示错误No MTi device found
~/catkin_ws$ roslaunch xsens_mti_driver xsens_mti_node.launch
、、、、
[ INFO] [1601277772.416805300]: Creating XsControl object...
[ INFO] [1601277772.458716149]: Scanning for devices...
[ERROR] [1601277772.465211536]: No MTi device found
、、、、、
因此需要找到原因,按照下面的流程来进行
- 先确定IMU
是否
为xsens产品,如果不是那肯定就不行了。 - 使用
串口助手
,例如cutecom
,确定是否与pc正常通信,这个时候你能够确定xsens产品的设备名称
了,例如/dev/ttyUSB0
这样的名称,记住它。同时注意查看权限
,是否能够正确数据和权限有关系,可以简单设置为777
。如果权限不够,是不能正确使用的。 如果串口助手可以读取数据,这一步其实可以省略
。使用官方工具MT manager
能够正确找到xsens产品,这个比较简单,直接搜索就行了。- 最后使用节点程序
roslaunch xsens_mti_driver xsens_mti_node.launch
查看能否接收数据。在launch文件中使用的配置文件xsens_mti_node.yaml
可以设置设备名称以及波特率,首次连接时可以自己更改。例如默认的设备名称和波特率分别为/dev/ttyUSB0
、115200
# port: '/dev/ttyUSB0'
# baudrate: 115200 # non necessary for some devices
但是实际情况的设备名称和波特率可以根据串口助手来获得,然后将xsens_mti_node.yaml
文件中的注释去掉
经测试,我这边使用460800
波特率比较稳定。
port: '/dev/ttyUSB0'
baudrate: 921600 # 我这里更改了波特率
最后重新运行应该就没问题了,如果还有问题,欢迎继续讨论。
5. 参考链接
1.Running_the_Xsens_MTi_node.
6. 延伸阅读
传感器配置
设备绑定串口名称 Ubuntu
Xsens MTi传感器 ROS下配置
SBG Ellipse系列传感器Ubuntu下进行ROS节点配置
Nooploop UWB LinkTrack ROS下配置
MTI Ellipse VLP16 LinkTrack Topic msg整理
节点程序分析
Xsens ROS 节点 时间戳以及话题
Velodyne ROS 节点 时间戳以及话题
SBG ROS 节点 时间戳 话题
NoopLoop ROS 节点 时间戳以及话题
经典SLAM
GMapping安装与配置
Hector SLAM 安装与配置
Gmapping 原理之目标分布与提议分布
LOAM SLAM安装与配置
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)