机器人技术(4)AtdRobot键盘控制底盘教程

底盘系统介绍(Xu, Chen et al. 2016)

    此机器人移动底盘基于ROSRobot Operation System)系统开发,将复杂的机器人底层“屏蔽”,给开发者提供了一个简单的软件编程环境,大大降低了机器人开发难度。

    机器人底盘运动系统的基本构成如下:采用两个直流电机分别控制左右轮,两个编码器采集两轮的转速进行PID闭环控制,核心代码在底层控制器上运行。底层控制器作为一个ROS节点接收与系统进行通行。开发者只需要在ROS系统中输入对应的Topic 指令即可控制小车前进、后退与转弯。                                                                       机器人技术(4)AtdRobot键盘控制底盘教程_第1张图片

       本篇是我们机器人系统开发教学的第四篇,将会第一次运行小车,通过一个最简单的教程让大家体会到使用键盘远程控制的效果,让开发者体会ROS系统的神奇。

运行键盘控制底盘小车DEMO

      开启一个终端,运行底盘控制主节点,输入:

      ssh [email protected]

      roslaunch ros_arduino_python arduino.launch

      如下图所示,节点即开启成功。                                                                                                                                                                                                                                          

机器人技术(4)AtdRobot键盘控制底盘教程_第2张图片

 机器人技术(4)AtdRobot键盘控制底盘教程_第3张图片

 

        重新打开一个终端,开启键盘节点:

        ssh [email protected]

        rosrun teleop_twist_keyboard teleop_twist_keyboard.py

       开启成功后,如下图所示

机器人技术(4)AtdRobot键盘控制底盘教程_第4张图片

 

    至此,就可以通过键盘控制底盘移动了。其中,i是前进,“,”是后退,j是左转,l是右转。

核心代码讲解

    键盘控制是通过~/catkin_ws/src/teleop_twist_keyboard文件夹下的teleop_twist_keyboard.py文件实现的。实现过程是通过读取键盘输入值,转化为ROS系统下的cmd_vel话题,小车底盘通过订阅该话题来决定自己的运动状态。

机器人技术(4)AtdRobot键盘控制底盘教程_第5张图片

 

    向该主题发布的消息类型是twist,其中twist.linear是底盘运动的线速度,twist.angular是底盘运动的角速度。

最后

    到这里我门就实现了用键盘控制小车运行的一个简单例程。其中关键点是cmd_vel指令和teleop_twist_keyboard.py文件。如果需要自己开发,可以修改我们本文件中的指令即可。

你可能感兴趣的:(机器人技术)