用串口控制kobuki, 绕过ROS系统

来源:互联网 发布:mac微信怎么截图 编辑:程序博客网 时间:2024/05/16 08:36

介绍:

下面所做的事情, 用串口来控制kobuki底座运动, 绕过ros系统, 首先测试一下串口命令是否可用

硬件设备

  • kobuki: turtlebot的底座:kobuki
  • usb连接: 用usb线将kobuki和电脑连接起来, 不是25针的接口
  • windows系统: 这里我用的是window7

软件

  • window下面, 串口调试工具 下载地址

文档

  • kobuki串口协议文档
    中文版
    英文版

测试

  1. 用usb线连接kobuki和电脑

  2. 我的电脑-> 管理 -> 设备管理器 -> 端口, 然后查看kobuki用的哪一个端口。

    我这里用的是:COM3

  3. 打开串口调试工具, 设置串口, 如下图所示:

设置串口号, 波特率等等, 然后点击打开, 如果正常的话, 右边串口数据接收处, 应该会接收到很多数据, 并且一直接收数据。

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

0 0
原创粉丝点击