机器人比赛总结(精选7篇)
2011中国柳州青少年机械奥运城际赛汇报
指导老师:
吴金湖、成志慧、陈景(共3人)参赛学生:
吴昆霖、韦容奕、李玉泉、成翼驰、陈文韬、陶杜辉、唐中格、莫志彪、廖程浩、张钰崴、唐晨熙、覃江龙、吴晋锴、林诗云、周健平、黄仁铭、庞东峻、程沛鹏、卢志明、吴明迪、韦祖丹(共21人)材料:铝板、木板、塑料板主要由福华提供 工具:主要在鹊北五金店采购 日常管理:
1、每天进行考勤、及时准确的掌握学生参加培训情况,并及时和家里联系;
2、分工负责管理学生使用的材料和工具,尽量确保不损坏、不丢失;
3、确保学生使用工具的安全;
4、及时对一些不良行为进行教育。时间安排:
7月13、14日:前期准备,主要包括材料和工具的联系和采购
7月15、16、17、18、19、20、21、22日:组织学生到校培训和制作机器人 7月25、26、27日:指导老师攻克几个疑难问题,包括短跑的稳定性、拔河的摩擦力、障碍赛的比例结构、蛙泳的动力以及造型设计的外观等棘手问题。7月28日:组织学生进行最后一次调试工作,并布置初赛的要求
2011中国柳州青少年机械奥运城际赛
获奖项目:
★手摇发电机械人牧羊犬比赛——季军(第三名)廖程浩、吴昆霖、韦祖丹
★手摇发电机械人拔河比赛——殿军(第四名)
成翼驰、韦容奕、陶杜辉
★手摇发电机械人四式接力泳赛——殿军(第四名)
张钰崴、唐晨熙、莫志彪 程沛鹏、卢志明、吴明迪 周健平、黄仁铭、庞东峻 覃江龙、吴晋锴、林诗云
★手摇发电单马达机械人造型设计比赛——殿军(第四名)
张钰崴
机器人足球成为进行科学技术研究和实验的良好平台,也是一种高智力、高趣味的高科技对抗活动[1]。目前的机器人足球比赛虽然比赛模式丰富多样,但在这些比赛中,赛场上的机器人(小车)是由计算机控制进行比赛,人参与比赛过程的程度很低。图1所示为目前FIRA微型机器人足球比赛的场景,两支球队(每队3台机器人)各自由一台计算机(PC机)控制。RoboCUP的最终目标是,在2050年左右,组成一支由类人机器人组成的足球队战胜当时的人类足球冠军队。在迈向这一目标的征程中,有必要对人参与比赛的各种模式进行研究和试验。
卡内基-梅隆大学的研究人员近年来提出一种由人参与的机器人足球比赛,比赛场景如图2所示[2]。比赛中,由人和机器人共同组成的两支球队进行对抗。比赛所使用的设备平台由专业公司生产[3]。目前,国内尚未见到由人参与的机器人足球比赛。
对现有FIRA(国际机器人足球联盟)微型足球机器人系统进行改造,提出一种人-机器人足球比赛模式,见图3。一支球队(3台小车)由计算机控制;另一支球队(3台小车)由人控制,但每台小车分别有一个人通过遥控手柄操纵,实现人-机器人博弈的过程。
2 硬件设计
2.1 结构
遥控手柄系统结构框图见图4。主要由机器人ID编码、无线模块、微处理器、键盘、电池等单元组成。
2.2 微处理器
C8051F330/1芯片是完全集成的混合信号片上系统型微处理器[4]。用户软件对所有外设具有完全的控制,可以关断任何一个或所有外设以节省功耗。该微处理器的主要特性如下:高速、流水线结构的8051兼容的CIP-51内核(可达25MIPS(百万条指令每秒)); 全速、非侵入式的在系统调试接口(片内); 真正10位200 ksps(千次采样每秒)的16通道单端/差分A/D转换器,带模拟多路器; 8 kB可在系统编程的Flash存储器,768字节片内RAM ;硬件实现的SMBus/I2C、增强型UART和增强型SPI串行接口;具有3个捕捉/比较模块和看门狗定时器功能的可编程计数器/定时器阵列,片内上电复位、VDD监视器和温度传感器;17个端口I/O(容许5 V输入)。
C8051F330通过无线发射模块,与机器人实现无线通信。当微处理器检测到有键被操作后,先对命令进行解释,然后发出相应功能的运动控制命令,机器人接收到遥控手柄发来的信息后,先进行PID、PWM运算,再使能电机驱动电路,输出运动控制指令驱动电机,实现机器人左、右轮的启停、正反转和速度控制。
2.3 机器人ID编码电路
操作遥控手柄,会发出一帧数据(规划场上机器人运动的控制命令),每个机器人全部接收,然后机器人根据自己的地址编号(机器人ID编码),从数据串中确定发给自己的命令。因此,每个遥控手柄上也有拨码开关,通过它来设定与被控制机器人相同的ID编码。遥控手柄的ID编码电路见图5,由电阻R1~R3和拨码开关K1~K3组成。
2.4 发射电路
2.4.1 无线模块
无线模块选用英国Radiometrix公司的BIM-418 (433)-F型低功耗超高频数据收发模块,模块引脚见图6。载波频率分别为418 MHz和433 MHz,具有通信速率高、性能可靠、体积小、抑制杂波干扰强的优点,具有发送和接收功能,使用非常方便。
模块主要特性如下:微型PCB(印制电路板)叠层结构;工作在业余无线电波波段;可双向传送;单向传输速率可达到40 kbit/s;室内有效范围为20 m,空旷处有效范围为100 m;工作电流小于15 mA;可与CMOS逻辑和TTL逻辑兼容。
2.4.2 发射电路
由于足球机器人的通信系统是单向系统(即主机→机器人),机器人(小车)无线通信系统只实现接收功能。遥控手柄无线通信系统只实现发射功能,以BIM-433-F模块为例,模块与微处理器的接线电路见图7。模块引脚15(发射允许端)接低电平,使能发射功能,引脚16(接收允许端)接高电平,禁止接收功能。模块引脚12 RXD端为接收数据信息口。
2.5 键盘电路
FIRA微型足球机器人小车通常采用双轮驱动方式[5]。这种小车有2台电机,分别驱动左车轮、右车轮,实现机器人的启停、正反转、速度控制。
遥控手柄上有各种功能键,实现对机器人左、右轮的启停、正反转、速度控制等功能。电路见图8,它由电阻R4~R7、按键K4、K5和舵1、舵2组成。
K4键为使能键,K4键闭合,遥控手柄每隔20 ms发出一帧数据。K5键为急停键,K5键闭合,遥控手柄发送机器人停止运行命令,不受K4键限制。舵1用来控制机器人左轮的运行速度和方向。舵2用来控制机器人右轮的运行速度和方向。舵位置与车轮运行速度、方向的关系见图9。
2.6 电源
电池选用7.2 V可充电锂电池组,因C8051F330的CPU内核为3.3 V供电,其他外围设备采用5 V供电。系统电源有2种,其中5 V供电稳压选用LM78L05三端稳压块,3.3 V供电稳压选用SPX1117M3-3.3三端稳压块,该模块是Sipex公司生产的LDO芯片[6],其输出电流可达到800 mA,输出电压精度在±1%以内,还具有电流限制和热保护功能。
3 主程序流程
3.1 通信方式
在人-机器人对抗比赛赛场上,无线通信协议也采用广播式通信方式[7]。它的数据接收和发送帧格式见图10,包括3个字节的起始帧头(同步码)、1个字节的ID编码、2个字节的数据和1个字节的校验码,即每次一帧发送7个字节。
BIM-418(433)-F无线收发模块具有高灵敏度的特性,由于比赛环境存在各种干扰和噪声,它可能接收杂波并处理。因此,在每个数据帧之前要先发几个字节的同步码,以实现数据的区分和同步。虽然干扰基本是随机的,但是若使用1个字节的帧头,很难保证干扰和有效数据的区分。本系统协议使用3个字节的帧头,它们的字码分别是:2个55H和1个FAH。通过实践发现,干扰波产生连续55H、FAH、55H字码的概率是很小的。遥控手柄每次发射都加同步码,机器人必须通过启始同步码3道关验证,才能开始接收数据。一帧数据接收完后,字节还要进行CRC(循环冗余校验)。CRC校验字节是每个数据字节相互异或后的结果。接收到的数据校验正确则接受,否则放弃这帧数据,确保了机器人对有效数据的确认。
3.2 主程序流程框图
在软件的设计中,采用了模块化的设计思想,主程序流程框图见图11。
主程序流程由以下7个部分组成:
a) 系统初始化:主要包括引脚配置初始化、系统参数初始化、定时器中断设定和使能看门狗等。
b) “喂狗”:看门狗内部定时器清零。
c) 读ID编码:微处理器读取遥控手柄上拨码开关设定的自己地址编号,写到发送帧格式中的ID编码位置单元。
d) K5键判断:查K5按键是否操作,若是,则转到发送停止命令子程序。
e) 读舵1:检测舵1位置,完成A/D转换、进行数据处理,写到发送帧格式中的左轮数据位置。
f) 读舵2:检测舵2位置,完成A/D转换、进行数据处理,写到发送帧格式中的右轮数据位置。
g) K4键判断:查K4按键是否操作,若是,则转到发送运动命令子程序。
软件中有两个子程序。它们的功能分别是:
a) 发送停止命令子程序:主要完成启始同步码、左右轮的停止命令、校验码写到发送帧格式中对应位置,然后发送一帧数据。
b) 发送运动命令子程序:主要完成启始同步码、校验码写到发送帧格式中对应位置。开定时中断服务程序:遥控手柄每隔20 ms发出一帧数据。
4 结束语
研制过程中主要考虑到遥控手柄应具有体积小、集成度好、操作容易的特点,能满足机器人足球比赛高灵敏度、高可靠性、强实时性等品质要求,对遥控手柄的结构及元器件的选择进行了优化。该方案为人-机器人足球比赛系统的构建具有较高的参考价值。
参考文献
[1]洪炳熔.机器人足球比赛-发展人工智能的里程碑[J].电子世界,2000(4):4-5.
[2]ARGALL B,GUYang,BROWNING B,et al.The first seg-way soccer experience:Towards peer-to-peer human-robot teams[C]//Proceedings of the2006Conference on Human-Robot Interaction,Mar2-4,2006,Salt Lake City,UT,USA.2006.
[3]NGUYGENH,MORRELLJ,MULLENS K,et al.Segway ro-botic mobility platform[M].SPIE Proc.5609:Mobile Robots XVII,Oct26-28,2004,Philadelphia,PA,USA.2004.
[4]潘琢金.C8051F330/1混合信号ISPFLASH微控制器数据手册[M].新华龙电子有限公司,2003.
[5]程福,赵臣,甄宗雷.双轮驱动足球机器人动态性能分析[J].机械科学与技术,2004,23(6):640-642.
[6]周立功,张华,等.深入浅出ARM7-LPC213X/214X[M].北京:北京航空航天大学出版社,2005.
在高中阶段,学生经过了9年义务教育,储备了一定的知识,对于新知识有自己的理解能力和学习方法,最重要的是他们有较强的举一反三能力和创新能力,参加综合技能比赛更能发挥他们的能力。针对以上特点,我在普通高中开展综合技能比赛的辅导工作中特别注意了以下3个方面。
精选参赛学生
普通学校的高一新生大多没有接触过机器人,那么,如何挑选出合适的学生呢?如果学校有在高一全体新生中开设机器人校本课程,教师可以通过几次课堂教学对学生进行选拔。如果没有开设机器人校本课程,教师们就需要通过其他课程进行挑选。综合技能比赛考查学生两方面的技能:动手搭建与计算机编程。我作为信息技术课与通用技术课教师,通过观察学生的课堂表现来确定合适人选。例如,在通用技术课上观察学生的动手能力与创造能力,在信息课上考查学生的编程能力,然后选拔部分学生进行有针对性的专门培训,最后通过测试考核确定人选,我个人认为综合技能项目需要精选人才,不需要大规模培训。
既要分工也要全面训练
综合技能是两人合作参赛的项目,在后期训练时可以一人主攻搭建,一人主攻编程。虽然程序是项目取胜的关键,但是我并没有采用以编程学生为主、搭建学生为辅的方式进行训练。因为在训练中每个学生都希望得到教师的重视,一旦主攻搭建的学生发现自己不受重视时就会变得消极怠工,这样不仅削弱队伍的力量还会影响到编程学生的心理。此外,机器人的搭建也并不仅仅是辅助任务,它在比赛中也起着至关重要的作用,搭建的快慢决定了赛前场地调试时间的长短。在2010年北京市青少年机器人竞赛综合技能比赛中,我校获得一等奖,主要是因为负责搭建的学生快速完成了搭建任务,为队友抢出了20分钟无人干扰的场地调试时间。就是这20分钟的时间对比赛的胜利起到了决定性的作用。在前期训练时不分搭建与编程任务,赛前2周再根据学生的表现确定搭建与编程人员,不仅能促进学生全面掌握技能,还可以让学生沉着应对赛场上的突发事件。在2013年中国青少年机器人竞赛综合技能比赛中,我校负责编程的学生突发肠胃炎住院,裁判们认为负责搭建的学生不可能一人同时完成两项技能,劝我们退赛,然而这位负责搭建的学生独自奋战8小时,最终摘取了银牌。仅仅一个人就能取得这样的好成绩,就是因为知识全面。在校训练时,他在练习机器人搭建的同时也学习了所有的编程技能。
培养持续的兴趣
综合技能是极其考验学生耐心与毅力的项目。刚开始学习时,学生会被具有挑战性的任务所吸引,但当各项任务的解决方案确定后,需要千百次的重复练习来完善时,面对各项数据的精准调试,好多学生都会觉得枯燥乏味。尤其是当他们面对会考、高考的压力和繁重的课业负担时,很多普通学校高中生都难以坚持下来。作为教师,要尽量想办法提高学生学习综合技能的兴趣,给予学生更多的鼓励与肯定。我建议教师们不要把完成每项任务的方法直接传授给学生,而是教给学生机器人的各个传感器、马达、伺服电机的使用方法,让学生在不断的实验中自己找寻方法,锻炼他们的耐心,增强意志力。这样他们愿意用更多的时间去练习和证实,不仅能提高学习兴趣,而且他们会更加珍惜这来之不易的解决方案。在平时的训练活动中,我经常鼓励学生发现自己的才能,并充分显示自己的个性。在解决每一个任务的讨论交流中,我注意引导学生发表自己的意见,并鼓励学生对同学们提出的各种观点相互评议,相互补充。在师生交往中,要消除教师在学生心目中的绝对权威地位。我经常告诉学生,在多次的练习后,他们应该比我对机器人的某些性能、属性更了解,掌握更精准。我还会鼓励学生大胆质疑我提出的方法,激励他们更加深入和精准的掌握機器人的性能,帮助他们树立自信心。
“滴滴!六点钟到!”我一跃而起,手忙脚乱地收拾东西,等一切收拾妥当,时钟已经指向7点,匆匆早餐后,我背上行李,打车赶到集合点。当大家集齐后,一路风掣赶往青岛。
12:30分,青岛城阳区。
抵达青岛已经是中午了,我们在酒店用餐后,立即赶往比赛地点――城阳第二实验中学试验场地。经过紧张试练,我们信心倍增。回到酒店后,大家早早入睡,养精蓄锐迎接第二天的比赛。
第二天,天刚蒙蒙亮,大家就起床了。It’stime!大家绷紧神经,因为我们知道,决定成败的时刻就要到了!
我们到达比赛场地时,现场已经是人山人海,再看看各路队伍,一个个摩拳擦掌,斗志昂扬。我也暗暗给自己打起:“我们是最棒的!”
比赛开始了!比赛每场四队,每队比三次,满分四百分,另外还有课题研究,技术答辩,才艺展示等项目,我负责技术答辩和才艺展示。
紧张的时刻终于到了,轮到我们上场了,我和队友随着人流一起涌向观看席,我的心一下提到了嗓子眼:“一定要成功!来个旗开得胜!”“三!二!一!开始!”随着主持人一声令下,我们泉水叮咚队与其他三个队伍开始了第一轮比拼。我们队将比赛分成两个程序,首先进行的是程序一。……哎呀!太可惜了!比赛并没有我们想象的那么顺利,第一个任务抢分和第二个任务踢球出了问题,但是队友还是沉着冷静的成功的完成了后面的任务。
程序二开始:第一个任务是剔除坏死脑细胞,简单地说就是将黑色板翻成白色板,我们队前四个都很成功,但是最后一个失败了,正当我焦躁不安的时候,主持人来到我面前,把麦克风放在我面前,问:“你们是泉水叮咚队吗?”“是的。”“你们有口号吗?”“有!”“是什么?”我用尽全力喊出:“泉水叮咚队加油!泉水叮咚队必胜!”主持人笑了:“很有气势的队伍!我也为你们加油!”
第一轮比赛结束了,两个队友回到休息区,大家都迫不及待地问得了多少分。“280分。”这个分数有点不理想,老师鼓励我们:“不要灰心,还有两轮呢!大家振奋精神,准备迎接第二轮挑战。加油!”
2个小时后,第二轮比赛开始了。或许是太紧张了吧,我们发挥失常,仅得了254分,大家脸色都不太好。“这可怎么办呢?”大家都默默思考着对策。
午餐后,老师跟我们说:“如果第三轮得不到300分以上,就与决赛无缘了,但是你们平时训练都很好,不要紧张,下午只要正常发挥就行了,加油!”我们的士气高涨:“泉水叮咚队加油!”
比赛之前,我去参加了才艺展示。我的小提琴独奏受到了好评,队友们对我打OK手势,我也回了一个V字手势,必胜!
第三轮比赛开始了!队友们都精神紧张地看着场地,一个个任务都顺利完成,我们一次次击掌,400分近在眼前,胜利在向我们招手。
但是,出乎意料的事情发生了,在完成剔除坏死细胞任务后,随后的任务却失败了,队友又重新调整机器人,但还是失败了。“比赛时间到!”主持人叫停了比赛。330分,成绩宣布了,前十三名才能晋级全国大赛。大家都很紧张,虽然300分以上晋级的可能性比较大,但有好几支队伍的成绩都超过了350分。
比赛规则
一、参赛要求
1、赛事分为小学组、初中组、高中组。
2、以队为单位报名参赛,每队限报队员2人和教练员1名。
3、小学组每队一个机器人出赛,中学组每个参赛队有2个机器人出赛。
4、签到时发放号码标签,遥控器号码应与机器人号码一致。
5、遥控器必须是实体按键。
二、机器人的基本要求
1、机器人为轮式机器人(最多有3个电机、2个传感器),机器人采用遥控方式来控制。
2、机器人整体(含可伸展部分)直径不得超过22厘米,机器人包含电池在内总重量不大于1.2公斤(电池电压不大于12V)。
3、机器人材料:机器人必须使用塑料积木搭建,不得使用螺丝、螺钉、铆钉、胶水、胶带等辅助连接材料。
4、机器人不得带有喷洒液体、高压放电、电磁干扰等功能。
5、机器人不能选用易燃能源并必须带有一个总电源开关。
6、同组机器人必须要有明确的统一外观(颜色、标志、图案、名称)。
7、机器人占据球区域设计:占据球区域,即固定在机器人突出点上的两条直边所包含的内部空间。比赛进行时,球进入机器人的运球区的深度则不能超过足球的1/3(图例);约为2.5厘米。
三、遥控机器人足球足球赛简介
足球比赛采取2个队伍同场对抗方式进行,小学组、中学组每个队2个机器人参赛,最后以进球多者为胜方。
四、比赛规则
1、足球赛总比赛时间为3分钟,(不分上下半场)。
2、比赛用球为直径约为7厘米的海绵制球。
3、比赛时间内,允许机器人在争球过程中互相碰撞。
4、遥控器集中由工作人员保管,比赛队伍在比赛前领取遥控器,比赛完毕后马上交回。
5、比赛前由裁判对机器人进行检验,检验合格后才可以进行比赛;如果检验不合格,可在准备时间内调校机器人,如果超过准备时间则取消该机器人参加比赛的资格。
6、每场比赛开始和进球后需要开球;开球时,双方机器人停在各自出发区内,由裁判开球开始比赛。
7、比赛期间,参赛人员如没有得到裁判允许不可触碰机器人。如果机器人因损坏而阻碍比赛正常进行,裁判可即时终止比赛由队员把机器人拿到场外维修,比赛将继续进行;机器人完成维修后不能马上放回赛场,必须等待下一次开球时才能放回赛场。
8、赛后队伍若进球数相同时,计算失球数;失球数相同将加时2分钟(比赛结束还有队伍分不出优胜,那么能晋级的队伍将不参与加时赛),如果再打平机器人秤重决胜负(机器人重量轻的队伍将晋级)。
9、比赛中机器人可以运球但不能持球(球不能固定在机器人身体任何位置超过2秒),若有持球现象出现,各队则在持球地方进行争球;比赛中机器人不得主动停留在本方球门内超2秒。
10、每个参赛队都可制作备用机器人,在初赛和决赛时允许更换机器人,但在比赛前必须申报,否则比赛时不允许更换机器人比赛。
11、比赛过程中若发现使用本队以外的机器人比赛或非本队队员冒名参与比赛的情况,一经核实取消该队所有比赛成绩。
12、比赛先小组循环,小组内前两名出线进行决赛,决赛阶段为淘汰赛。
13、比赛一经开始,中途不得更换电池。
五、其他
1、所有参赛队员必须遵守以上所有规则。
2、主办方对本次比赛保留最终解释权。
六、赛事场地(附图)
足球赛有效比赛场地约为):长240cm,宽160cm。;场地四周围拦为0.18M,有2球门。
2037年,也就是以后,我已是中国伟大的科学家,我在一家大型公司当CEO。我发明了许多新科技产品,但最让我得意的作品还是新型汽车。
我发明的汽车便于携带。你看到它时只有一个玩偶大小,但只要拿到配套的钥匙,轻轻按下放大键,汽车就能放大10倍出现在你的面前;再按一次按钮,它又能在5秒内恢复原状,伸缩自如。
我发明的汽车畅通无阻。以前,遇到高峰期交通拥堵,汽车只能缓慢前行。现在每辆新型车里都有特殊通道,只要按下相应按钮,在屏幕上写出你要去的地方,汽车就能迅速到达目的.地。
我发明的汽车上天入海。这种汽车可以在地面行驶,可以在天上飞翔,遇到突发状况时还能变身战斗机应战。只要驾驶者按下黄色键,汽车就能从陆地飞到空中;按下蓝色键,汽车又能滑行在水面上,像快艇一样前行;一旦按下红色键,汽车升级成战斗机,可放出烟雾干扰敌人,必要时还能发射子弹等。
大家可能觉得这种新型汽车功能多,油耗一定大,那你就大错特错了!这是环保汽车,它的能量来源于空气。汽车在马路上行驶时自动吸收空气,一部分转化为汽车的动力支撑,一部分转化为氧气排放到空气中,可谓一举两得。
智能足球机器人是属于机器人的一个分支,就是训练机器人代替人类或机器人与人类进行足球比赛[1],通过这种方式来提高人工智能、机器人等相关领域的研究水平。小型组足球机器人比赛是Robocop中相对比赛场地大小机器人运动速度最快的项目,机器人最大速度超过3 m/s,能在不到2 s的时间内掠过全场[2],是一个对实时性要求很高的比赛,而决策子系统作为整个系统的中心枢纽,上接视觉,下连通信,对比赛成绩的好坏起着至关重要的作用[3]。由于系统处在高速动态环境下,机器人需要实时控制,造成了信息与动作之间的延时误差,决策系统需要对当前和未来态势做出预测分析,获得当前动作点的准确信息[4]。
在足球机器人的信息预测中常用的算法有最小二乘法、BP神经网络算法和卡尔曼滤波算法,但是它们都有其应用中的缺点和不足。最小二乘法对视觉信息的依赖较大,一旦视觉系统通过摄像头获得的位置信息出现误差,预测结果也将会出现很大偏差[5];BP神经网络算法需要获得大量的机器人连续运动的数据来进行训练和学习,一旦环境条件发生变化就要重新采集数据来训练网络,且其算法本身有一定的运算复杂度[6]。卡尔曼滤波算法由于其算法流程简单,在信息预测和估计中一度得到广泛应用。
本研究根据足球机器人比赛系统的特点,提出一种扩展卡尔曼滤波算法,算法易于实现,计算复杂度低,以满足机器人足球比赛高实时性的要求,具有一定的应用价值。
1 足球机器人比赛的实时性要求及控制延时问题
小型足球机器人系统由场地上方的摄像机获得场地图像,将图像输出到视觉子系统计算机并分析处理图像信息,输出机器人的位置、方向和球的位置到决策子系统计算机;决策子系统根据信息计算控制指令;无线通信子系统将指令发送到机器人子系统;机器人子系统实现对控制指令的响应。重复上述过程,实现闭环控制。
小球足球机器人比赛在6.1 m×4.7 m的绿色地毯场地上进行,上下半场各10 min;机器人最大直线运行速度大于2.5 m/s,最小加速度大于2.5 m/s2,机器人击球速度不小于5.0 m/s,系统运行周期只有40 ms,这些数据说明足球机器人系统是一个对实时性要求比较高的项目,机器人必须能够在复杂多变的足球场上作出迅速的判断,采取有效的行动。整个系统从场地图像捕捉到响应控制指令积累了一个相当大的延时,尤其是在足球机器人运动速度越来越快的情况下,延时对比赛的影响也越来越大,机器人的真实位置和用来进行控制计算的位置之间的误差可达到20 cm,这会造成机器人运动超调或者振荡。由于系统延时的存在,能够准确、快速地估计出运动小球的状态成为机器人足球决策系统中迫切需要解决的问题。在闭环系统中,一般通过加入预测模块来抵消延时的影响。
事实上,足球机器人系统的实时性要求决定了解决控制延时问题的必要性。在机器人足球比赛过程中,噪声干扰都可视为随机过程,应用卡尔曼滤波理论对小球的运动状态进行轨迹预测,可以比较准确地预测出小球几个周期后的运动状态,提前将其预测数据用于控制指令从而抵消系统延时的影响,卡尔曼滤波算法预测的精确度和收敛速度的快慢决定此算法的优劣,精确度越高,收敛速度越快,就能将更加接近实际结果的数据提早用到比赛中去,从而满足系统的高实时性要求,提高比赛性能。
2 卡尔曼滤波算法
2.1 基本卡尔曼滤波算法原理
卡尔曼滤波属于一种软件滤波方法[7],其基本思想是:以最小均方误差为最佳估计准则,采用信号与噪声的状态空间模型,利用前一时刻的估计值和当前时刻的观测值来更新对状态变量的估计,求出当前时刻的估计值,该算法根据建立的系统方程和观测方程对需要处理的信号做出满足最小均方误差的估计[8]。
本研究定义系统状态变量Xk∈Rn,系统控制输入为Uk,系统过程激励噪声为Wk,其中Wk~N(0,Q),Vk~N(0,R),可得出系统的状态随机差分方程为:
观测方程:
从建立的数学模型出发,可以导出卡尔曼滤波的计算原型,包括时间更新方程和测量更新方程[9]。
时间更新方程为:
测量更新方程为:
卡尔曼滤波的原理可以用如图1所示。
时间更新方程和测量更新方程是卡尔曼滤波算法的核心,在每个采样周期内KF都是用上一次的后验状态估计时间更新方程和测量更新获得一个新的后验状态估计。
2.2 扩展卡尔曼滤波算法
基本的卡尔曼滤波只能应用于线性系统,对于实际应用系统的非线性很难得到满意的效果。扩展卡尔曼滤波(EKF)将其应用推广到非线性系统,其基本思想是:首先在当前状态均值和协方差处对被估计过程作一阶线性化处理,将问题转化为线性系统的估计问题,再用基本卡尔曼滤波进行估计。考虑非线性过程:xk=f(xk-1,uk-1,wk-1),测量值:zk=h(xk,vk);与线性卡尔曼滤波过程相似,由推理得到扩展卡尔曼滤波的时间更新和测量更新方程如下:
时间更新方程(预测):
测量更新方程(修正):
式中:Ak、Wk、Hk、Vk—部分派生的函数f()对x,w和h对x,v的雅克比矩阵;矩阵Qk、Rk—噪声方差,每一时刻k都对A,W,H,V进行更新。
其实EKF和KF一样,实质就是一种预测加修正的思想,足球机器人比赛中对球的位置预测正是基于上述方法来实现的,将滤波器的先验输出作为状态预测值。
3 小型足球机器人系统中小球的预测建模
小型足球机器人系统是典型的非线性系统,采用扩展卡尔曼滤波算法对系统进行分析建模。小球运动模型分析如下:
(1)小球在运动过程中,属于自由运动状态,不接受任何的人为控制信号,所以没有控制输入。但是由于比赛场地是绿色的地毯,小球不可避免地受到摩擦力的作用。通常情况下本研究将摩擦力视为一个恒定的与小球滚动方向相反的阻力,所以在没有碰撞的情况下小球在做匀减速直线运动。
(2)经过实际的试验证明,比赛场地各个地方的受力情况不完全一致,说明确实存在动态噪声Wk。场地不均匀的随机性也决定了噪声的随机特性,所以可以认为这种噪声满足上述卡尔曼滤波要求的噪声条件,即为服从正态分布的白噪声。
(3)对小球信息的获取是通过置于场地上方的摄像头实现的,摄像头捕获图像,并通过计算捕获到的小球像素中心点坐标来决定小球的位置。无论是捕获图像时的不完整性还是处理计算时的误差都会给测量方程带来影响,从而造成了观测误差即观测噪声的存在。小球的直径为42 mm,所以观测误差可以限制在这个范围内。
(4)通过以上分析建立小球的运动模型如下:
首先本研究把捕捉到的小球的运动状态用4个变量来描述:球的X坐标、球的Y坐标以及球在X坐标方向和Y坐标方向的速度值。
于是得到球的运动模型:
其中:
式中:Δt—决策系统运行周期;N—预测周期数;φ—小球的运动方向;v—是球的速度值;afr—由摩擦力产生的加速度恒量。
4 改进扩展卡尔曼滤波算法的应用及其实现流程
4.1 提高系统实时性的改进方法
EKF算法中一个很重要的步骤就是每一时刻都要对非线性函数f()进行泰勒展开求雅克比矩阵,在实际应用中雅克比矩阵很难求,计算复杂度比较大,从而严重影响系统实时性。针对EKF算法的以上缺点,根据滤波过程的原理和需要,文献[10]提出用函数f()的线性组合来代替其导数,然后用泰勒公式确定其中的系数,加快了计算速度,提高了计算精度,其改进算法如下:
式中:am—待定因子,v—使用f()函数的个数。
Km满足:
式中:h—计算步长。
4.2 改进后EKF算法在足球机器人环境下的应用
针对小型足球机器人系统的特点及上述小球的预测模型,本研究结合改进后的EKF对算法中的相关参数进行了进一步简化,得到如下数据:
系统延时为120 ms,决策周期为40 ms,取N=3,经反复试验测得afr=23 cm/s2,本研究取初值τxy=100 mm/s和τv=100 mm/s,δxy=25 mm;此处并没有对机器人和球的碰撞建模,为了提高两者相撞时系统反应的快速性,状态变量应该随着球和机器人距离的减小呈上升趋势,这可以通过机器人和球之间距离的远近来调整;速度标准差δv的确定取决于球与机器人发生碰撞或者球在机器人的控球、踢球机构的影响下运动状态发生突变的概率,简单来说,当球距离某个机器人很近时,球的运动状态的变数增加,定义如下关系式:
式中:d—离球最近的机器人与球之间的距离;R—机器人的半径,取75 mm;r—球的半径20 mm,一般情况下(R+r)≤d;k—增益,取为10,δR=100 mm·s-1。
系统在第1,2,…,Num周期没有对应于卡尔曼先验输出值的图像测量值输入,只执行时间更新过程;从第1+Num周期开始,系统通过第n+Num周期的图像测量值对第n周期的卡尔曼输出值进行修正,执行测量更新,优化第n+Num+1周期的输出。此时时间更新过程和测量更新过程交替执行。
4.3 算法实现流程
本研究采用浙江大学研发的Robocup5VS5小型组足球机器人为实验平台,足球机器人系统采用单独的计算机进行实时图像处理,把得到的信息通过Windows Sockets与决策计算机进行对等传输。为了得到一组小球运动的位置信息,本研究借助简单的UDP协议把图像处理计算机中的小球信息输出并存入一个文本文件中以供后续仿真使用。通过分析原程序,得出图像处理计算机与决策处理计算机之间以Class Message的数据包形式发送,通信端口号为12345,本研究截取数据包中的float_ballx,float_bally进行输出,将得到的数据存入文件ballposition.txt,文件作为小球实际运动轨迹数据供后续Matlab仿真使用。程序编写涉及客户端和服务器端,即发送端和接收端,本研究采用C语言编程实现,发送端和接收端具体实现流程如图2所示。
小球轨迹预测仿真实验基于Matlab实现,程序流程图如图3所示。
5 仿真及实验结果分析
本研究通过对小型足球机器人比赛中球的运动建模分析,得出了小球的扩展卡尔曼滤波模型,鉴于仿真的需要,忽略了小球实际运动过程中的次要因素,通过多次反复试验测得由于地毯摩擦力产生的加速度afr=23 cm/s2,决策周期为40 ms,δxy=25 mm,和机器人碰撞后的速度偏差δR=100 mm·s-1,本研究将以上数据代入已经建好的球的运动模型中去,得到仿真结果如图4、图5所示。
算法改进前后的仿真结果分别如图4、图5所示,改进后的EKF算法比未改进EKF能提早两个周期实现小球运动轨迹的跟踪和预测,并且在碰撞发生时,由于计算复杂度降低,可以提前4个周期实现精确预测,提高了系统实时性。因为时间较短,在无碰撞发生的情况下,小球基本在做直线运动;曲线发生弯折处,表示小球与比赛场地边界发生碰撞而偏离原来的路线,球被反弹后以一定角度继续做直线运动。
有两点需要特别说明,即初始阶段和碰撞发生时刻:初始阶段,卡尔曼滤波算法按照系统预设初始值进行时间更新即预测过程,而后进行测量更新即校正过程,预测和校正都是基于初始值进行的,并且机器人刚启动时,由于机械惯性、轮子打滑等原因,机器人的执行命令实际结果与期望值难免有偏差,从仿真曲线上可以看出,经过一段时间后,机器人的运动也趋向平稳,算法经过预测修正之后,预测曲线逐渐收敛,可以准确地预测到小球的实际位置。在碰撞发生时,虽然扩展卡尔曼滤波算法是针对非线性系统的解决方案,但是碰撞发生时非线性因素比重增多,球的运动状态变数增加,再加上没有对小球的碰撞建立精确的模型,导致碰撞发生时预测轨迹有一定偏差。
改进后的扩展卡尔曼滤波算法继承了原卡尔曼滤波算法预测简单等优点,并且由仿真曲线可以明显看出,预测精度得到很大提高,跟踪速度也有很大提高,小球位置预测误差在算法改进前范围在0~0.5 cm,改进后扩展卡尔曼滤波算法可以将预测误差降低在0.25 cm以内,并且可以提前2~4个机器周期实现预测,对于智能足球机器人这样一个复杂多变、对精确度和实时性要求比较高的系统而言,提高了系统运行效率,能显著提高比赛性能,具有非常实际的利用价值。
为了明显突出扩展卡尔曼滤波的优越性,本研究采用传统的最小二乘法算法对同一次小球的运动轨迹也同样进行了预测分析,得出的实验结果表明,扩展卡尔曼滤波算法能快速、准确地跟踪小球的运动轨迹,相比之前用传统的最小二乘法进行预测,精确度明显得到提高。扩展卡尔曼滤波算法下,预测曲线可以很快在若干周期内收敛,准确跟踪小球的实际位置;并且当碰撞发生时,可以尽快排除干扰,迅速收敛。这是最小二乘算法做不到的,也就是说EKF算法解决了简单预测不排除外界干扰(碰撞、打滑等原因)的问题,可以明显优化预测轨迹的生成。
6 结束语
本研究提出了一种对Robocup小型组足球机器人的目标对象小球进行运动轨迹预测的方法,仿真实验结果表明,改进后的EKF算法不仅充分发挥了卡尔曼滤波算法不依赖历史数据的优越性,也克服了最小二乘法、BP神经网络预测精确度不高的缺点,提高了预测的准确度,并且能在较短的时间内对图像观测值进行修正,之后系统输出误差非常小。该算法实现流程简单,计算复杂度低,适用于实时比赛环境下的小球运动轨迹预测,减少了系统延时对比赛的影响。尤其是对守门员来讲,小球的运动轨迹预测可以提前安排守门员的站位,从而大大提高守门员的拦截防守能力。但是足球机器人比赛是一个对实时性要求比较高的项目,需要提高算法的精确度和快速性,并且小球的运动模型也需要进一步改善,以提高比赛成绩。
摘要:为了减少系统延时对高实时性机器人足球比赛的影响,在深入研究卡尔曼滤波算法原理的基础上,提出了一种改进的扩展卡尔曼滤波(EKF)算法,建立了足球机器人竞赛中小球的运动模型,通过仿真实验给出了小球运动状态的预测轨迹。实验结果表明,改进后的EKF算法可以有效地解决以往算法在高度非线性化区域的不稳定性等问题,同时改进后的算法提高了系统实时性,算法易于实现且预测效果较好。
关键词:足球机器人,位置预测,决策子系统,卡尔曼滤波算法,状态估计
参考文献
[1]陈万米,张冰,朱明,等.智能足球机器人系统[M].北京:清华大学出版社,2009.
[2]任华.Robocup小型组决策与路径规划研究[D].无锡:江南大学通信与控制工程学院,2008.
[3]王红玉,赵臣.足球机器人比赛中的一种位置滤波方法[J].机床与液压,2005(4):142-144.
[4]薛相雷.Robocup小型组足球机器人决策研究[D].长春:长春理工大学电子信息工程学院,2005.
[5]JULIER S J,UHLMANN J K,DURRANT-WHYTE H F.ANew Approach for Filtering Nonlinear Systems[C]//Proceed-ings of the American Control Conference.Seattle,Washing-ton:[s.n.],1995:1628-1632.
[6]DAUM F E.Nonlinear filters:beyond the Kalman filter[J].IEEE AES Systems Magazine,2005,20(8):57-69.
[7]ZHU Ji-hua,ZHENG Nan-ning,YUAN Ze-jian.A SLAMalgorithm based on the central difference Kalman filter[C]//Intelligent Vehicles Symposium IEEE.Xian:[s.n.],2009:123-128.
[8]李良群,姬红兵,罗军辉.迭代扩展卡尔曼粒子滤波器[J].西安电子科技大学学报:自然科学版,2007,34(2):233-238.
[9]SCHON T,GUSTAFSSON F,NORDLUND P J.Marginalizedparticle filters for mixed linear/nonlinear state-space models[J].IEEE Transactions on Signal Processing,2005,53(7):2279-2289.
【机器人比赛总结】推荐阅读:
机器人比赛心得体会11-10
参加机器人比赛作文600字09-18
机器人活动总结免费01-02
《资产评估—机器设备》评估总结07-24
机器人开题报告06-16
机器人工作汇报09-09
机器人考试作文09-16
扫地机器人 教案10-02
机器人音乐教案11-07
工业机器人论文12-17