标签:
ROS配置和使用Xbox One无线手柄
环境:Ubuntu16.04 + ROS kinetic
安装joy package
joy package为通用的Linux操纵杆提供了ROS驱动,它包括了一个joy_node节点,可以让Linux操纵杆和ROS交互.这个节点发布一个”Joy”消息,包含了操纵杆每一个按钮和轴的当前状态.
安装这个joy package:
$ sudo apt-get install ros-kinetic-joy
配置Xbox One无线手柄
安装好后先用usb线将手柄与电脑连接,测试有线连接的情况下,Linux是否能够识别你的游戏手柄.
$ ls /dev/input/
你会看到所有输入设备的列表,如果出现了jsX的话(在我的电脑中显示的是js0),说明Linux成功识别了你的游戏手柄.
下面对手柄进行测试:
sudo jstest /dev/input/jsX
你会在终端中看到手柄的输出信息,移动手柄的可以看到数据的变化.
Axes: 0: 1982 1: 894 2:-32767 3: 392 4: 438 5:-32767 6: 0 7: 0
Buttons: 0:off 1:off 2:off 3:off 4:off 5:off 6:off 7:off 8:off 9:off 10:off
每个按钮和轴对应的索引可以在http://wiki.ros.org/joy查到,当然也可以直接试出来.
接下来,要让ROS的节点joy_node可以使用手柄,我们需要更改手柄的权限.
$ ls -l /dev/input/jsX
你会看到跟这样类似的输出:
crw-rw-XX-+ 1 root input 13, 0 9月 12 14:45 /dev/input/js0
如果XX是rw的话,说明设备配