- 2
- 0
- 约3.42千字
- 约 5页
- 2021-02-25 发布于四川
- 举报
基于位置关联的竞赛机器人任务序列优化软件结构设计
目前循迹机器人的应用研究侧重于本体组成设计、路径优化设计、稳定驱动设计[3,4]、传感器选型设计等领域,机器人本体MCU(Microcontroller Unit)控制软件的结构设计关注偏低。本文以一款遥控智能赛车(以下称“循迹机器人”)、安卓遥控手机(以下称“移动控制端”)为实验对象,以赛道地图、任务集合为需求输入,通过任务节点的特征分析,给出有效的循迹机器人控制软件结构设计方案。
2 任务分析(Task analysis)
2.1 任务概述
利用移动控制端软件,控制循迹机器人完成赛道上的各项任务,如图1所示。赛道地图背景色为灰色无光;赛道为白色,宽30cm;寻迹线为黑色,宽3cm;循迹机器人以循迹线为赛道在行驶的同时完成移动控制端下发的各工作点任务,以入车库为任务终点。图中A、B、C三个位置为工作点停车线,A、B、两处可按指令前进到工作线位置,C点则通过测距或固定位移方式前进,停车后执行任务。1#车库为起点,2~4#为候选入库停车位。
2.2 任务特征细分
通过对循迹机器人(含移动控制端)任务特征的类属、执行设备、通讯方式、赛道位置和参数等维度项的分析,归结为表1所示的任务特征细分。类属的候选值有:A循迹路径驱动、B信号检测、C摄像及视频nfc信息处理、D赛道指令,其中A、B、D类任务由循迹机器人执行,C类由移动控制端执行。执行设备包括:A下位机(循迹机器人)、B上位机(移动控制端)。通讯方式的候选值有:A由上位机向下位机单向发送、B由下位机向上位机单向发送、C双向传输(存在握手需求:即机器人接受命令并执行后需向安卓移动端返回执行结果)、D无需通讯。赛道位置由命令帧或者数据报帧决定,表1不作定义。
2.3 硬件结构
循迹机器人的硬件系统构成包括:核心板、循迹驱动板、任务板和云台摄像头等部件。核心板采用宏晶STC15系列*****K61S2为MCU,通过电缆分别与其他部件连接,Keil C51为开发平台。循迹采用8组红外对管(TCR T5000),驱动采用L298N器件,用PWM信号驱动两侧车轮电机。任务板包括超声波测距、光强度检测、光敏检测、红外收发等器件。
3 MCU软件结构(MCU software structure)
文献[6,7]在机器人本体MCU上采用顺序式控制,缺少对于任务序列的结构性变更、随机性调整的灵活性,软件的冗余度偏高。本文根据任务特征细分和循迹机器人硬件结构设计,MCU软件结构设计包括:与移动控制端的通讯协议、任务节点数据结构、主控流程。
3.1 通讯协议
移动控制端通过WIFI转串口方式向循迹机器人发ASCⅡ格式命令帧,包括下列字段:命令帧起始字符、命令协议字符(必要时附带2位十进制参数数)、通讯方式字符(同表1)、机器人位置(同表2)字符、命令帧结尾字符。
循迹机器人向移动控制端发送数据报帧包括下列字段:数据帧起始字符、传感器数据(4位十进制数)、信号协议字符(命令帧中的信号采集命令协议字符)、机器人位置(同表2)、数据帧结尾字符。
循迹机器人的运行状态及位置如表2所示。图1中的三个工作位置中A、B点均有停车线和工作线,C点停车线即工作线。
3.2 任务节点数据结构
循迹机器人通常在起点处获得移动控制端下发的任务序列,在赛道上亦可随机收取新任务并插入到任务序列中。异常状态(如,出界)下,循迹机器人可主动插入数据报来重构任务序列。根据循迹机器人任务节点的离散、有序、与位置关联的特点,选择链表表征任务节点数据结构,并实现任务序列的构造与管理。按照循迹机器人任务特征细分(表1),以及命令帧格式、数据报帧格式的设计,且便于反向追溯,循迹任务链表设计为双链表:
#define uchar unsigned char//类型定义
uchar Robot_Status ;//机器人赛道状态、位置
typedef struct {//循迹任务链表數据结构
char Type; //类属(缺省值:A)
char Executor; //执行设备(缺省值:A)
char CommunicationMode; //通讯方式
char Command;//命令字符
uchar Location; //机器人位置:与执行命令关联的Robot_Status位置值,点动命令为空
uchar Status; //机器人状态:当前循迹任务结束时的Robot_Status状态值
struct Task_Tracking *link_next;//直接后继循迹任务的指针
原创力文档

文档评论(0)