遥控机器人

本小节我们将通过两种常见的方式来介绍两种方法来遥控机器人

  • 通过电脑键盘来遥控机器人
  • 通过PS3游戏手柄来遥控机器人

1 准备开始

  1. 如果要使用ps3游戏手柄,需要为其装上电池,将里面的接收器插在工控机上。使用时,要打开游戏手柄背后的开关,然后在正面按MODE上方的按钮,点亮下面的LED灯。

2 通过电脑键盘来遥控机器人

2.1 简明步骤

您只需要在工控机打开两个终端,分别输入下面两条指令即可

roslaunch handsfree_hw handsfree_hw.launch
roslaunch handsfree_teleop keyboard_teleop.launch

2.2 键盘遥控带有工控机套餐的机器人

  1. 打开终端(Ctrl+Alt+T),打开机器人驱动节点

     roslaunch handsfree_hw handsfree_hw.launch
    

    正常情况下,会显示:
    handsfree_hw

  2. 打开第二个终端(Ctrl+Alt+T或Ctrl+Shift+T),打开键盘控制节点

     roslaunch handsfree_teleop keyboard_teleop.launch
    

    正常情况下,会显示:
    keyboard_teleop

    根据终端的英文提示,通过键盘的u i o j k l m , .九个键来控制机器人的移动,通过q/z,w/x,e/c来控制机器人移动的速度,空格键和k用来强制停车,其他按键用于平稳停车。

    到了这里您手中的机器人就可以通过键盘移动起来了,如果您的键盘是无线键盘,那么您可以拔掉显示器,通过键盘让您的机器人跑起来了。

2.3 键盘遥控基础版机器人

  1. 安装好对应等ubuntu系统,配置好相关的环境后,您只需要将机器人的usb接口连接到您的电脑后就可以开始尝试遥控这台机器人了。

  2. 如果您是通过虚拟机来尝试,需要注意usb口的连接配置,否则会出现找不到机器人的提示
    vm-handsfree_hw

    FTDI FT232R USB UART [0600]是mini机器人的usb设备名,在虚拟机上要确保该设备是被选中的。

  3. 打开终端,打开机器人驱动节点

     roslaunch handsfree_hw handsfree_hw.launch
    

    正常情况下,会显示:
    handsfree_hw

  4. 打开第二个终端,打开键盘控制节点

     roslaunch handsfree_teleop keyboard_teleop.launch
    

    正常情况下,会显示:
    keyboard_teleop

3 通过PS3游戏手柄来遥控机器人

3.1 简明步骤

您只需要在工控机打开两个终端,分别输入下面两条指令即可

roslaunch handsfree_hw handsfree_hw.launch
roslaunch handsfree_teleop ps3_teleop.launch

tips:垂直按下左摇杆,然后晃动摇杆,机器人就会动起来了。摇晃的幅度越大,机器人的速度也就越快,要小心晃动摇杆。

3.2 PS3遥控带有工控机套餐的机器人

