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

来源:互联网 发布:cf刷等级软件 编辑:程序博客网 时间:2024/06/02 13:09

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

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

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

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

运行键盘控制底盘小车DEMO

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

      ssh hong@192.168.31.200

      roslaunch ros_arduino_python arduino.launch

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


 

 

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

        ssh hong@192.168.31.200

        rosrun teleop_twist_keyboard teleop_twist_keyboard.py

       开启成功后,如下图所示


 

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

核心代码讲解

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


 

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

最后

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

阅读全文
0 0
原创粉丝点击