最近需要用到多个手柄连接主机来控制ROS中的机器人的问题,所以查阅了一些外网资料,借鉴https://answers.ros.org/question/317932/how-to-distinguish-inputs-from-multiple-joysticks-on-joy-topic/
中的方法成功实现。
单手柄连接
在使用单手柄连接ROS时,首先在一个窗口打开joy节点
rosrun joy joy_node
此时,使用
rostopic list
可以看到 /joy 话题,机器人订阅这个话题即可实现但机器人连接手柄
2、多机器人连接手柄
在多机器人连接多个手柄时,采取以下方法将发布多个不同名的/joy话题,即可实现
<launch>
<group>
<remap from='joy' to='j0'/>
<node pkg='joy' name='joy0' type='joy_node'>
<param name='dev' type='string' value='/dev/input/js0'/>
</node>
</group>
<group>
<remap from='joy' to='j1'/>
<node pkg='joy' name='joy1' type='joy_node'>
<param name='dev' type='string' value='/dev/input/js1'/>
</node>
</group>
</launch>