ROS kinetic版本Xsens传感器(MTI-G-710)的安装机器遇到问题的解决方法
Xsens驱动的GitHub:https://github.com/ethz-asl/ethzasl_xsens_driver
相关资料WIKI:http://wiki.ros.org/xsens_mti_driver https://wiki.ros.org/xsens_driver
1 安装Xsens传感器驱动
sudo apt-get install ros-kinetic-xsens-driver
安装完成之后查看以下USB端口的状态,此时传感器要插进去
ls -l /dev/ttyUSB*
若USB状态权限不够,需要更改权限否则无法读取传感器的信息
sudo chmod 777 /dev/ttyUSB*
启动 Xsens传感器
roslaunch xsens_driver xsens_driver.launch
若出现以下错误:fatal:could not find proper mt device
出错原因:在Linux中当前用户没有打开串口权限问题,需把当前用户加到串口用户组,我们需要把root用户或者普通
用户加入到dialout组
解决方法:
在终端中输入以下命令
grep 'dialout' /etc/group
若结果为:
dialout:x:20:
则说明root用户或者普通用户没有加入到dialout组中,接下去我们需要把root用户或者自己的用户加入到dialout组
在终端中输入:
sudo usermod -a -G dialout rootsudo usermod -a -G dialout fairy
说明:fairy用户是我自己系统的普通用户组,每个系统自定义的普通用户组名称不一样,需根据实际情况更改
最好把root和普通用户组都加入到dialout组中,若不知道用户组名称可以在终端中输入:whoami 命令查看
执行上述命令之后在终端中输入:
grep 'dialout' /etc/group
若结果为:dialout:x:20:root,fairy 则说明加载成功
///
若上述的设置之后启动传感器roslaunch xsens_driver xsens_driver.launch 如果还不行,执行以下命令打开
xsens_driver功能包
roscd xsens_driver
打开功能包下的launch文件里面xsens_driver.launch文件,把文件里面的timeout的时间设置大一点,从0.002设置到
0.02再到0.2就好了,给它启动的时间越多就行
2 读取显示传感器数据
输入:
roslaunch xsens_driver xsens_driver.launch
传感器启动启动成功
在终端输入:
rostopic list
查看此时发布的主题
然后在终端中输入如下命令,读取出IMU的数据
rostopic echo /ium/data
除了可以用上述的方法读出取出IMU数据,还可以用rqt工具读取数据,在终端中输入rqt
rqt
弹出以下窗口
/imu/data /imu_data_str 对应的框框打勾,就可以读取显示对应的数据