PS4在Jetson nano下的配对使用,并用ROS接口来控制

一、简介

由于最近在完善RIKIBOT FOC控制系统,底层实现了PS2手柄与航模遥控器开机启动控制,然后手里正好有一个PS4,想着也适配一下, 由于jetson nano自带蓝牙,而PS4手柄是蓝牙手柄(这里其它带蓝牙的设备应该也可以进行配对,像树莓派、或者带蓝牙的工控机),那这里可以进行配对控制,网上的教程也是很多,但方法也很繁琐,特别是ROS接口控制这一块,非得启动ds4_driver服务才行,这里我自己写了一个解析包,去掉这个这服务,启动lanuch文件后可以直接控制

二、配对

1、配对前的准备工作

Jetson nano 上电开机,然后同时长按手柄上的ps键+share键,手柄开始快速闪短暂的白灯后就进入配对模式,此时可以松手,松手后,可以转到jetson nano端,准备操作,如果长时间不配对,手柄配对的灯会熄灭掉,就需要重新操作PS4手柄。
请添加图片描述

2、jetson nano端配对操作

这里点击打开右上角的蓝牙管理窗口,进行配对连接操作即可
请添加图片描述
接下来点击上面图片的“+”,可以按下图的顺序进行操作,然后选择对应的蓝牙控制器
请添加图片描述
操作完成后,可以等待配对完成,然后会弹出配对成功的窗口,如果不成功就在重新来吧,然后退出操作即可,这样就完成的配对
请添加图片描述

3、配对测试

这里可以通过查看PS4是否在系统生成对应的设备来检查是否配对成功,如果有对应的设备就说明配对成功

ls /dev/input/js0

请添加图片描述
配对成功了,我们测试一下手柄是否正常,安装测试包

sudo apt-get install jstest-gtk

启动测试,启动完成后,按手柄终端会有输出,如果相关的数据会有变化说明配对成功,重新启动系统后,我们只需要按中间的ps键就可以自动配对完成

sudo jstest /dev/input/js0

请添加图片描述

三、ROS下的控制操作

1、启动ps4控制

网上很多进行PS4手柄的ROS控制时,需要启动ds4_driver服务,然后在启动对应的控制包,每次启动系统后需要启动这个服务,感觉挺麻烦的,这里自己就写了一个rikibot_ps4的控制包,只需要启动对应的包就可以控制,这里是rikibot用户的小伙伴只要是2022年后买的设备,里面都有相关的系统包,目前适配完成的ROS1系统,后面会适配完成ROS2系统

roslaunch rikibot_ps4 ps4.launch

在这里插入图片描述

2、如何控制RIKIBOT移动设备

由于是自己写的包,控制方式与PS2类似,这里做个简单的介绍

同时按 L1+左摇杆: 往前推遥杆为前进,往后推为后退

同时按 L1+右摇杆:往左推遥杆为左旋转,往右推为右旋转

同时按 L1+ 三角形按键 :线速度加0.1

同时按 L1+ X按键 :线速度减0.1

同时按 L1+ 圆形按键 :角速度加0.1

同时按 L1+ 正方形按键 :角速度减0.1

四、交流方式

QQ交流群:130486387
RIKIBOT店铺连接

要用PS4手柄控制ROS Arduino Bridge小车,您需要在ROS环境中运行一个节点来读取手柄的输入并将其转换为适当的ROS消息,然后将这些消息发送到Arduino板上运行的ROS节点。以下是大致的步骤: 1. 首先,确保您的PS4手柄可以与您的计算机配对,并且可以在Ubuntu中被识别为输入设备。您可以使用“jstest-gtk”命令来测试手柄是否被正确识别。 2. 安装ros-kinetic-joy”软件包,以使ROS能够读取手柄的输入。您可以使用以下命令进行安装: ``` sudo apt-get install ros-kinetic-joy ``` 3. 启动ROS节点,以接收手柄输入并将其转换为ROS消息。您可以使用以下命令启动“joy_node”节点: ``` rosrun joy joy_node ``` 4. 创建一个ROS节点,该节点将订阅“joy_node”节点发布的手柄消息,并将其转换为适当的ROS消息。这个节点应该包含一些逻辑,以将手柄控制转换为适合控制小车的消息。例如,您可以将手柄的左摇杆控制转换为小车的方向控制,将手柄的右摇杆控制转换为小车的速度控制等。 5. 将这些消息通过ROS Arduino Bridge发送到Arduino板上运行的ROS节点。您可以使用rosserial”软件包来实现此功能。安装rosserial”软件包并将其添加到ROS环境中。 6. 在Arduino IDE中编写ROS节点,以接收由ROS节点发送的消息,并将其转换为控制小车的命令。例如,您可以使用ROS节点发送的消息来控制小车的电机或舵机。 7. 将Arduino板连接到您的小车,并确保所有电路都正确连接。然后将Arduino板上的ROS节点上传到板子中。 8. 最后,启动ROS节点和Arduino节点,以确保它们可以相互通信并正确控制小车。您可以使用rostopic”命令和“rosrun”命令来测试节点是否正常运行,并且您可以使用手柄控制小车进行测试。 以上是大致的步骤,其中每个步骤都需要更多的细节和配置才能正常工作。您可以查阅ROS和Arduino的文档以获得更详细的信息和指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值