《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > TMS320F2812在足球机器人上的应用

TMS320F2812在足球机器人上的应用

2008-08-22
作者:郑旭东, 张培仁, 徐勇明

  摘 要: 介绍了RoboCup小型组足球机器人" title="足球机器人">足球机器人的结构及其底层控制系统" title="控制系统">控制系统的性能要求,详细阐述了TMS320F2812作为主控芯片" title="主控芯片">主控芯片在足球机器人底层控制中的地位及其在通讯、电机控制、带球" title="带球">带球和击挑球控制等方面的具体应用。
  关键词: TMS320F2812 足球机器人 控制系统


  机器人研究是近年来国际上一个极为活跃的研究方面,涉及了模式识别、人工智能等众多学科。RoboCup小型组(也称F180组)足球机器人对抗赛是国际上近些年兴起的机器人足球比赛项目,国内高校参加该项目比赛仅有两三年的历史。该项比赛涉及到机械设计、理论力学、嵌入式系统与传感器、无线通讯、控制理论、模式识别、人工智能等多种学科和技术的交叉与融合,具有较大的难度和挑战性。
  机器人足球竞赛本质上是决策和车体性能的竞赛。由于小型组机器人足球比赛涉及到实际机器人的设计和控制,所以车体性能在其中占据着尤为重要的地位。而其底层控制的好坏又决定着车体机械性能是否能够得到充分发挥。显而易见,作为底层控制“大脑”的主控芯片在其中起着至关重要的作用。近年来,随着比赛对机器人各项性能指标要求的逐年提高以及机器人结构复杂性的逐步增加,主控芯片的负担越来越重,大多数机器人足球队伍都在不断地提高主控芯片的档次以适应越来越激烈的国际竞争。本文将把TMS320F2812芯片具体应用到足球机器人上。
1 芯片介绍
  TMS320F2812是TI公司2003年正式推出的32位定点DSP,是目前用于工业控制和机器人控制等领域中的最高档的DSP之一。该芯片性能优越,比起TMS320LF2407A来讲,各项性能指标都有了显著的提高;该芯片资源非常丰富,可大大简化外围电路设计。其主要资源和性能指标如下:
  (1)高主频,即150MHz的主频。
  (2)低功耗,1.8V和3.3V供电。
  (3)128K内部FLASH,18K内部SARAM,
  可外扩1M存储器。存储器是统一编址的,其寻址空间达4M。
  (4)中断资源丰富,可支持45个外设级中断和3个外部中断。提取中断向量和保存现场只需9个时钟周期,响应迅速。
  (5)拥有双事件管理器EVA和EVB,控制更加灵活。
  (6)拥有两个SCI口和一个SPI口,增加了数据缓存功能;传输频率可达MHz量级。此外串行通讯模块还包括增强的eCAN总线和新增的McBSP,能满足多种通讯的需要。
  (7)16个通道的12位A/D接口可灵活设置采样方式。
  (8)可使用多达56个可编程且可复用的I/O口。
  (9)拥有三个系统级定时器和两个属于事件管理器的定时器。
2 TMS320F2812在小型足球机器人上的应用
2.1 车体控制电路的性能要求
  基于前两届机器人足球队的经验和当今国际强队的现状,新一代机器人在结构上进行了很大改进,主要表现在以下几点:四个单排万向轮、击球机构、挑球机构以及带球机构。机器人主体结构如图1所示。


  以上改进使得新车体在结构上有了速度快、可控性好和功能全等特点。为了充分发挥车体的性能,同时达到高速运动时较高的控制精度" title="控制精度">控制精度,对车体的控制电路,尤其是对在底层控制中起“大脑”作用的主控芯片提出了相应的要求,主要有以下几点:
  (1)保证与上位机通讯的可靠性和及时性。
  (2)击球和挑球的可控性。使用升压电路增加击挑球的力度;为了达到传球和控制挑球落点的效果,要求对放电时间可控,初步预计应精确到0.1ms。
  (3)带球电机的可控性。借以增加带球的稳定性,适应不同的实际情况。
  (4)保证车体高速运动下的可控性,这一点是最重要的。由于采用了新的机械和动力结构,车体最高实际速度超过3m/s,有可能出现打滑情况,所以上层控制大约为每120ms进行一次校正。为了保证精度,必须在底层对车体进行实时校正,所以在硬件上使用码盘和加速度传感器作为反馈元件,在软件上使用神经网络确定系统参数,这样对主控芯片的运算能力就提出了较高的要求。
  (5)提供必要的自检手段和状态标志以及必要的设计余量。
  综合以上考虑,充分利用已有经验和现有代码的可移植性,最终决定使用TI公司正式推出的TMS320F2812 作为主控芯片。
2.2 TMS320F2812在底层控制中的应用
  作为主控芯片,TMS320F2812在整个控制系统中占据着核心的地位,它与其它部分电路的关系如图2所示。


2.2.1 通讯
  为了满足高速通信和可靠性要求,无线通讯模块采用准蓝牙无线通讯模块nRF2401,并为通讯模块单独配上一个TMS320LF2407处理器。
  通过设置SCICTL2 将TMS320F2812的SCI通讯设置为中断方式,并通过设置SCIRXBUF和SCITXBUF,开启TMS320F2812的SCI数据缓冲区。TMS320F2812 中SCI所带的16字节FIFO能有效地减少中断次数,提高通讯速度和接收与发送数据的可靠性,不会象以前那样在数据量较大的情况下轻易出现数据丢失的现象。有效地保证了与上位机通讯的可靠性。
  在实际测试当中发现,由于通讯硬件的缘故,通讯存在死区的现象仍然不能完全解决。但考虑到上位机决策程序为每20ms发送一次新命令,通过对命令间隔的计时,底层程序就能检测出是否存在通讯异常。如果存在,则底层决策系统代替上层决策系统发送随机游走及转动命令,使机器人到达能正常通讯的区域。
