1、机器人全课程机器人全课程2022-11-26机器人全课程欢迎词机器人全课程大纲介绍机器人全课程机器人全课程机器人全课程机器人全课程l仿真实物半自主机器人足球比赛;l所有的硬件设备均由计算机模拟实现;l简化比赛系统复杂度,减少硬件需求;l可控性好、无破坏性、可重复使用,不受硬件条件和场地环境的限制;l研究人工智能的绝佳平台;机器人全课程l对c语言有一定的了解;l对vc开发环境比较熟悉;l有创造性思维和充分的想象力;l有克服困难的能力;机器人全课程机器人全课程VSVS武汉工程大学代表队武汉工程大学代表队千人工程代表队千人工程代表队黄队黄队蓝队蓝队机器人全课程开发者:开发者:澳大利亚的Dr.Jun
2、Jo领导的Griffith大学信息技术学院RSS开发小组机器人全课程home1home1home2home2home3home3home4home4opp1opp1opp2opp2opp3opp3opp4opp4opp0opp0home0home0HomeHome代表代表己方机器人己方机器人 Opp Opp 代表代表对方机器人对方机器人箭头所指的箭头所指的方向为机器方向为机器人当前的正人当前的正方向方向机器人全课程0 0号一般是号一般是守门员守门员,用大红色表示;,用大红色表示;1 1号用紫色表示,号用紫色表示,2 2号用紫红色表示;号用紫红色表示;3 3号用绿色表示,号用绿色表示,4 4号用
3、蓝绿色表示;号用蓝绿色表示;每方队员有五名,分别用不同的颜色来标每方队员有五名,分别用不同的颜色来标示,中间是代表队伍的颜色,在左下角是示,中间是代表队伍的颜色,在左下角是区分不同队员的标识:区分不同队员的标识:机器人全课程鼠标:鼠标:在比赛开始前或比赛暂停时,在比赛开始前或比赛暂停时,可以用鼠标拖动球可以用鼠标拖动球或机器人到场地的任何位置。或机器人到场地的任何位置。键盘:键盘:在比赛开始前或比赛暂停时,当鼠标点击某一个在比赛开始前或比赛暂停时,当鼠标点击某一个机器人后机器人后可以用可以用或或键来键来调整该机器人的角度。调整该机器人的角度。机器人全课程机器人模型:机器人模型:Yujin Yu
4、jin机器人的物理模型。机器人的物理模型。模拟精确:模拟精确:碰撞检测完全,碰撞处理准确仿真极为真实碰撞检测完全,碰撞处理准确仿真极为真实 (采用商业游戏引擎公司(采用商业游戏引擎公司HavokHavok的碰撞处理引擎的碰撞处理引擎 作品作品 帝国时代、帝国时代、CSCS等)。等)。系统界面:系统界面:3 3维(采用维(采用DirectorDirector设计界面,设计界面,3D Max3D Max建模)。建模)。机器人全课程lWindows98Windows98或以上版本的操作系统;或以上版本的操作系统;lDirectX 8.0DirectX 8.0或以上版本;或以上版本;硬件需求:硬件需求
5、:lPentium III 600 MHzPentium III 600 MHz或与其性能相当的或与其性能相当的CPUCPU;l256M256M系统内存;系统内存;l具有具有32M32M显存的显存的TNT2TNT2或其以上级别的显示卡;或其以上级别的显示卡;l至少可以实现至少可以实现800800600600分辨率的显示器;分辨率的显示器;软件需求:软件需求:机器人全课程LingoLingoMicrosoft Visual CMicrosoft Visual C6.06.0Microsoft Visual CMicrosoft Visual C.NET 2003.NET 2003 机器人全课程
6、平台提供了基本的策略开发框架平台提供了基本的策略开发框架,见安装目录见安装目录下的下的Strategy SourceStrategy Source目录目录 如如:C:Program:C:Program FilesRobot Soccer v1.5aStrategy Source)FilesRobot Soccer v1.5aStrategy Source)。其模板程序为其模板程序为DLLDLL动态联接库。动态联接库。机器人全课程机器人全课程定义:策略程序就是自己编写的能够使仿真平定义:策略程序就是自己编写的能够使仿真平台中机器人按照预定方式运动的程序。台中机器人按照预定方式运动的程序。通俗的来
7、说,就是能够打比赛的程序。通俗的来说,就是能够打比赛的程序。机器人全课程策略程序接受数据策略程序接受数据策略程序发送数据策略程序发送数据MLSMLS平台平台MLSMLS策略程策略程序序策略程序将接受的策略程序将接受的数据进行处理数据进行处理机器人全课程(6.8118,6.37306.8118,6.3730)(6.8118,77.23926.8118,77.2392)(93.4259,77.239293.4259,77.2392)(93.4259,6.373093.4259,6.3730)(0,00,0)(单位单位:英寸英寸)机器人全课程(单位单位:厘米厘米)机器人全课程前前约约4.3184.3
8、18球球机器人机器人约约7.97567.9756(0.0,0.0)(0.0,0.0)X XY Y转角方向转角方向 0 0(单位单位:厘米厘米)机器人全课程仿真平台传递给策略程序的数据仿真平台传递给策略程序的数据:己方、对方机器人坐标、角度(当前周期,上一己方、对方机器人坐标、角度(当前周期,上一周期)。周期)。球的坐标(当前周期,上一周期)。球的坐标(当前周期,上一周期)。场地数据。场地数据。控球方。控球方。机器人全课程策略程序发送给仿真平台的数据策略程序发送给仿真平台的数据:己方(己方(homeihomei)每个机器人的左轮速)每个机器人的左轮速(vlvl)和右轮速()和右轮速(vrvr)。
9、)。注注:当前发送的数据要到下一周期才能执行。当前发送的数据要到下一周期才能执行。机器人全课程机器人全课程 该动作可以给机器人自由的发轮速(在该程序该动作可以给机器人自由的发轮速(在该程序中可以简单的认为轮速就是机器人的推进力)。中可以简单的认为轮速就是机器人的推进力)。小车发轮树被限制为小车发轮树被限制为 125 125 125125 之间。之间。/形参形参robot robot 指定小车号指定小车号 /形参形参vl vl 左轮速左轮速 vr vr 右轮速右轮速void Velocity(Robot void Velocity(Robot*robot,int vl,int vr);robot
10、,int vl,int vr);机器人全课程左轮速左轮速vlvl右轮速右轮速vrvr注注:vl vr vl vr 机器人顺时针旋转机器人顺时针旋转 vl vr vl home2,20,20);Velocity(&env-home2,20,20);/让让1 1号机器人左轮子都以号机器人左轮子都以-20-20的轮速后退的轮速后退Velocity(&env-home1,-20,-20);Velocity(&env-home1,-20,-20);/给给3 3号机器人左轮发号机器人左轮发100,100,右轮发右轮发2020Velocity(&env-home3,100,20);Velocity(&env
11、-home3,100,20);机器人全课程 该动作可以让机器人转到指定的任意角度。该动作可以让机器人转到指定的任意角度。并做直线运动。并做直线运动。/形参形参robot robot 指定小车号指定小车号 /形参形参desired_angledesired_angle为转角度数为转角度数void Angle(Robot*robot,int desired_angle);机器人全课程30度左轮速左轮速vlvl右轮速右轮速vrvr-180度度+180度度-60度左轮速左轮速vlvl右轮速右轮速vrvr当角度为负时,当角度为负时,机器人反向运动机器人反向运动机器人全课程void NormalAngle
12、(Environmentvoid NormalAngle(Environment*env)env)/让让1 1号机器人转到号机器人转到3030度角度角Angle(&env-home1,30);Angle(&env-home1,30);/让让3 3号机器人转到号机器人转到-60-60度角度角Angle(&env-home3,-60);Angle(&env-home3,-60);机器人全课程 该动作可以让机器人跑到场地上指定的任何地点。该动作可以让机器人跑到场地上指定的任何地点。/形参形参robot robot 指定小车号指定小车号 /形参形参 x x 目标位置目标位置X X坐标坐标 y y 目标
13、位置目标位置Y Y坐标坐标void Position(Robot void Position(Robot*robot,double x,double y);robot,double x,double y);机器人全课程?度度左轮速左轮速vlvl右轮速右轮速vrvr球位置球位置2 2球位置球位置1 1根据目标位置可进行转角的控制。根据目标位置可进行转角的控制。机器人全课程void NormalPosition(Environmentvoid NormalPosition(Environment*env)env)/让让2 2号机器人追着球跑号机器人追着球跑Position(&env-home2,P
14、osition(&env-home2,env-lastBall.pos.x,env-lastBall.pos.y););/让让2 2号机器人跑到场地中心号机器人跑到场地中心double x=(env-fieldBounds.left+env-fieldBounds.right)/2;double x=(env-fieldBounds.left+env-fieldBounds.right)/2;double y=(env-fieldBounds.bottom+env-fieldBounds.top)/2;double y=(env-fieldBounds.bottom+env-fieldBoun
15、ds.top)/2;Position(&env-home2,x,y);Position(&env-home2,x,y);机器人全课程void Normal(Environmentvoid Normal(Environment*env)env)Position(&env-home0,Position(&env-home0,env-goalBounds.left+10,env-goalBounds.left+10,env-currentBall.pos.y);env-currentBall.pos.y);/让让0 0号机器人在球门附近跟着球的号机器人在球门附近跟着球的y y坐标跑坐标跑Veloci
16、ty(&env-home1,10,70);Velocity(&env-home1,10,70);/让让1 1号机器人逆时针转圈号机器人逆时针转圈Position(&env-home2,Position(&env-home2,env-currentBall.pos.x,env-currentBall.pos.x,env-currentBall.pos.y);env-currentBall.pos.y);/让让2 2号机器人追着球跑号机器人追着球跑Angle(&env-home3,-60);Angle(&env-home3,-60);/让让3 3号机器人追着球跑号机器人追着球跑Velocity(&
17、env-home4,5,5);Velocity(&env-home4,5,5);/让让1 1号机器人逆时针转圈号机器人逆时针转圈 机器人全课程l轮速度限制为速度限制为 -125-125 125125l平台原始接口中提供了比赛状态(平台原始接口中提供了比赛状态(GameStateGameState)以及控球方(以及控球方(WhosBallWhosBall)两个参数)两个参数,但经过实际开但经过实际开发时发现他们毫无任何用处发时发现他们毫无任何用处,故需要自己判断故需要自己判断l场地度量单位为英寸,场地度量单位为英寸,1 1英寸英寸=2.54=2.54厘米厘米l机器人角度的单位为角度(机器人角度的
18、单位为角度(不是弧度不是弧度)l如果场地不同,队伍需要转换左右半场坐标如果场地不同,队伍需要转换左右半场坐标机器人全课程机器人全课程机器人全课程机器人全课程 这个文件有与仿真平台通讯的一个结构这个文件有与仿真平台通讯的一个结构EnvironmentEnvironment和三个函数的声明和三个函数的声明/比赛开始时系统调用一次比赛开始时系统调用一次extern C STRATEGY_API void Create(Environment extern C STRATEGY_API void Create(Environment*env);env);/比赛过程中由系统循环调用(比赛过程中由系统循环
19、调用(策略都放在里面策略都放在里面)。)。extern C STRATEGY_API void extern C STRATEGY_API void StrategyStrategy(Environment (Environment*env);env);/比赛结束时系统调用一次比赛结束时系统调用一次extern C STRATEGY_API void Destroy(Environment extern C STRATEGY_API void Destroy(Environment*env);env);机器人全课程StrategyStrategy 函数接口函数接口 StrategyStrate
20、gy是程序的主要执行逻辑,由系是程序的主要执行逻辑,由系统反复调用,每次调用时系统通过统反复调用,每次调用时系统通过EnvironmentEnvironment*env env这个指针向我们传递当前周期系统提供信息,在这里,这个指针向我们传递当前周期系统提供信息,在这里,我们必须处理针对赛场上每一时刻的对策,通过策略我们必须处理针对赛场上每一时刻的对策,通过策略运算设置己方小车的左右轮转速,来控制机器人进行运算设置己方小车的左右轮转速,来控制机器人进行足球比赛。足球比赛。每秒调用次数依靠机器能力来定,默认为每秒调用次数依靠机器能力来定,默认为6060次,次,即仿真的一个周期为即仿真的一个周期为
21、1/601/60秒。秒。extern C STRATEGY_API void Strategy(Environment extern C STRATEGY_API void Strategy(Environment*env);env);机器人全课程/主要的定义主要的定义,包含所有运行时的的信息包含所有运行时的的信息,由系统刷新由系统刷新typedef structtypedef struct Robot homePLAYERS_PER_SIDE;Robot homePLAYERS_PER_SIDE;/我方机器人数组我方机器人数组OpponentRobot opp PLAYERS_PER_SID
22、E;OpponentRobot opp PLAYERS_PER_SIDE;/敌方机器人数组敌方机器人数组Ball currentBall,Ball currentBall,/当前小球的位置当前小球的位置 lastBall,lastBall,/上一次小球的位置上一次小球的位置 predictedBall;predictedBall;/预计的小球的位置预计的小球的位置Bounds fieldBounds,Bounds fieldBounds,/场地范围场地范围 goalBounds;goalBounds;/球门的位置与范围球门的位置与范围long gameState;long gameState;
23、/当前游戏的状态当前游戏的状态long whosBall;long whosBall;/由谁控制球由谁控制球void void*userData;userData;/用户自定义信息用户自定义信息 EnvironmentEnvironment;机器人全课程/位置向量定义位置向量定义typedef structdouble x,y,z;/x/x 和和 y y 为坐标值为坐标值 Vector3D;机器人全课程/己方机器人的信息定义己方机器人的信息定义typedef structtypedef struct Vector3D pos;Vector3D pos;/机器人坐标机器人坐标double rot
24、ation;double rotation;/机器人方向角机器人方向角double velocityLeft,double velocityLeft,velocityRight;velocityRight;/机器人左右轮速度机器人左右轮速度 Robot;Robot;机器人全课程/敌方机器人的信息的定义敌方机器人的信息的定义typedef structVector3D pos;/机器人的坐标位置机器人的坐标位置double rotation;/机器人当前的转角机器人当前的转角 OpponentRobot;机器人全课程/小球的位置定义小球的位置定义typedef structVector3D po
25、s;/小球的坐标位置小球的坐标位置 Ball;机器人全课程/场地区域范围场地区域范围typedef structlong left,/场地左边界场地左边界 right,/场地右边界场地右边界 top,/场地上边界场地上边界 bottom;/场地下边界场地下边界 Bounds;机器人全课程/防守球门防守球门void Goalie1(Robot void Goalie1(Robot*robot,Environment robot,Environment*env);env);/控制小车在球场边线的控制控制小车在球场边线的控制void NearBound2(Robot void NearBound2(
26、Robot*robot,double vl,double vr,Environment robot,double vl,double vr,Environment*env);env);/抢球抢球void Attack2(Robot void Attack2(Robot*robot,Environment robot,Environment*env);env);/防守防守void Defend(Robot void Defend(Robot*robot,Environment robot,Environment*env,double low,double high);env,double low
27、,double high);机器人全课程/机器人向小球的位置移动的方法机器人向小球的位置移动的方法void MoonAttack(Robot void MoonAttack(Robot*robot,Environment robot,Environment*env);env);/对敌方的跟踪对敌方的跟踪void MoonFollowOpponent(Robot void MoonFollowOpponent(Robot*robot,OpponentRobot robot,OpponentRobot*opponent);opponent);/预估小球的位置预估小球的位置void PredictB
28、all(Environment void PredictBall(Environment*env);env);机器人全课程/设置小车轮子速度设置小车轮子速度void Velocity(Robot void Velocity(Robot*robot,int vl,int vr);robot,int vl,int vr);/小车转角控制小车转角控制void Angle(Robot void Angle(Robot*robot,int desired_angle);robot,int desired_angle);/移动小车到指定位置移动小车到指定位置void Position(Robot void
29、 Position(Robot*robot,double x,double y);robot,double x,double y);机器人全课程机器人全课程策略库策略库平台接口数据平台接口数据预处理层预处理层角色层角色层角色动作层角色动作层组合动作库组合动作库机器人全课程 输入信息预处理,包括对接口参数进行输入信息预处理,包括对接口参数进行英寸到厘米及坐标方向的转换,计算个体英寸到厘米及坐标方向的转换,计算个体的线速度、角速度,个体间的距离、角度的线速度、角速度,个体间的距离、角度等。等。机器人全课程l 角色层是决策的最高层,它接受经预处理过角色层是决策的最高层,它接受经预处理过的比赛数据,包
30、括所有机器人和球的位置。根据的比赛数据,包括所有机器人和球的位置。根据这些数据判断场上的形势,从策略库中抽取合适这些数据判断场上的形势,从策略库中抽取合适的协作模式,定出合作的意图并将意图传人下的协作模式,定出合作的意图并将意图传人下一层。一层。l 角色层的关键有两点角色层的关键有两点:判断判断场上形势场上形势和和角色的角色的分配分配。在对形式分析得时候需要加入规则得判断。在对形式分析得时候需要加入规则得判断。策略库策略库角色层角色层机器人全课程l一般将球场分成三个区域:一般将球场分成三个区域:进攻区进攻区、防守防守区区和和过渡区过渡区l进攻区在对方球门区附近进攻区在对方球门区附近l防守区在已
31、方球门区附近防守区在已方球门区附近l过渡区在前两者之间过渡区在前两者之间机器人全课程l 判断那个机器人控制球的方法:判断那个机器人控制球的方法:最短距离法最短距离法:该方法实现简单,效果明显,当前周期中那该方法实现简单,效果明显,当前周期中那个机器人与球的距离最近就代表谁控球。个机器人与球的距离最近就代表谁控球。机器人全课程l例如:例如:球在进攻区内。且我方控制球,则离球近的队员为球在进攻区内。且我方控制球,则离球近的队员为主攻、另一名队员为协攻。主攻、另一名队员为协攻。球在防守区域内,则离球近的队员为主防、另一名球在防守区域内,则离球近的队员为主防、另一名队员为协防。队员为协防。(就能随意的
32、变换就能随意的变换1 1到到4 4号车,但守门员的角色通常不号车,但守门员的角色通常不变变);l角色分配首先取决于开发者设计的各种攻防策略角色分配首先取决于开发者设计的各种攻防策略(存存放在策略库中放在策略库中):如:全攻全守如:全攻全守,区域防守区域防守机器人全课程l 角色动作层是对已经角色动作层是对已经分配角色的分配角色的机器人进行一机器人进行一个连续动作的规划。个连续动作的规划。l 这里设计到机器人之间的配合动作在角色动作这里设计到机器人之间的配合动作在角色动作被分配以后,随着场上形式的转变需要对角色动被分配以后,随着场上形式的转变需要对角色动作进行切换操作。作进行切换操作。角色动作层角
33、色动作层组合动作库组合动作库机器人全课程l 组合动作库是建立在机器人基本动作上组合动作库是建立在机器人基本动作上的。的。l 将机器人的基本动作进行组合,组合成将机器人的基本动作进行组合,组合成一个角色的动作。一个角色的动作。机器人全课程机器人全课程载入两个空策略。载入两个空策略。点击点击Open ViewerOpen Viewer菜单。菜单。打开打开RSViwerRSViwer,选择,选择BallBall。机器人全课程将球移动到待测试点将球移动到待测试点 后点击后点击StartStart进入比赛状态。进入比赛状态。点击点击RSViwerRSViwer中的中的DisplayDisplay 可以看
34、到球的坐标。可以看到球的坐标。机器人全课程机器人全课程1.1.将场地分成四个区域,每个区域都有一个将场地分成四个区域,每个区域都有一个自由球罚球点,在哪个区域犯规,就在那自由球罚球点,在哪个区域犯规,就在那个区域罚自由球。个区域罚自由球。2.2.球应该摆放在罚球点上。球应该摆放在罚球点上。3.3.每对有一个机器人放在离球每对有一个机器人放在离球2525厘米的发球厘米的发球线上。线上。4.4.其他机器人应该放在这个犯规区域以外。其他机器人应该放在这个犯规区域以外。5.5.防守方机器人应在靠近自己底线的一边。防守方机器人应在靠近自己底线的一边。6.6.防守方先摆机器人。防守方先摆机器人。机器人全课
35、程1.1.判断球场上所有机器人和球的速度非常小。判断球场上所有机器人和球的速度非常小。2.2.判断球的位置是否在发球点上。判断球的位置是否在发球点上。3.3.判断我方和对方是否有且仅有一个机器人在判断我方和对方是否有且仅有一个机器人在球的附近(相距球的附近(相距2525厘米左右)。厘米左右)。结合以上三个条件起来就可以判断是否在罚自结合以上三个条件起来就可以判断是否在罚自由球。由球。机器人全课程机器人全课程1.1.踢球机器人必须放在球的后方。踢球机器人必须放在球的后方。2.2.防守的守门员必须压球门线。防守的守门员必须压球门线。3.3.除了踢球机器人和防守守门员外,其除了踢球机器人和防守守门员
36、外,其他机器人都在另外半场。他机器人都在另外半场。4.4.防守方先摆机器人。防守方先摆机器人。机器人全课程1.1.判断球场上所有机器人和球的速度非常小。判断球场上所有机器人和球的速度非常小。2.2.判断球的位置是否在发球点上。判断球的位置是否在发球点上。3.3.判断我方和对方是否有且仅有一个机器人在判断我方和对方是否有且仅有一个机器人在发球的那个半场。发球的那个半场。结合以上三个条件起来就可以判断是否在罚自结合以上三个条件起来就可以判断是否在罚自由球。由球。机器人全课程机器人全课程1.1.发球方只允许有一个守门员在大禁区发球方只允许有一个守门员在大禁区内。内。2.2.球应该放在大禁区内。球应该
37、放在大禁区内。3.3.防守方机器人必须在自己半场。防守方机器人必须在自己半场。4.4.防守方先摆机器人。防守方先摆机器人。机器人全课程1.1.判断球场上所有机器人和球的速度非常小。判断球场上所有机器人和球的速度非常小。2.2.判断球的位置是否在大禁区内。判断球的位置是否在大禁区内。3.3.判断我方是否有且仅有一个机器人在大禁区内。判断我方是否有且仅有一个机器人在大禁区内。4.4.判断所有对方球员都不在我方半场。判断所有对方球员都不在我方半场。结合以上四个条件起来就可以判断是否在罚自由球。结合以上四个条件起来就可以判断是否在罚自由球。机器人全课程机器人全课程每次暂停时间为每次暂停时间为3 3 分
38、钟分钟,每场比赛最多叫每场比赛最多叫两次暂停。两次暂停。如果一支球队在中场休息时没有准备好如果一支球队在中场休息时没有准备好不能开始下半场比赛,休息时间可以延不能开始下半场比赛,休息时间可以延长长5 5分钟。若在延时后球队仍未准备好分钟。若在延时后球队仍未准备好继续比赛,则将取消其比赛资格。继续比赛,则将取消其比赛资格。机器人全课程比赛开始比赛开始上、下半场开始时,总是蓝队先开球。上、下半场开始时,总是蓝队先开球。上、下半场开球,以及进球后重新开球上、下半场开球,以及进球后重新开球时,球放置在场地中心处,开球方必须时,球放置在场地中心处,开球方必须先将球踢向自己半场。先将球踢向自己半场。中场休
39、息后,双方交换比赛场地。中场休息后,双方交换比赛场地。机器人全课程l当球整体越过对方球门线并且没有犯规当球整体越过对方球门线并且没有犯规,那么算一次那么算一次有效进球。有效进球。l淘汰赛在下半场结束之后出现平局的情况下,采用淘汰赛在下半场结束之后出现平局的情况下,采用加时赛突然死亡法决定胜负(金球)。加时赛突然死亡法决定胜负(金球)。l在点球决胜时,出现下列情况之一,罚点球结束:在点球决胜时,出现下列情况之一,罚点球结束:l1 1 守门员在门区内抓住了球;守门员在门区内抓住了球;l2 2 开球后球滚出球门区;开球后球滚出球门区;l3 3 开球后开球后10 10 秒秒l如果一方因为被剥夺比赛权利
40、,技术故障或者主动如果一方因为被剥夺比赛权利,技术故障或者主动弃权,则该方为比赛失利方,比分为弃权,则该方为比赛失利方,比分为0 0 比比2020。机器人全课程如果裁判员认为被犯规方处于有利形势,如果裁判员认为被犯规方处于有利形势,可以不判罚犯规。可以不判罚犯规。除了极端情况外,控球队员没有犯规行除了极端情况外,控球队员没有犯规行为可不判罚犯规。为可不判罚犯规。是否处于是否处于“极端情况极端情况”由裁判员判断。由裁判员判断。机器人全课程防守方超过一个机器人在球门区内。防守方超过一个机器人在球门区内。守门员在十秒中之内没有把球踢出球门守门员在十秒中之内没有把球踢出球门区。区。防守方超过三个机器人
41、在大禁区。防守方超过三个机器人在大禁区。机器人全课程当进攻机器人将防守方守门员推到球门里面。当进攻机器人将防守方守门员推到球门里面。进攻时超过一个机器人进入对方的球门区。进攻时超过一个机器人进入对方的球门区。当进攻方机器人在防守方球门区里面干扰防守当进攻方机器人在防守方球门区里面干扰防守方守门员。方守门员。在球门区里面发生僵持情况超过十秒。在球门区里面发生僵持情况超过十秒。机器人全课程在球门区外发生僵局十秒以上。在球门区外发生僵局十秒以上。机器人全课程仅当一个机器人有超过仅当一个机器人有超过50%50%的体积处的体积处于某个区域时,才意味着该机器人进入于某个区域时,才意味着该机器人进入此区域。此区域。当球的整体越过球门线才算进球。当球的整体越过球门线才算进球。机器人全课程以上规则只是整个以上规则只是整个MLSMLS规则的一部分,规则的一部分,比赛的时候请完全参照比赛的时候请完全参照firafira关于关于MLSMLS的的官方规则文档。官方规则文档。进入仿真平台,点击右下角的进入仿真平台,点击右下角的“HELP”“HELP”按钮,即可弹出按钮,即可弹出MLSMLS平台的完全说明文平台的完全说明文档和档和MLSMLS规则文档。规则文档。机器人全课程2022-11-26机器人全课程
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。