0 引言
小型机器人足球融合机械设计、自动控制、无线通信、图像识别、智能体设计等多项技术,已成为机器人研究领域中的一个十分引人注目的热点。机器人足球比赛系统是一个闭环控制系统,它一般由决策、机器人小车、视觉和无线通信四个子系统组成。其中,无线通信系统是衔接主机和底层机器人之间联系的不可缺少的一环,其主要任务是将决策系统的控制命令实时准确地传送给每个机器人,机器人按照决策系统的指令做出相应的动作,其通信性能好坏,将严重影响机器人的运动和比赛的顺利进行。由于机器人足球比赛是一个动态、快速的实时系统,要求无线通信系统有较高的通信速率、稳定性和抗干扰性。另外,通信模块的大小也要适应足球机器人小车小型化的要求。因而,开发出通信速率高、集成度好、可靠性高、抗干扰能力强的无线通信系统对于赢得比赛具有重要的意义。本文为提高通信系统的性能,设计开发了一种基于PTR6000的高速无线通信系统。
1 足球机器人无线通信机理及通信硬件的选用
根据比赛规则,主机和机器人小车之间的通信采用无线方式,且两支球队的无线频道不同。无线通信系统负责将主机决策机构形成的控制命令通过计算机控制串行数据输出至无线发射器,经调制后发射出去,机器人小车上的接收模块解调出无线信号上所载的命令信息,然后传送给车载微处理器进一步处理,各机器人必须根据自身的程序去筛选属于自己的命令信息。
作为无线通信的空中接口,通信芯片的选型会直接影响到系统通信的高效性和可靠性。根据本系统对无线通信装置提出的频率可选、通信速率高、性能可靠、体积小等要求,本系统选定挪威Nordic公司nRF2401芯片的PTR6000模块作为无线数据收发模块。其工作在全球开发的2.4 GHz ISM频段,通信速率高达2 Mb/s,有125个频道,满足多频及跳频需要;另外半双工无线收发一体,因而通信方式比较灵活;体积小,所需外围元件少,接口电路简单,因此特别适合于足球机器人小型化的要求;可直接连接单片机串口,也可接PC机RS 232串口,软件编程非常方便;抗干扰能力强;功耗小。
2 无线通信系统硬件电路的设计
2.1 发射器的设计
在无线发射器中,核心部件采用了AT89LS52单片机和PTR6000的超高频无线收发模块,配合电平转换电路及逻辑电路而成,其电路图如图1所示。从图中可以看出,AT89LS52的RXD口接收来自PC机的数据信号,通过对PTR6000的初始化,使它工作在发射状态,ShockBurst模式定义数据包格式,同时通过CE,CLK和DATA三线接口将数据发射出去,实现数据的发送。
由于PC机串口采用RS 232电平,而无线通信模块PTR6000以及单片机AT89LS52均使用TTL/CMOS电平,所以要进行电平转换。本系统中采用MAX232芯片,它是一种电平转换芯片,可以将TTL转换为RS 232,或将RS 232转换为TTL,能满足单片机或普通计算机的通信电平转换要求
2.2 接收器的设计
接收器电路图如图2所示。接收端装在每个机器人小车上,由于机器人小车的控制采用DSP控制器TMS320LF2407A,因而在接收端PTR6000无线通信模块就采用TMS320LF2407A来控制。因PTR6000模块与单片机采用的电平标准同为TTL/CMOS电平,所以在接收端直接将两者连接。上电以后TMS320LF2407A首先配置PTR6000模块,先将CS,CE设为配置模式,TMS320LF2407A通过PTR6000的CLKI,DATA将120 b配置数据移入PTR6 000模块,完成无线模块寄存器配置后,由TMS320LF2407A控制CS,CE启动接收模式。当接收数据的地址与本机地址一致时,通过DRI输出中断指示(高电平有效),DSP通过DATA,CLKI接收数据。
另外,在本系统设计中增加了跳频拨码开关,与之对应的发射电路也设置了跳频拨码开关,通过调整拨码开关的位置输入不同的电平组合信号便可由软件跳转到相应频道,以适应比赛时更换频率的需要。
3 无线通信系统软件设计
3.1 无线通信方式与协议
由于足球机器人的活动空间有限,通常采用单向通信方式。为了实现一对多的通信,采用广播方式,所有的机器人采用与发射器相同的通信频率。每个控制周期无线发射器发射一帧数据给本方所有机器人,各机器人根据自身编号读取数据帧的不同字段,获得自己的运动控制指令。
本系统的足球机器人采用两轮差动方式驱动,因此,机器人的运动控制指令就是该机器人的左右轮速度设定值。足球机器人系统命令格式如表1所示。赛场上的机器人小车首先接收机器人标识字节,并与自身的标志相比较。当比较匹配时,则认定后面的2个字节是发送给本机的指令,准备接收;否则,屏蔽掉后面的2个字节的指令,等待下一组的指令信息。
3.2 收发器的软件设计
通信系统的软件主要有两部分:一是AT89LS52上的从RS 232接收和往PTR6000发射数据;二是DSP2407A从PTR6000接收数据。图3给出它们的流程框图。
发射器中的单片机AT89LS52接收到上位机的通信指令后,将接收到的数据按照通信协议打包,然后通过对CLK1引脚和DATA引脚编程按照数据手册上的时序图将数据按位写入PTR6000并以广播形式发送给各个足球机器人。
足球机器人的接收程序则由机器人上的DSP2407A执行,每个机器人根据各自设定的编号,从接收缓冲区取出相应左右轮速度值。接收端的PTR6000在收到与本机地址相同的数据包后将DR1数据就绪引脚置为高电平,由于本设计将此引脚连接到了DSP的XINT2中断引脚,因此DR1的上升沿将导致DSP转入执行中断服务程序,通过对CLK1和DATA引脚编程以数据手册提供的时序读取接收数据。
4 实验数据与结果分析
为了测试无线通信子系统的效果。这里做了实验,从发射器发送相同次数(400次)的数据,记录机器人接收到数据正确(通信成功)和错误(通信失败)的次数。实验结果如表2所示,可以看出,通信成功率很高,可靠性很好。
5 结语
本文详细介绍了基于PTR6000通信模块所开发的足球机器人无线通信子系统的设计与实现。实验证明,本设计使机器人小车系统在精度和运行性能方面得到很大提高,可以满足足球机器人对速度、可靠性及抗干扰能力的要求。