- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FIRA 11VS11仿真足球平台截球的策略分析
基于FIRA 11VS11仿真足球平台截球的策略分析
摘要:针对机器人仿真的高实时、运动的不确定、拦截足球的低效率等情况,在分析研究线性算法拦截球的基础上,提出曲线编程思想,通过全息信息检索、曲线算法等,从而设计出能够使机器人到达指定位置,并执行指定命令的最优路线,提高了机器人的截球效率。
关键词:机器人足球 路径设计 信息决策
中图分类号: TP242 文献标识码:A 文章编号:1007-9416(2011)10-0107-02
1、引言
基于FIRA平台的机器人仿真足球是以VC++为编程平台基础,与FIRA平台服务器对接程序以实现足球的仿真。在现实的足球比赛中,谁掌握了比赛的控球权谁就有更多的机会取得胜利,这一点在仿真足球平台上依然适用。基于此,我们着重设计比赛中的足球拦截,目前主流有直接角度和位置计算、三角函数计算、遗传算法模糊数据处理等方法。本文提出曲线拦截思想,结合对方机器人的位置,通过多个位置信息处理,调配我方机器人具体跑位实现对足球控制。
2、算法
2.1 线性算法
线性截球的基本思想如下:
球运行路径预测→A.距离足球最近的我方机器人→B.距离足球最近的对方机器人(假设该机器人为R)→如果AB执行条件C,否则执行条件D。
C:找出距离R最近的我方机器人以及X轴与Y轴的具体差值→R与足球之间角度预测→我方机器人与球角度预测→角度校正→位置优先级判断(设最佳位置为P)→跑位于R与足球的延长线上P点,如图1所示。
D:确定足球与我方球门Y轴中点→连线上距离足球18单位处→直线跑位是否碰球→检测是否碰球?若碰球:(数值+10,跑位);没有碰球:跑位→进攻算法,如图2所示。
当然,这是在while的循环语句下执行的,这些数值运算在不到1秒的时间内可以执行很多次,几乎不用担心执行力的问题。
2.2 曲线算法截球
在线性截球的基础上,有的先行者开始着手设计曲线算法截球。这样依然需要做很多位置判断,就像线性截球一样的,只是将截球方案改为曲线,如图3:
从图上来看曲线算法似乎更浪费时间,然而实践证明上这样设计更能保证对足球的多重控制。可以先假设左边进攻球员的运动路径,如果是直线运行打门必然导致球无法射入门内,而使用曲线则可以很好地对球控制。对于防守机器人,直线截球的确很节约时间,但由于对手运动的不确定性,我们不能始终假设对方射门点选择在我方球门Y轴中心,所以我们使防守机器人进行曲线运动也多了几分意外缓冲机会。改进的曲线算法为:足球运行行为预测→定义目标点→计算足球与机器人的距离→计算足球与机器人之间的角度→计算足球与目标点的角度→角度规范化修正→通过角度计算机器人应有的左右轮转速差→跑位。
3、改进的算法
我们已经知道曲线路径设计是优于直线路径设计的,具体的曲线选择我们选择的是正圆曲线,全场分区基于26分区模式,如图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。
方案一:以对方球门线为圆心,以预测足球后的坐标*0.9倍半径为机器人运动半径进行简单切球
方案二:以足球为圆心,以0.9倍足球半径为机器人运动半径,对机器人运动半径、机器人与足球的距离取余弦找到最佳运动点
具体的操作流程为:足球运行行为预测→圆心点定义→机器人运动半径定义→计算圆心点和足球的角度→角度规范化修正→计算圆心与足球的距离→计算机器人应该转动的角度→跑位。
通常情况下我们是定义球门线上的某一点为圆心,以足球的0.9倍半径加上足球到圆心的距离为机器人的运动半径进行操作,防守要求较高的分区(如1-9分区)我们一般是定义距离足球不远的点作为圆心,它随足球的坐标变化而变化。
由于编程平台在足球结构体中未给出足球速度变量,因而在上面足球运行路径预测可以使用(2×足球当前位置-上一周期足球位置)来确定:
temp_x1=ball.position.x-ball.oldposition.x; //上一状态足球x坐标
temp_y1=ball.position.y-ball.oldposition.y; //上一状态足球y左边
int ballx=ball.position.x+temp_x1; //预测下一阶段足球x坐标
bally=ball.position.y+temp_y1; //预测下一阶段足球y坐标
角度校正可以
原创力文档


文档评论(0)