参考自linux安装xbox无线手柄,ROS配置和使用Xbox One无线手柄
里面有一串ubuntu使用手柄的操作,这里因为我只需要ros部分所以单独记录一部分出来
1.安装joy
sudo apt-get install ros-kinetic-joy
2.将手柄连接到电脑上(物理)
下面的命令可以显示已连接的设备,手柄一般是js开头js0,js1什么的
ls /dev/input/
使用下面命令可以知道手柄的控制信息 记得将其中的X替换成手柄的数字,比如上面ls找到手柄的是js0,那么X的部分替换成0就好 这里打多几个X是防止有些人直接复制代码不看字(这么大串的X应该能反应过来有问题吧?)
jstest /dev/input/jsXXXXXXXXXXXXXXXXXXXXX
最终效果应如
jstest /dev/input/js0
到这里已经手柄控制信息已经存在在电脑上了,后续也可以通过其他方法获取
3. 发布rostopic
记得第二句的"/dev/input/js0"其中的js0根据实际情况调整
roscore
rosparam set joy_node/dev "/dev/input/js0"
rosrun joy joy_node
查看rostopic中手柄控制信息
rostopic echo joy
好,结束 后面要干什么操作直接订阅节点就好
4.需要注意的地方
无论jstest获取的手柄控制信息还是rostopic获取,控制信息的获取频率都无法控制 手柄控制(摇杆)信息只会在你移动摇杆或者安按键的时候会发布 这点在rostopic中尤为明显,只要不动手柄,ros节点就不会发布信息 但是不应该是这样的,获取手柄的控制应该要有一个稳定的频率 后续再加个脚本改改吧
|