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

要使用手柄控制ROS Arduino Bridge小车,你需要先完成以下步骤: 1. 首先,确保你已经安装了ROS和Arduino IDE,并且已经将小车的控制程序上传到Arduino板子上。 2. 确保你已经连接了手柄到电脑上,并且已经成功地将其与Ubuntu系统进行了配对。 3. 安装ROS joy包。在终端中运行以下命令: ``` sudo apt-get install ros-<distro>-joy ``` 其中,`<distro>`是你正在使用的ROS版本的名称,如`melodic`或`noetic`。 4. 运行ROS joy节点。在终端中运行以下命令: ``` roscore rosrun joy joy_node ``` 5. 运行ROS Arduino Bridge节点。在终端中运行以下命令: ``` roslaunch ros_arduino_bridge ros_arduino_bridge.launch ``` 6. 将手柄控制器与ROS joy节点进行连接。在终端中运行以下命令: ``` rosparam set joy_node/dev "/dev/input/jsX" ``` 其中,`X`是你的手柄控制器在系统中的编号。你可以通过运行以下命令来查找它: ``` ls /dev/input/ ``` 7. 创建ROS话题和消息。在终端中运行以下命令: ``` rostopic pub -r 10 /cmd_vel geometry_msgs/Twist "linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0" ``` 这将创建一个名为`/cmd_vel`的ROS话题,并将其与`geometry_msgs/Twist`消息类型进行关联。这个命令还会以10Hz的频率向该话题发布消息。 8. 将手柄控制器的输入映射到小车的控制命令上。在终端中运行以下命令: ``` rosrun joy joy_node rosrun teleop_twist_joy teleop_twist_joy ``` 这将启动手柄控制器和小车之间的控制通信。你可以使用手柄的摇杆和按钮来控制小车的方向和速度。 9. 最后,你可以通过发布到`/cmd_vel`话题来控制小车的运动。你可以通过手柄控制器来改变这些值,以控制小车的运动。 这就是使用手柄控制ROS Arduino Bridge小车的基本步骤。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值