0x00 前情回顾

OriginBot我的第一辆智能小车

0x01 PS2手柄

无线手柄,USB接收器。某宝上有很多,大概¥30一套;

注:Xbox类手柄可能需要另外安装驱动,本教程暂不涉及。

0x02 实验步骤

1、启动小车,将USB接收器插入旭日X3派;

2、登录小车;

ssh root@192.168.0.13

注:这做这一步之前,请根据 OriginBot 在线文档,完成无线网络配置操作。并将教程中的Ip地址修改为您小车自身的Ip地址。

3、加载 Joydev 驱动;

sudo modprobe -a joydev

如果直接按着官方的教程去做,旭日x3派设备列表中没有 'js0',识别不到设备;

注:此方法重启后失效,欲经常使用,请将此命令添加到启动文件。sudo vi /etc/rc.local

4、查看设备列表;

sudo ls /dev/input

5、安装joystick工具包,测试手柄;

sudo apt-get install joystick

注:如果未定位到软件包,可以尝试 sudo apt-get update,之后再安装;

6、测试手柄;

jstest /dev/input/js0

显示手柄的按键变化,逐个按下手柄按键,观察这些数据;

7、启动小车底盘;

ros2 launch originbot_bringup originbot.launch.py

此时蜂鸣器会响一下。参考在线文档

8、启动 Teleop节点;

再启动一个终端,重复第2步。之后输入如下命令启动手柄节点:

ros2 launch originbot_bringup joy_teleop.launch.py

9、操作手柄控制小车;

  • 常速运行:按住L1,拨动手柄左侧摇杆,控制机器人运动
  • 快速运行:按住R1,拨动手柄左侧摇杆,控制机器人运动

10、运行效果;

0x03 近期学习总结

1、学习了ROS1,能够新建catkin包和节点,编写话题发布和订阅程序,能够查阅和处理std_msgs、sensor_msgs消息格式。会使用基本的ROS命令行工具。

2、正在跟着《古月ROS21讲》学习ROS2,为将来能够编译小车代码做准备;

0x04 未来

1、编写手柄控制蜂鸣器或LED小灯的节点;

2、理解并编译小车巡线的功能包;

3、尝试入门旭日x3派的机器人平台;