我们以莱仕达剑神TE无线游戏手柄为例,来讲解如何通过PS3游戏手柄来遥控机器人。

  1. 打开终端,输入下面这条命令

     ls /dev/input/
    
  2. 将游戏手柄的接收器插到机器人工控机的usb接口上,在之前打开的终端再次输入条命令

     ls /dev/input/
    

    正常情况下,会出现只会出现一个 js0
    look_js0

    如果您发现电脑识别出的接收器不是js0,而是jsX(X指的是其他数字),比如下面这张图
    look_js

    一开始,没有插接收器时,就有 js0和js1,当插入接受器时,出现了 js2

  3. 确保手柄的电池已经安装,打开游戏手柄的开关,LED指示灯是亮的。打开终端输入

     sudo jstest /dev/input/js0
    

    tips:如果您的是jsX(X指的是其他数字),请将js0替换为jsX

    正常情况下,会出现
    input_js0

    现在您可是使用您的手柄,看看终端是否在打印数据。

  4. 打开终端(Ctrl+Alt+T),输入下面的指令

     roslaunch handsfree_hw handsfree_hw.launch
    

    正常情况下,会显示:
    handsfree_hw

  5. 重新打开一个终端(Ctrl+Alt+T或Ctrl+Shift+T),输入下面指令

     roslaunch handsfree_teleop ps3_teleop.launch
    

    正常情况下,会显示:
    ps3_teleop

    如果出现了这样的错误,而您电脑检测到的接收器是js0,您先试着执行步骤6看看机器人能否动起来。
    error_js

    如果您电脑检查到的接收器是jsX(X指的是其他数字),就需要在去修改我们的ps3_teleop.launch文件,打开新终端,输入下面指令

     gedit ~/handsfree/handsfree_ros_ws/src/handsfree/handsfree_hw/launch/ps3_teleop.launch
    

    也可以到该目录下打开,打开后需要进行图中的3、4、步骤,记得将 js2修改为您电脑识别接收器的jsX(X指的是其他数字)
    xuigai

    保存修改后的文件,然后使用Ctrl+C停止roslaunch handsfree_teleop ps3_teleop.launch的进程,再次在终端运行

     roslaunch handsfree_teleop ps3_teleop.launch
    

    虽然还是会出现ERROR,但是可以通过步骤6遥控机器人了

  6. 垂直按下左摇杆,然后晃动摇杆,您的机器人就会动起来啦。

    tips:垂直按下左摇杆,然后晃动摇杆,机器人就会动起来了。摇晃的幅度越大,机器人的速度也就越快,要小心晃动摇杆。

3.3 PS3遥控基础版机器人

  1. 安装好对应ubuntu系统,配置好相关的环境后,您只需要将机器人等usb接口连接到您的电脑后就可以开始尝试遥控这台机器人了。

  2. 如果您是通过虚拟机来尝试,需要注意机器人usb口的连接配置和ps3游戏手柄usb口的连接配置,否则会出现找不到机器人的提示,找不到手柄。
    ps3_usb

  3. 打开终端,输入下面这条命令

     ls /dev/input/
    
  4. 将游戏手柄的接收器插到机器人工控机的usb接口上,在之前打开的终端再次输入这条命令

     ls /dev/input/
    

    正常情况下,会出现只会出现一个 js0
    look_js0

    如果您发现电脑识别出的接收器不是js0,而是jsX(X指的是其他数字),比如下面这张图
    look_js

    一开始,没有插接收器时,就有 js0和js1,当插入接受器时,出现了 js2

  5. 确保手柄的电池已经安装,打开游戏手柄的开关,LED指示灯是亮的。打开终端输入

     sudo jstest /dev/input/js0
    

    tips:如果您的是jsX(X指的是其他数字),请将js0替换为jsX

    正常情况下,会出现
    input_js0

    现在您可是使用您的手柄,看看终端是否在打印数据。

  6. 打开终端,输入下面的指令

     roslaunch handsfree_hw handsfree_hw.launch
    

    正常情况下,会显示:
    handsfree_hw

  7. 打开新终端,输入下面指令

     roslaunch handsfree_teleop ps3_teleop.launch
    

    正常情况下,会显示:
    ps3_teleop

    如果出现了这样的错误,而您电脑检测到的接收器是js0,您先试着执行步骤8看看机器人能否动起来。
    error_js

    如果您电脑检查到的接收器是jsX(X指的是其他数字),就需要在去修改我们的ps3_teleop.launch文件

    您可以通过搜索找到这个文件,也可以去相关目录下找到该文件。您在打开launch文件时,需要鼠标右键,在打开方式上选择gedit。

    打开后需要进行图中的3、4、步骤,记得将 js2修改为您电脑识别接收器的jsX(X指的是其他数字)
    xuigai

    然后使用Ctrl+C停止roslaunch handsfree_teleop ps3_teleop.launch的进程,再次在终端运行

     roslaunch handsfree_teleop ps3_teleop.launch
    

    虽然还是会出现ERROR,但是可以通过步骤8遥控机器人了

  8. 垂直按下左摇杆,然后晃动摇杆,您的机器人就会动起来啦。

    tips:垂直按下左摇杆,然后晃动摇杆,机器人就会动起来了。摇晃的幅度越大,机器人的速度也就越快,要小心晃动摇杆。

results matching ""

    No results matching ""