用串口控制kobuki, 绕过ROS系统
来源:互联网 发布:mac微信怎么截图 编辑:程序博客网 时间:2024/05/16 08:36
介绍:
下面所做的事情, 用串口来控制kobuki底座运动, 绕过ros系统, 首先测试一下串口命令是否可用
硬件设备
- kobuki: turtlebot的底座:kobuki
- usb连接: 用usb线将kobuki和电脑连接起来, 不是25针的接口
- windows系统: 这里我用的是window7
软件
- window下面, 串口调试工具 下载地址
文档
- kobuki串口协议文档
中文版
英文版
测试
用usb线连接kobuki和电脑
我的电脑-> 管理 -> 设备管理器 -> 端口, 然后查看kobuki用的哪一个端口。
我这里用的是:COM3
打开串口调试工具, 设置串口, 如下图所示:
设置串口号, 波特率等等, 然后点击打开, 如果正常的话, 右边串口数据接收处, 应该会接收到很多数据, 并且一直接收数据。
4 . 测试kobuki串口协议
例如:
直行命令: AA 55 06 01 04 80 00 00 00 00
- AA: header0, 固定的
- 55: header1,固定的
- 06: length, 计算有效长度, 有效长度是几位, 就填几
- 01: 命令包的id
- 04: 信息的长度
- 80 00: 速度, 速度占两位, 所以, 80 00 这两个其实是一起的, 但是协议上说是反序列化, 所以80 00的速度其实是0X80mm/s, 80是16进制的
- 00 00: 运动半径,其实就是转弯, 下面重点讨论速度和运动半径。
- 00: 校验位, 随便填, 我发现其实并没有进行校验, 但不能不填
5 . 点击发送, kobuki就能运动起来了
6 . 其他命令
- 提示音AA 55 03 04 01 00 00
下面我们重点讨论一下速度和半径是怎么让小车前进和后退, 以及左转和右转的。
前进: 小车速度V取值从0X0000开始, V增大, 小车速度增大, 并且方向向前。当V达到0X0650左右时, 小车速度达到上限, 不在运动。
后退: 小车速度V取值从0XFFFF开始, V减小, 小车速度增大, 同样,速度不能无限增大, 到达的极值我没有测试, 有兴趣的可以自己去测试。
左转: 运动半径R取值从0X0000开始,R增大, 转弯半径增大
右转: 运动半径R取值从0XFFFF开始,R减小, 转弯半径增大
记住,协议说的反序列化, 因此V等于0X0080时, 当改写成0X80, 0X00
- 用串口控制kobuki, 绕过ROS系统
- kobuki(turtlebot)+rplidar 串口调试--ROS
- ROS学习记录(2)--控制Kobuki
- ROS学习记录(3)--Kobuki控制大合集
- 2.ROS串口控制
- kobuki 学习笔记for ROS
- 控制kobuki 运行一个矩形: 类的形式写ROS节点程序
- 控制kobuki底盘(一)
- 控制kobuki底盘(二)
- ros中kobuki(turtlebot)+rplidar 跑gmapping
- ros中利用gazebo进行gmapping仿真:kobuki+kinect -> kobuki+rplidar
- 手机模拟蓝牙手柄控制kobuki底座
- Kobuki学习之一:Linux驱动安装(不使用ROS)
- DOS系统下控制串口(1)
- ros中使用串口
- ROS中使用串口
- 利用ROS系统实现工业机器人的控制
- UR5机械臂--ROS系统通信建立与实时控制
- linux中的统计、排序之wc
- 重载(overload),覆盖(override),隐藏(hide)的区别
- Windows下caffe训练自己的数据(2016-03-28)
- Check Box&Radio Button
- 反向代理负载均衡Nginx的http和tcp代理
- 用串口控制kobuki, 绕过ROS系统
- Android display架构分析-SW架构分析(1-8)
- Wifi架构流程
- 论文阅读:Automatic Synthesis of Panoramic Radiographs from Dental Cone Beam Computed Tomography Data
- 安卓4.4以上使用webView调用JavaScript没有响应
- 【Leetcode】167. Two Sum II
- Memcache 查看列出所有key方法
- PHP 中获取文件扩展名小结
- Solaris实用命令