ROS使用游戏手柄 §
- 安装
sudo apt-get install ros-$ROS_DISTRO-joy
- 使用
ls /dev/input列出手柄设备(如js0)
- 使用
jstest /dev/input/js0测试设备(或者设备为其他名字)
罗技F310 §
- 注意背后的X/D开关(XInput/DirectInput),两种模式都可以运行,切换时会退出jstest,对joy_node好像没有影响
默认路径 §
- 如果设备默认不是
/dev/input/js0(例如是js1),则需要修改其路径
- 在
/etc/udev/rule.d下新建规则,并修改规则文件的权限
sudo vi /etc/udev/rules.d/99-joystick.rules
添加
KERNEL=="js*", ATTRS{name}=="Logitech Gamepad F310", SYMLINK+="input/js0"
修改权限
sudo chmod 644 /etc/udev/rules.d/99-joystick.rules
激活规则或重启
sudo udevadm control --reload-rules
sudo udevadm trigger
模式 §
模拟输出 §
- 灯灭时左侧摇杆为模拟输出(axes前两个参数),方向键为开关量输出(axes最后两个参数)
axes: [左摇杆左右,左摇杆上下,左扳机,右摇杆左右,右摇杆上下,右扳机,方向键左右,方向键上下]
buttons: [A, B, X, Y, LB, RB, Back, Start, Logitech标, 左摇杆按下, 右摇杆按下]
摇杆中位时输出为0,最左为1,最右为-1,最上为1,最下为-1
扳机释放时为1,完全压下为-1,半压下时会经过0点
开关量输出 §
- 灯亮时左侧摇杆为开关输出(输出量为axes的最后两个参数),方向键为开关量输出(axes的前两个参数)。
axes: [方向键左右,方向键上下,左扳机,右摇杆左右,右摇杆上下,右扳机,左摇杆左右(开关量),左摇杆上下(开关量)]
buttons: [A, B, X, Y, LB, RB, Back, Start, Logitech标, 左摇杆按下, 右摇杆按下]
使用 §
- 使用
rosrun joy joy_node启动节点,rostopic echo joy进行监听