机器人技术(4)AtdRobot键盘控制底盘教程
来源:互联网 发布:cf刷等级软件 编辑:程序博客网 时间:2024/06/02 13:09
1 底盘系统介绍(Xu, Chen et al. 2016)
此机器人移动底盘基于ROS(Robot Operation System)系统开发,将复杂的机器人底层“屏蔽”,给开发者提供了一个简单的软件编程环境,大大降低了机器人开发难度。
机器人底盘运动系统的基本构成如下:采用两个直流电机分别控制左右轮,两个编码器采集两轮的转速进行PID闭环控制,核心代码在底层控制器上运行。底层控制器作为一个ROS节点接收与系统进行通行。开发者只需要在ROS系统中输入对应的Topic指令即可控制小车前进、后退与转弯。
本篇是我们机器人系统开发教学的第四篇,将会第一次运行小车,通过一个最简单的教程让大家体会到使用键盘远程控制的效果,让开发者体会ROS系统的神奇。
2 运行键盘控制底盘小车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”是右转。
3 核心代码讲解
键盘控制是通过~/catkin_ws/src/teleop_twist_keyboard文件夹下的teleop_twist_keyboard.py文件实现的。实现过程是通过读取键盘输入值,转化为ROS系统下的cmd_vel话题,小车底盘通过订阅该话题来决定自己的运动状态。
向该主题发布的消息类型是twist,其中twist.linear是底盘运动的线速度,twist.angular是底盘运动的角速度。
4 最后
到这里我门就实现了用键盘控制小车运行的一个简单例程。其中关键点是cmd_vel指令和teleop_twist_keyboard.py文件。如果需要自己开发,可以修改我们本文件中的指令即可。
- 机器人技术(4)AtdRobot键盘控制底盘教程
- 机器人技术(1)基于ROS的机器人底盘AtdRobot
- 机器人技术(5)AtdRobot无线手柄控制教程
- 机器人技术(6)AtdRobot语音控制教程
- 机器人技术(7)AtdRobot六自由度机械臂控制教程
- 机器人技术(8)AtdRobot摄像头开发教程
- 机器人技术(9)AtdRobot读取激光雷达数据教程
- 机器人技术(10)AtdRobot读取体感相机XtionProLive教程
- 基于ROS平台的移动机器人-2-小车底盘控制
- 商用机器人底盘的秘密
- 机器人技术(3)机器人操作系统ROS简单教程
- 控制kobuki底盘(一)
- 控制kobuki底盘(二)
- 机器人进阶学习(三)--通过键盘或者利用rostopic 发布话题控制机器人运动
- GLUT教程(五) GLUT键盘控制
- JS键盘控制事件教程
- 基于ROS平台的移动机器人-4-通过ROS利用键盘控制小车移动
- 摩托罗拉:利用Java技术 无线控制机器人
- 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
- RabbitMQ-安装
- 93. Restore IP Addresses
- Boosting和Bagging
- Quorum NWR
- 机器人技术(4)AtdRobot键盘控制底盘教程
- Ubuntu 开机出现 grub rescue> 终端模式修复方法
- 基层sql语句各部分执行顺序
- ForkJoinPool分支合并框架 核心思想->代码演示
- VS2013/SQL SERVER 产品密钥
- macos10.12.5+xcode+opencv3.2配置
- 手机号校验表达式
- eclipse-tomcatplugin部署maven项目方式六
- [单调栈 线段树] Codeforces 407E Round #239 (Div. 1) E. k-d-sequence