遥控机器人
本小节我们将通过两种常见的方式来介绍两种方法来遥控机器人
- 通过电脑键盘来遥控机器人
- 通过PS3游戏手柄来遥控机器人
1 准备开始
- 如果要使用ps3游戏手柄,需要为其装上电池,将里面的接收器插在工控机上。使用时,要打开游戏手柄背后的开关,然后在正面按MODE上方的按钮,点亮下面的LED灯。
2 通过电脑键盘来遥控机器人
2.1 简明步骤
您只需要在工控机打开两个终端,分别输入下面两条指令即可
roslaunch handsfree_hw handsfree_hw.launch
roslaunch handsfree_teleop keyboard_teleop.launch
2.2 键盘遥控带有工控机套餐的机器人
打开终端(Ctrl+Alt+T),打开机器人驱动节点
roslaunch handsfree_hw handsfree_hw.launch
正常情况下,会显示:
打开第二个终端(Ctrl+Alt+T或Ctrl+Shift+T),打开键盘控制节点
roslaunch handsfree_teleop keyboard_teleop.launch
正常情况下,会显示:
根据终端的英文提示,通过键盘的
u i o j k l m , .
九个键来控制机器人的移动,通过q/z,w/x,e/c
来控制机器人移动的速度,空格键和k用来强制停车,其他按键用于平稳停车。到了这里您手中的机器人就可以通过键盘移动起来了,如果您的键盘是无线键盘,那么您可以拔掉显示器,通过键盘让您的机器人跑起来了。
2.3 键盘遥控基础版机器人
安装好对应等ubuntu系统,配置好相关的环境后,您只需要将机器人的usb接口连接到您的电脑后就可以开始尝试遥控这台机器人了。
如果您是通过虚拟机来尝试,需要注意usb口的连接配置,否则会出现找不到机器人的提示
FTDI FT232R USB UART [0600]是mini机器人的usb设备名,在虚拟机上要确保该设备是被选中的。
打开终端,打开机器人驱动节点
roslaunch handsfree_hw handsfree_hw.launch
正常情况下,会显示:
打开第二个终端,打开键盘控制节点
roslaunch handsfree_teleop keyboard_teleop.launch
正常情况下,会显示:
3 通过PS3游戏手柄来遥控机器人
3.1 简明步骤
您只需要在工控机打开两个终端,分别输入下面两条指令即可
roslaunch handsfree_hw handsfree_hw.launch
roslaunch handsfree_teleop ps3_teleop.launch
tips:垂直按下左摇杆,然后晃动摇杆,机器人就会动起来了。摇晃的幅度越大,机器人的速度也就越快,要小心晃动摇杆。
3.2 PS3遥控带有工控机套餐的机器人
我们以莱仕达剑神TE无线游戏手柄为例,来讲解如何通过PS3游戏手柄来遥控机器人。
打开终端,输入下面这条命令
ls /dev/input/
将游戏手柄的接收器插到机器人工控机的usb接口上,在之前打开的终端再次输入条命令
ls /dev/input/
正常情况下,会出现只会出现一个 js0
如果您发现电脑识别出的接收器不是js0,而是jsX(X指的是其他数字),比如下面这张图
一开始,没有插接收器时,就有 js0和js1,当插入接受器时,出现了 js2
确保手柄的电池已经安装,打开游戏手柄的开关,LED指示灯是亮的。打开终端输入
sudo jstest /dev/input/js0
tips:如果您的是jsX(X指的是其他数字),请将js0替换为jsX
正常情况下,会出现
现在您可是使用您的手柄,看看终端是否在打印数据。
打开终端(Ctrl+Alt+T),输入下面的指令
roslaunch handsfree_hw handsfree_hw.launch
正常情况下,会显示:
重新打开一个终端(Ctrl+Alt+T或Ctrl+Shift+T),输入下面指令
roslaunch handsfree_teleop ps3_teleop.launch
正常情况下,会显示:
如果出现了这样的错误,而您电脑检测到的接收器是js0,您先试着执行步骤6看看机器人能否动起来。
如果您电脑检查到的接收器是jsX(X指的是其他数字),就需要在去修改我们的ps3_teleop.launch文件,打开新终端,输入下面指令
gedit ~/handsfree/handsfree_ros_ws/src/handsfree/handsfree_hw/launch/ps3_teleop.launch
也可以到该目录下打开,打开后需要进行图中的3、4、步骤,记得将
js2
修改为您电脑识别接收器的jsX(X指的是其他数字)
保存修改后的文件,然后使用Ctrl+C停止
roslaunch handsfree_teleop ps3_teleop.launch
的进程,再次在终端运行roslaunch handsfree_teleop ps3_teleop.launch
虽然还是会出现ERROR,但是可以通过步骤6遥控机器人了
垂直按下左摇杆,然后晃动摇杆,您的机器人就会动起来啦。
tips:垂直按下左摇杆,然后晃动摇杆,机器人就会动起来了。摇晃的幅度越大,机器人的速度也就越快,要小心晃动摇杆。
3.3 PS3遥控基础版机器人
安装好对应ubuntu系统,配置好相关的环境后,您只需要将机器人等usb接口连接到您的电脑后就可以开始尝试遥控这台机器人了。
如果您是通过虚拟机来尝试,需要注意机器人usb口的连接配置和ps3游戏手柄usb口的连接配置,否则会出现找不到机器人的提示,找不到手柄。
打开终端,输入下面这条命令
ls /dev/input/
将游戏手柄的接收器插到机器人工控机的usb接口上,在之前打开的终端再次输入这条命令
ls /dev/input/
正常情况下,会出现只会出现一个 js0
如果您发现电脑识别出的接收器不是js0,而是jsX(X指的是其他数字),比如下面这张图
一开始,没有插接收器时,就有 js0和js1,当插入接受器时,出现了 js2
确保手柄的电池已经安装,打开游戏手柄的开关,LED指示灯是亮的。打开终端输入
sudo jstest /dev/input/js0
tips:如果您的是jsX(X指的是其他数字),请将js0替换为jsX
正常情况下,会出现
现在您可是使用您的手柄,看看终端是否在打印数据。
打开终端,输入下面的指令
roslaunch handsfree_hw handsfree_hw.launch
正常情况下,会显示:
打开新终端,输入下面指令
roslaunch handsfree_teleop ps3_teleop.launch
正常情况下,会显示:
如果出现了这样的错误,而您电脑检测到的接收器是js0,您先试着执行步骤8看看机器人能否动起来。
如果您电脑检查到的接收器是jsX(X指的是其他数字),就需要在去修改我们的ps3_teleop.launch文件
您可以通过搜索找到这个文件,也可以去相关目录下找到该文件。您在打开launch文件时,需要鼠标右键,在打开方式上选择gedit。
打开后需要进行图中的3、4、步骤,记得将
js2
修改为您电脑识别接收器的jsX(X指的是其他数字)
然后使用Ctrl+C停止
roslaunch handsfree_teleop ps3_teleop.launch
的进程,再次在终端运行roslaunch handsfree_teleop ps3_teleop.launch
虽然还是会出现ERROR,但是可以通过步骤8遥控机器人了
垂直按下左摇杆,然后晃动摇杆,您的机器人就会动起来啦。
tips:垂直按下左摇杆,然后晃动摇杆,机器人就会动起来了。摇晃的幅度越大,机器人的速度也就越快,要小心晃动摇杆。