FIRA 仿真组比赛简介

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ቤተ መጻሕፍቲ ባይዱ
•犯规
1). 点球 ( Penalty-Kick) 在球门区内防守方多于一个机器人,则对防守方 罚点球。 在球门区及罚球区内防守方的机器人多于4个 时,对防守方罚点球。 2).自由球 ( Free-Ball) 在场内某处球静止10秒,则判为自由球,如果 静止发生在比赛场地的某一四分之一区,则将 球放在该区的FB处; 在对方球门区,进攻方机器人多于一个,则判 为自由球。
仿真平台提供数据

本方、对方机器人坐标、方位角
CStrategySystem:home1,
home2,…,home10,hgoalie CStrategySystem:opponent

球的坐标
CStrategySystem:ball
仿真平台接收数据

机器人小车左右轮速度
CStrategySystem:command[i]
系统特点

界面:2维

通讯方式:客户机/服务器(C/S)结构,采用 UDP/IP协议
调试方便

场地数据

坐标系
以屏幕左上角为原点,X轴向右,Y轴向下

坐标
球场(65,95),(965,723) 球门Y坐标 313, 505
门区(65,247),(103,577)
禁区(65,217),(157,607)

队员的坐标使用如下:自己一方机器人的 坐标:homeX.position.x, homeX.position.y,对方机器人的坐标位 置: opponent.positionX.x,opoonent.posit ionX.y。 队员的角度:自己一方代号为X机器人的 当前角度: homeX.angle。 比赛场地尺寸: boundRect.left=65, boundRect.right=969, boundRect.top=95, boundRect.bottom=723。

MiroSot比赛
机器人尺寸为 7.5cm×7.5cm×7.5cm 为小型组,中型组和大型组三个级别 每组场上的队员分别为3名、5名、11名 每队有一台或多台主机用于视觉处理和定位

比赛场景
为何设立SimuroSot比赛
SimuroSot比赛是对实际MiroSot比赛的仿真 实物机器人比赛牵涉内容过多(计算机视觉、 图形学、策略设计等软机编制内容,还包括 电机控制、通讯等硬件设计内容 ),使得策 略不能发挥出最大效果,重点不突出。 开展仿真比赛容易,减少对硬件的需求 参赛容易,促进机器人足球比赛的发展
•犯规 2).自由球 ( Free-Ball) 在球门区及罚球区内进攻方的机器人多于4个 时,则判为自由球。

当进攻方机器人在球门区阻挡守门员时,则 判为自由球。
Large League SimuroSot简介

开发者: 哈尔滨工业 大学
图2.3 Large League SimuroSot比赛界面
运动学方程 离散方程
③机器人的运动学模型 (状态空间方程)
注: 此处仅考虑离散时间系统
由运动学方程我们可以得到
1 Sk+1 Sk Sk ( Sk 2 ) 2
(i) 匀速模型

Sk+1 Sk ( Sk )
( S ) Sk+1 k
状态转移矩阵
X k 1x
X k 1y
给定角度,固定转弯半径的数学坐标变换方程
x (t ) R sin(0 ) R sin 0
y (t ) R cos(0 ) R cos 0
X t 2 R sin 2 cos( 0 2 ) X 0 Yt 2 R sin sin( 0 ) Y0 2 2 T 0 其他公式

仿真比赛特点
所有的硬件设备均由计算机模拟实现,并假 设它们都工作在理想状态 简化比赛系统复杂度,减少硬件需求 可控性好、无破坏性、可重复使用,不受硬 件条件和场地环境的限制

SimuroSot仿真平台所作的简化工作



视觉系统:完全忽略了实际视觉系统的缺点,认为 视觉系统没有误差,同时计算机视觉程序能够正确 工作 机器人电机控制系统:将电机转速误差忽略掉,采 用统一的速度控制模型,只要掌握了该模型就可以 设计出控制算法,对机器人的轨迹进行精确的控制 通讯系统:通讯过程通过计算机内存变量的数据交 换或者网络通讯的方式来模拟,数据传输可靠率极 高,完全不用考虑干扰以及时间延时等问题
仿真系统基本结构
场上数据
决策系统
机器人命令
仿真系统
图2.1系统简化结构
仿真机器人比赛软件平台总框图
碰撞检 测模块
运动学 模块



络 通 信 模 块 1,2,…11 1,2,…11 策略库
信息综 合分析 模块
动力学 模块
自动裁 判模块
通 信 模 块
行为决 策模块
基本动 作及路 径规划 模块
显示 模块
Sxk S yk xk = S yk S yk
S xk xk = S xk S xk S yk S yk S yk
(ii) 匀速加速度模型 令
1 Ak 0 1
1 Ak 0 0
决策系统设计注意事项


机器人小车为理想模型 守门员为1号 速度限制为-127~127 球员方位角单位为角度 不需转换左右半场 发送命令参数command数组原始设计是一个机器人 占3位,即左轮速度,右轮速度,动作类型。
接口规范

提供Client模板

决策系统入口CStrategySystem::Action()

•计分方法


