ROS中使用罗技G29遥控器
本教程主要教大家如何在ROS环境中读取G29 摇杆的值。
在实验过程中需要使用G29遥控器可以用来做自动驾驶,G29 没有官方的驱动,github上存在两个使用G29的包,但是安装比较复杂,需要依赖的东西太多,网上也有大佬使用node.js脚本来启动G29摇杆。
在折腾了一圈以后发现只需要使用ROS自带的Joy包就可以启动G29摇杆,因此记录下本教程,避免大家以后在使用G29的时候重复填坑。
系统使用的环境是Ubuntu1604+ROS K版本。
1、首先安装两个ROS 依赖包
sudo apt-get install ros-kinetic-pacmod*
sudo apt-get install ros-kinetic-joy*
2、创建一个launch文件,填入以下内容
<?xml version="1.0"?>
<launch><group ns="G29"><node pkg="joy" type="joy_node" name="joy"><param name="coalesce_interval" type="double" value="0.02"/><param name="default_trig_val" value="true"/><!-- param name="deadzone" value="0.0"/ --><param name="dev" value="/dev/input/js0" type="string "/><param name="deadzone" value="0.05" type="double"/> <!-- aram name="autorepeat_rate" value="10" type="double"/--> </node></group>
</launch>
这里我把命名空间改为了G29,这是由于我们还需要使用手柄式的遥控器(也是用的Joy包),这里主要是为了避免冲突
3、接下来把G29插到USB口(插上USB以后,G29的方向盘会自己旋转到逆时针最大值和顺时针最大值),确保G29没有问题以后,我们新建一个终端然后启动launch文件。并打印话题 “/G29/joy” 即可看到如下现象: