Xsens MTi传感器 ROS

  • 1. 概述
  • 2. MTI设置 MTmanager
  • 3. ROS下信息发布 MTSDK
  • 4. 找不到设备
  • 5. 参考链接
  • 6. 延伸阅读
    • 传感器配置
    • 节点程序分析
    • 经典SLAM

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$ lsdoc        lib            pythonexamples   MTSDK.README   xsens_ros_mti_driverinclude    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
、、、、、

因此需要找到原因,按照下面的流程来进行

  1. 先确定IMU是否为xsens产品,如果不是那肯定就不行了。
  2. 使用串口助手,例如cutecom,确定是否与pc正常通信,这个时候你能够确定xsens产品的设备名称了,例如/dev/ttyUSB0这样的名称,记住它。同时注意查看权限,是否能够正确数据和权限有关系,可以简单设置为777。如果权限不够,是不能正确使用的。
  3. 如果串口助手可以读取数据,这一步其实可以省略。使用官方工具MT manager能够正确找到xsens产品,这个比较简单,直接搜索就行了。
  4. 最后使用节点程序 roslaunch xsens_mti_driver xsens_mti_node.launch 查看能否接收数据。在launch文件中使用的配置文件xsens_mti_node.yaml可以设置设备名称以及波特率,首次连接时可以自己更改。例如默认的设备名称和波特率分别为/dev/ttyUSB0115200
# 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安装与配置

Xsens MTi传感器 ROS下配置相关推荐

  1. ORB-SLAM2(2) ROS下配置和编译

    1配置USB相机 1.1网友参考: http://www.liuxiao.org/2016/07/ubuntu-orb-slam2-%E5%9C%A8-ros-%E4%B8%8A%E7%BC%96%E ...

  2. ROS下配置镭神智能c16雷达信息

    ROS下配置镭神智能c16雷达信息 用户配置写入协议(UCWP) 介绍 3.0 头部 3.1 电机 代码详情 3.2 以太网 3.3 时间 用户配置写入协议(UCWP) 介绍 用户配置写入协议:Use ...

  3. Ubuntu18.04下配置Nooploop UWB LinkTrack

    上位机的安装可以去Nooploop UWB LinkTrack官网,下载对应版本的安装包,安装即可,Ubuntu下下载Ubuntu_64bit的安装包,然后使用sudo dpkg -i ***.deb ...

  4. Xsens MTi -1 姿态传感器恢复与MTI的通信的方法

    恢复与MTI的通信 本人最近因为项目需要,一直在研究Xsens MTi - 1 姿态传感器,因为我写程序是要DSP开发板获取姿态传感器采集的数据,然后从获取的数据中解析出四元数或者欧拉角,并把欧拉角转 ...

  5. 机械臂—ROS下UR10e+ft300+2f-140gripper ur机械臂配置夹爪及问题解决

    目录 一.环境 Ubuntu18.04: ROS melodic: 二.ROS melodic及Moveit的安装 看了很多博文,建议参考这位博主. 其中可能ROS工作空间catkin_make的时候 ...

  6. ZED 相机 ORB-SLAM2安装环境配置与ROS下的调试

    注:1. 对某些地方进行了更新(红色标注),以方便进行配置. 2. ZED ROS Wrapper官方github已经更新,根据描述新的Wrapper可能已经不适用与Ros Indigo了,如果大家想 ...

  7. ROS下Python读取ft_300传感器数据

    ROS下Python读取ft_300传感器数据 硬件条件: ur3 ft_300 ros:melodic #!/usr/bin/env python2 import rospy from geomet ...

  8. Ros环境下配置启动Robotiq 2f-140 电爪

    Robotiq电动夹持器是一款常见的机械臂加持设备,有两指.三指等多种型号,我所接触的是RobotIQ 2f-140型号,下面介绍该电动手抓在ROS下的驱动包配置及使用方法. 操作系统:Ubuntu1 ...

  9. 怎样在ROS下实现基于YOLO的px4无人机目标检测?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 1. 搭建无人机仿真环境 首先需要安装mavros,这是一个飞机固 ...

最新文章

  1. 面试被问分布式事务(2PC、3PC、TCC),这样解释没毛病!
  2. PXE自动化安装系统
  3. disp语句怎么格式 matlab_讲座回顾:Matlab使用教程
  4. 哎哟我去!betterzip居然支持这么多压缩格式!
  5. POI如何自定义单元格背景颜色
  6. android多线程文章,Android 多线程处理之多线程用法大集合
  7. php-fpm 配置文件位置,php
  8. 【POJ - 3037】Skiing (Dijkstra算法)
  9. [Python] 拉格朗日插值
  10. Web后端学习笔记 Flask(1)基础知识
  11. DLL中的自定义类型含有非导出公开字段,从而产生Release版本运行异常
  12. 常用http状态码说明,status
  13. OAM 与 KubeVela 项目整体捐赠进入 CNCF,让云端应用交付更加简单
  14. [golang 易犯错误] golang 局部变量初始化:=的陷阱
  15. 物联网人工智能软件市场现状研究分析报告 -
  16. C语言谭浩强试题,c语言试题谭浩强Word版
  17. 魔兽世界插件开发-WOWLUA插件
  18. 买望远镜看天体需要使用的倍数
  19. (菜鸟python)统计字符串的字符数和标点数
  20. unity的矢量数学

热门文章

  1. 我的助理辞职了—刘苏
  2. tf.split()函数(非常清晰简单的解释)
  3. EasyExcel导出基本使用,及作用于通用报表导出
  4. 科技日新月异带来的影响
  5. kaldi tutorial 中文翻译
  6. 《基于深度学习模型的非接触式面部视频记录技术用于心房颤动的检测》阅读笔记
  7. c语言pair的用法,C++ pair的用法实例详解
  8. Elasticsearch Aggregations 统计buckets中key的个数
  9. ZOJ 2972 TOJ 1545 Hurdles of 110m(一般dp)
  10. html如何看数据是不是写死的,程序员常讲的「写死」是什么意思?