1)获胜者:某一球队将一个球踢进对方球门线 就得分 ,此时该球队计分牌就自动加1。根据 记分牌数据大小决定获胜队。 2)打破平局:下半场比赛结束后,若双方打成 平局,则通过突然死亡法决定获胜者。过下半 场比赛后进入加时赛,加时最长时间为3分钟, 其间先得分的球队为获胜者。如果追加3分钟 后仍是平局,则通过点球决定获胜者。每个球 队可射3次点球。在这时只有一个踢球员和一 个守门员上场比赛。裁判吹哨后,允许守门员 走出球门区。如果3次点球后仍是打成平局, 则一次一次地增加点球次数,直到决定获胜者 为止。所有点球均由一个机器人踢。裁判员吹 哨后,点球即可开始。
平台信息
客户平台部分
运动学模块
① 球的运动学模型(离散时间系统):
Vt Vt 1 t X t X t 1 Vt 1t cos t 1 Y Y V t s in t 1 t 1 t 1 t
小球和车型机器人模型
②机器人的运动学模型 位置和位置定义 速度向量

vL=C*(α *dist-β *angle_e);

vR=C*(α *dist+β *angle_e);
4. 比赛策略开发方法简介 坐标方向:每个队的策略都按照从右向左 进攻来考虑,左队和右队的坐标转换将在 服务器端完成。 队员位置:在CstrategySystem类中定义 了每个队使用的十一个机器人的结构体 home1, home2, …home10, hgoalie 。 另外,在类的定义中还包括结构体 opponent,它包含对方每个机器人的坐 标位置。

1 0
1 2 2 1
这样,我们分别得到(i) (ii)时,机器人运动模型的状态空间模型。
(i) 匀速模型
X k 1x
1 X kx 0 1
1 X k 1y X ky 0 1
(ii) 匀速加速度模型
1 0 1 0 0 1 2 2 X kx 1 1 0 1 0 0 1 2 2 X ky 1
到给定点
原地转向某个角度
1.直线运动和转角分步执行法实现Position

if(|机器人角度-预达到的角度|<α ) { 左轮速vL=右轮速vR;//实现直线跑 位 } else { 左轮速vL=-右轮速vR;//实现转角 }
2.直线运动和转角同时控制法实现Position
比赛策略开发方法简介

信息预处理层 int CStrategySystem::Balldist(int which)……人球距离 BOOL CStrategySystem::Judgekick(int which)………判断踢 球 BOOL CStrategySystem::Judgepass(int kicker,int receiver). 判断传球 BOOL CStrategySystem::Noplayer(int which)..判断球员周
Association )
FIRA机器人足球比赛种类
半自主型机器人足球:MiroSot 全自主型机器人足球:RoboSot 仿真机器人足球: SimuroSot 超小型半自主机器人机器人足球:NaroSot 超小型全自主机器人足球:KheperaSot 类人机器人足球: HuroSot

void CStrategySystem::NormalGame()

策略举例
{ Robot2 *robot; CPoint target,mball; int dx, dy; if(ball.position.x > (boundRect.left+boundRect.right)/2) { robot = &home1; target.x=(boundRect.left+boundRect.right)/2; target.y=(boundRect.top+boundRect.bottom)/2; dx = robot->position.x -target.x ; dy = robot->position.y -target.y; if(dx*dx+dy*dy > 400) Position(HOME1,CPoint(target.x,target.y)); }
FIRA 仿真组比赛 SimuroSot介绍 及决策程序设计
FIRA比赛的发展状况

1995年9月,韩国举办了微型机器人世界杯足球 比赛 ,成立了国际机器人足球组织委员会。 1996年11月微机器人世界杯机器人足球比赛在 KAIST首次举行 。 1997年6月在KAIST举办了第二届世界杯机器人 足球大赛MiroSot’97。在MiroSot’ 97结束时, 在韩国大田成立了国际机器人足球联盟FIRA (Federation of International Robot-soccer
2. 客户机程序使用方法

左右队的坐标变换的问题,可以参考在CbaseAgent 类的OnRective()函数中的如下代码: if(m_iSide==LEFT_TO_RIGHT) { thePlannerL->ReceiveData (theball, r[0][0],r[0][1],r[0][2],... r[0][10],op); thePlannerL->Action(); } else if(m_iSide==RIGHT_TO_LEFT) { thePlannerR->ReceiveData (theball, r[0][0],r[0][1],r[0][2], ... r[0][10], op); thePlannerR->Action(); }



围无人
基础动作设计

void CStrategySystem::Angle(int which, int desired_angle). 转角
void CStrategySystem::Stop(int which)…………………停止

void CStrategySystem::Position(int which, CPoint point)… 跑位 1.直线运动和转角分步执行法实现Position 2.直线运动和转角同时控制法实现Position
2网络通信模块
(1)作用:进行服务器和客户端之间的通信。 (2)服务器提供的信息:我方球员的位置和方位 角,对方球员的位置,球的位置。 (3)客户端提供的信息:我方球员的左右轮速
3.动力学模块
4.碰撞检测模块
5自动裁判模块
3. 仿真机器人足球比赛规则
比赛时间: 1)比赛分上半场与下半场,每半场比赛 时间为5分钟,两个半场中间休息10分钟。 计时员在发生暂停或进球或罚球时应停 止计时。 2)如果中间休息后,某一队由于没准备好 而无法上场比赛,可以延长5分钟,如果 延长时间后,该队仍无法上场比赛,则 取消其比赛资格。
相关文档
最新文档