HCR开源机器人项目-通信协议

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

HCR开源机器人项目-通信协议版本:0.11第1页,总共12页HCR开源机器人项目-通信协议项目主页:开源机器人项目-通信协议版本:0.11第2页,总共12页项目发起:主赞助商:开源机器人项目-通信协议版本:0.11第3页,总共12页目录文档说明...................................................................................4协议格式说明...........................................................................4通信协议...................................................................................5电机功率控制指令..................................................................................................5电机速度控制指令..................................................................................................6舵机控制指令..........................................................................................................7碰撞传感器读取指令..............................................................................................9红外距离传感器读取指令......................................................................................9超声波距离传感器读取指令................................................................................10电子罗盘传感器读取指令....................................................................................10编码器读取指令....................................................................................................11PID参数设置指令.................................................................................................11备注.........................................................................................12HCR开源机器人项目-通信协议版本:0.11第4页,总共12页文档说明本协议将作为HCR项目的的正式官方通信协议。未来的底层硬件或者上位机都将参照本协议的内容开发。此版本的通信协议仅满足HCR第一阶段需求,可以实现电机功率操控,碰撞以及红外传感器数据读取,舵机控制。协议格式说明一个完整的协议由以下几部分组成字头:每组命令或者返回值都以字头开始设备地址:命令要控制的设备地址桢长度:表示内容的长度命令字:代表具体的控制指令电机控制命令字范围区间0x01-0x10传感器读取命令字范围区间0x11-0x50内容:为具体的参数值校验和:将从字头开始的所有命令做加法,取低2为作为校验和值结束字:以0x0A作为结束字,方便高级语言以ReadLine方式读取返回值命令字:返回值:字头设备地址桢长度命令字内容校验和结束字0x550xAA0x100x020x04XXSUM0x0A字头设备地址桢长度命令字内容校验和结束字0x550xAA0x100x010x04XXSUM0x0AHCR开源机器人项目-通信协议版本:0.11第5页,总共12页通信协议电机功率控制指令命令字:P1,P2为两路电机的功率值,0x80表示速度为0,0xFF表示100%功率正向转动,0x00表示功率100%反方向转动返回值:无样例:两路电机以60%功率正转发送命令字:两路电机以50%功率反转发送命令字:字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010x020x01P1P2SUM0x0A字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010x020x010xCC0xCC0x9D0x0A字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010x020x010x400x400x840x0AHCR开源机器人项目-通信协议版本:0.11第6页,总共12页电机速度控制指令命令字:S1,S2为两路电机的速度值,0x80表示速度为0,0xFF表示100%最大速度正向转动,0x00表示100%最大速度反方向转动返回值:无样例:两路电机以60%最大速度正转发送命令字:两路电机以50%的最大速度反转发送命令字:字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010x020x02S1S2SUM0x0A字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010x020x020xCC0xCC0x9D0x0A字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010x020x020x400x400x840x0AHCR开源机器人项目-通信协议版本:0.11第7页,总共12页舵机控制指令命令字:P1,P2为两路舵机的位置值返回值:无样例:字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010x020x03P1P2SUM0x0AHCR开源机器人项目-通信协议版本:0.11第9页,总共12页碰撞传感器读取指令命令字:此命令将读取碰撞传感器返回值:字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010x010x11XXSUM0x0A返回值内容说明:XX中的Bit0:Bit2对应3路碰撞。比如:0x01代表一路碰撞被触发,0x07代表3路碰撞同时被触发样例:红外距离传感器读取指令命令字:此命令将返回红外传感器读数,返回值:字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010xN0x120xX10xX20xN0xX20x0A其中桢长度0x0N表示有几路红外传感器,默认值为5路。内容值将由N路红外传感器读数组成。样例:字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010x010x110xFF0x130x0A字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010x010x120xFF0x140x0AHCR开源机器人项目-通信协议版本:0.11第10页,总共12页超声波距离传感器读取指令命令字:此命令将返回超声波传感器读数,返回值:字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010xN0x130xX10xX20xNSUM0x0A其中桢长度0x0N表示有几路超声波传感器,默认值为3路。内容值将由N路超声波传感器读数组成。样例:电子罗盘传感器读取指令命令字:此命令将返回电子罗盘读数,返回值:字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010x020x14HLSUM0x0A内容值将由2字节组成代表0-3599,表示0-359.9度样例:字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010x010x130xFF0x150x0A字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010x010x140xFF0x160x0AHCR开源机器人项目-通信协议版本:0.11第11页,总共12页编码器读取指令命令字:此命令将返回编码器读数,返回值:字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010x040x15H1L1H2L2SUM0x0AH1L1为1号编码器的读数,高字节在前H2L2为2号编码器的读数,高字节在前样例:PID参数设置指令命令字:此命令将返回编码器读数,返回值:字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010x010x150x00或者0x01SUM0x0A0x01表示成功设置,0x00表示设置失败样例:字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010x010x150xFF0x170x0A字头设备地址桢长度命令字内容校验和结束字0x550xAA0x010x010x150xFF0x170x0AHCR开源机器人项目-通信协议版本:0.11第12页,总共12页备注本文档的更新请关注RoboticFan论坛:=7237版本号修订日期修订人备注0.12009-6-26Ricky协议起草0.112009-06-27Ricky修正0x10为0x0A

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功