2.2.2 击球机构和挑球机构的控制
  将加在击球机构和挑球机构的电压升到90V,可保证击挑球的力度,实测击出球的初速度达4m/s以上,而挑球距离则达2m以上。
  击挑球控制电路原理图如图3所示。控制击球和挑球放电时间可以调节击球和挑球力度,使之能完成不同距离的传球、击球和可控落点的挑球。为此,采用一个定时器控制放电时间,这样可以轻松地将放电时间精度控制在0.1ms以内,且每次击球和挑球都有较好的重复性。


  为了防止同时使用击球机构和挑球机构造成机械损坏,在底层软件程序使用一个互斥信号量的同时还增加了一个互锁电路,并在底层控制程序中对放电频率进行限制,以保护电路和机构。
  需要指出的是,击球机构和挑球机构的使用还应受到球检测情况的限制。如果球没有紧挨着机器人,那么击球和挑球动作就没法达到应有的效果,甚至只是无谓地出击,白白损失进攻机会。因此,仅当确定球紧挨着机器人时才允许打开放电电路,否则需等待机会。
2.2.3 带球电机的控制
  根据试验结果,要在不同情况达到最好的带球效果,并不需要对带球电机进行精确控制,所以带球电机没有带码盘且只允许向一个方向旋转。
  为了实时监测是否带稳球,设计了一个红外检测电路,如图4所示。该电路的输出仅需一个I/O口就能完成检测。底层控制系统对其进行定时检测,并经过软件滤波就可以确定球是否被机器人带住。


2.2.4 驱动电机的控制
  新型的单排万向轮相对于双排万向轮来说减少了体积,并提供了较好的可控性和较大的摩擦力。但在实际试验中发现,在高加速度情况下轮子依然会出现比较严重的打滑现象。另外,四轮设计虽然增加了动力性能,但同时也存在着四轮着地不均匀、受力不平衡的现象。如此,码盘已不足以提供足够的反馈信息,控制的复杂度也因此而大大增加了,传统的PID已不足以解决所面临的问题,仅仅依靠上层的视觉反馈则延时过大,无法达到所要求的高速运动下的控制精度。为此,增加了一个二维加速度传感器,用DSP的捕获功能采集加速度传感器反馈信息,并经过适当的软件滤波将当前加速度反馈给控制主程序,用以改善底层的运动控制。再加上上层的视觉反馈和决策层的整体PID调整,双闭环的PID控制使车体在高速运动情况下的控制精度有了很大提高。运动控制框图如图5所示。


  由于带球机构和四个轮子都是由电机通过减速箱直接驱动的,因此很容易出现因堵转而烧毁电机的情况。为了保护电机,除了在机械上尽可能做好保护以外,在底层决策上也对此作了监测。当发现电机转速和期望值相差过大,且在一段时间(如300ms)后仍然没有任何改变,则认为该电机正处于堵转状态并关闭一段时间以保护电机。
2.2.5 自检手段和设计余量考虑
  为了在尽可能短的时间里掌握车体状况,增加一个四段拨码开关和一个七段LED,通过不同拨码组合可以运行不同的自检程序,并实时地将结果通过七段LED显示出来。
  虽然在底层控制中采用TMS320LF2407A并使用传统的PID控制也基本够用,但根据车体力学特性所建立起来的控制模型和实际情况并不完全相符,基于此模型所作的控制也因此并没有完全达到初始设想的控制精度,选用此芯片的足球机器人与国际强队相比也还有一定的差距。为此,在底层控制上尝试使用神经网络等控制方法,这样必须留有足够的计算能力余量。TMS320F2812高达150MHz的主频可以比较好地满足对计算能力的要求。
  为了存储每次神经网络试验所得到的参数,使用TMS320F2812的SPI口,并外扩一个串行FLASH,如图6所示。


  同时,为了改善控制中对角速度反馈不足的情况,还预留了角速度传感器的电路接口,为进一步提高控制精度作准备。
2.3 总程序流程
  基于TMS320F2812的底层控制程序基本上是在定时中断下完成的,图7中给出了定时中断子流程的基本框图。


  由图可看出主程序分支颇多,为保证精度,要求滤波和控制计算频繁,选用TMS320F2812就是为了保证控制的实时性。实测表明,在TMS320F2812中的实际程序约1.6ms一个循环,符合预期目标,且为更为精确和复杂的控制预留了相应的性能余量。
  本文介绍了TMS320F2812在新一代足球机器人上的应用,涉及了通讯、击球和挑球控制、传感器的使用和滤波以及多达五个电机的驱动和控制。充分用到了TMS320F2812片上的丰富资源。
  从以上的应用可以看到,TMS320F2812延续了TI公司2000系列DSP在电机控制领域的优势,并进一步扩充了各种片上资源,使之应用领域更为广阔。主频也有数倍的提高,弥补了之前使用的TMS320LF2407A在计算能力上的不足,使其能够满足更为复杂的实时性要求和更为复杂的控制要求,必将在测控领域有着广阔的应用前景。
参考文献
1 RoboCup官方网站:www.robocup.org
2 朱铭锆,赵 勇,甘 泉.DSP应用系统设计.北京:电子工业出版社,2003
3 TI官方网站:www.ti.com

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。