ubuntu 将手柄控制信息发布到ros上

Posted 怪皮蛇皮怪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu 将手柄控制信息发布到ros上相关的知识,希望对你有一定的参考价值。

参考自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节点就不会发布信息
但是不应该是这样的,获取手柄的控制应该要有一个稳定的频率
后续再加个脚本改改吧

以上是关于ubuntu 将手柄控制信息发布到ros上的主要内容,如果未能解决你的问题,请参考以下文章

ros python 控制手柄数据发布频率

ros python 控制手柄数据发布频率

微软Xbox One无线手柄控制机器人

oculus2手柄不显示

电脑手柄,Windows7电脑游戏手柄怎么设置?

电脑手柄,Windows7电脑游戏手柄怎么设置?