2024年5月5日发(作者:)
11f ;五鬲
教字技术
算法分析
基于FIRA l lVS l l仿真足球平台截球策略分析
张毅李茂邓永生李敏孙纯兴
(重庆邮电大学自动化学院重庆400065)
摘要:针对机器A43-真的高实时、运动的不确定、拦截足球的低效率等情况,在分析研究线性算法拦截球的基础上,提出曲线编程思想
通过全息信息检索、曲线算法等,从而设计出能够使机器人到达指定位置,并执行指定命令的最优路线,提高了机器人的截球效率
关键词:机器人足球路径设计信息决策
中图分类号:TP242 文献标识码:A 文章编号:1007—941 6(2011)l0-0l07—02
1、引言
基于FIRA平台的机器人仿真足球是以VC++为编程平台基
础,与FIRA平台服务器对接程序以实现足球的仿真。在现实的足球
比赛中,谁掌握了比赛的控球权谁就有更多的机会取得胜利,这・
点存仿真足球平台上依然适用。基于此,我们着重设计比赛中的足
球拦截,目前主流有直接角度和位置 算、三角函数计算、遗传算法
模糊数据处理等方法。本文提…曲线拦截思想,结合对方机器人的
位置,通过多个位置信息处理,渊配我方机器人具体跑位实现对足
球控制。
2、算法
2.1线性算法
线性截球的 本思想如卜:
球运行路径预测一A.距离足球最近的我方机器人一B.距离足
球最近的对方机器人(假设该机器人为R)一如果A>B执行条件C,
否则执行条件D。
C:找出距离R最近的我方机器人以及x轴与Y轴的具体差值一
R与足球之间角度预测一我方机器人与球角度预测一角度校 一
位置优先级判断(设最佳位置为P)一跑位于R Lj足球的延长线上I
点,如图1所示。
D:确定足球与我方球¨Y轴小点一连线上距离足球l8单位处
一
直线跑位是否碰球一检测足台碰球?若碰球:(数值+10,跑位);没
有碰球:跑位一进攻算法,如图2所示。
当然,这是在whilefl9循环语 下执行的,这些数值运算存不刮
1秒的时问内可以执行很多次,几平不用担心执行力的问题。
图1条件C执行图示
图2条件D执行图示
2 2曲线算法截球
存线性截球的基础卜,有的先行者_J『始着手设计曲线算法截
球。这样依然需要做很多位置判断,就像线性截球‘样的,J_i是将截
球方案改为 线,如网3:
从图上来看曲线算法似乎更浪费时问,然而实践证明 这样设
计更能保证财足球的多重控制。叮以先假设 边进攻球员的运动路
径,如果是直线运行打门必然导致球无法射入门内,而使刖曲线!J!Jl
可以很妤地对球控制。对丁防守机器人,直线截球的确很节约时间,
但由丁对于运动的不确定性,我们不能始终假设对方射¨点选择存
我方球门Y轴中心,昕以我们使防守机器人进行曲线运动也多j 几
分意外缓冲机会。改进的曲线算法为: 球运行行为预测一定义¨
标点一计算足球 机器人的距离一汁算足球与机器人之间的角度
一
¨‘算足球与广I标点的角度一角度规范化修l【r一通过角度计算机
器人应有的 轮转速等一跑何。
3、改进的算法
我们已经知道曲线路 i殳计是优】 直线路径设汁的, 体的lI1I
线选择我们选择的足JF圆Illi线,伞场分 J 26分 模式,女l 14所
图4分区策略
算法分析
对_丁距离足球最近的机器人,策略使用以足球为圆心,(0.9倍
球十机器人斜边半径)为半径进行环绕。我们令对方球门线上X、
Y坐标分别为Opp center—x,Opp—center—y,足球行为预测 X、
Y坐标为ball X,ball—Y,机器人X、Y坐标为rob—x,rob y,足球半径
为ball—radius。
tl数字技术 f 五
……;
:
;
double dy=bal1.radius*O.9*sin(t 1/2一fabs(angle));
/切球
方案 :以对方球f】线为网心,以预洲足球后的坐标 0.9倍半
径为机器人运动半径进行简单七JJ球
double dx=bal1.radiUS*0.9*cos(f 1/2 fabs(angle));
在FreeBall情况下,改进算法和普通算法的比较如 6。
/=√(()pp cc【1lcr x-ba11~x+baII radius 09) +(Opp CCnle y ball—y+ball mdius*09)
方案 :以足球为圆心,以0.9倍足球半径为机器人运动半径,
对机器人运动半径、机器人 j足球的距离取余弦找到最佳运动点
图5机器人切球示意图
具体的操作流程为:足球运行行为预测一圆心点定义一机器
人运动半径定义一计算圆心点和足球的角度一角度规范化修正一
计算吲心 足球的距离一计算机器人应该转动的角度一跑位。
通常情况下我们是定义球 线上的某‘点为圆心,以足球fi',jo.
9倍 径力【l I 足球到圆心的距离为机器人的运动半径进行操作,防
、
1 要求较高的分区(如1—99区)我们 般是定义距离足球不远的
点作为圆心,它随足球的坐标变化而变化。
丁编程平台存足球结构体中未给出足球速度变量,冈而存上
山足球运行路径预测町以使用(2 X足球当前位置一上一周期足球
位置)来确定:
temp—x l=bal1.position.x bal1.oldposition.X; //上一
状念足球X坐标
temp—Y1=bal1.position.Y—bal1.oldposition.Y; //一卜’
状态足球y 边
int bal1X=bal1.P0si Li0n.x+temP X1:
//预洲卜‘阶段足球X坐标
bal1Y=bal1.P0Si Li0n.Y+temP Y1;
//预测下 阶段足球Y 标
伯度校正可以使用无限地Jill2 或足减去2 直到其 [ ,
】之 :
while(angle>PI)
angle=t 1 2:
whlie(angle<一PI)
a『】gle+=P【木2;
对 勺核心进攻和Iij.『 0 IX1.,为防l卜九意义的犯规,我们・股采
川f{ 线戡球+fill线哉球纳俞的力 式。 离址球最近的机器人人多
数 况卜使川 线路径,满址射门要求就改J}】卣线以商接撞球n勺 ‘
』 !=i'f¨。
1: f-.pl ̄ 想我 设计1 n勺 ̄,I,v/&./r-代 1 :
_f(boundRect.right>bal1.position.X)
:i r(bal1.position.y<(boundP,ect.bottom+boundRect.top)/
2) //址球他J 球场的卜半部分
double dx=fabs(boundP,ect.right bal1.position.x);
double dy=fabs(bal1.position.Y一(boundRect.
bottom+boundRect.top)/2); //离足球中线的距离
术angle=aLan2(dy,dx);
*angle=一(*angle+PI/2);
图7背身拿球时间比较
经多次实验证明该算法能火人提高射门机器人存带球过程-fl
拦截足球的效率, 管我们的改进算法在背身拿球时…脱r截球
时间波动较大的状况,但总体所用时间还是比‘般算法少,达剑r
减少截球时间,提高效率的目的。
4、结语
存使用曲线路径设计过后,机器人截球141'HI明显减小,这样他
机器人在比赛中有更多机会攻向射办球门,从 使机器人 比锝lI1
占有优势。
参考文献
[1]FIRA中国网站http://www.firachina.net.
[2]李蜂,刘祚时,林桂娟.机器人足球采弦射¨算法lJj.电肌计发 j』
吲。2007。20(4):50 51.
[3]攫福,马英庆。赵 .一种改进的卡J 1器人射¨算法[Jj.拧制理论0 f
用,2007,26(8):9—1 0.
[4]陆水忠,柯文憩.足球机器人次策系统的设计勺褒现[ ]1.汁算
真.2007.24(9):1 29-1 32.
[5]郭路生,扬林权,吕维先.基于Bezie曲线的机器人 球射门算斌
[J].哈尔滨工业大学学报,2005,37(7):921—923.
发布评论