好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

机器人全课程.ppt

84页
  • 卖家[上传人]:ni****g
  • 文档编号:586383567
  • 上传时间:2024-09-04
  • 文档格式:PPT
  • 文档大小:808.50KB
  • / 84 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 封面 欢迎词 大纲介绍 0. 0. 概述概述 0.1 0.1 实物半自主足球机器人实物半自主足球机器人 0.2 0.2 仿真机器人足球比赛仿真机器人足球比赛 0.3 0.3 仿真比赛的特点仿真比赛的特点l仿真实物半自主机器人足球比赛;l所有的硬件设备均由计算机模拟实现;l简化比赛系统复杂度,减少硬件需求 ;l可控性好、无破坏性、可重复使用,不受硬件条件和场地环境的限制;l研究人工智能的绝佳平台; 0.4 0.4 仿真比赛开发基础仿真比赛开发基础l对c语言有一定的了解;l对vc开发环境比较熟悉;l有创造性思维和充分的想象力;l有克服困难的能力; 1. 1. 仿真平台使用介绍仿真平台使用介绍 1.1 1.1 演示一场比赛演示一场比赛VSVS武汉工程大学代表队武汉工程大学代表队千人工程代表队千人工程代表队黄队黄队蓝队蓝队 1.2 MLS1.2 MLS平台平台开发者:开发者:澳大利亚的Dr. Jun Jo领导的Griffith大学信息技术学院RSS开发小组 1.3 1.3 机器人的编号机器人的编号home1home1home2home2home3home3home4home4opp1opp1opp2opp2opp3opp3opp4opp4opp0opp0home0home0HomeHome代表代表己方机器人己方机器人 Opp Opp 代表代表对方机器人对方机器人箭头所指的箭头所指的方向为机器方向为机器人当前的正人当前的正方向方向 1.4 1.4 机器人的辨认机器人的辨认0 0号一般是号一般是守门员守门员,用大红色表示;,用大红色表示;1 1号用紫色表示,号用紫色表示,2 2号用紫红色表示;号用紫红色表示;3 3号用绿色表示,号用绿色表示,4 4号用蓝绿色表示;号用蓝绿色表示;每方队员有五名,分别用不同的颜色来标每方队员有五名,分别用不同的颜色来标示,中间是代表队伍的颜色,在左下角是示,中间是代表队伍的颜色,在左下角是区分不同队员的标识:区分不同队员的标识: 1.5 1.5 鼠标和键盘操作鼠标和键盘操作鼠标:鼠标: 在比赛开始前或比赛暂停时,在比赛开始前或比赛暂停时,可以用鼠标拖动球可以用鼠标拖动球或机器人到场地的任何位置。

      或机器人到场地的任何位置键盘:键盘: 在比赛开始前或比赛暂停时,当鼠标点击某一个在比赛开始前或比赛暂停时,当鼠标点击某一个机器人后机器人后可以用可以用或或键来键来调整该机器人的角度调整该机器人的角度 1.6 MLS1.6 MLS平台系统特点平台系统特点机器人模型:机器人模型: Yujin Yujin机器人的物理模型机器人的物理模型模拟精确:模拟精确: 碰撞检测完全,碰撞处理准确仿真极为真实碰撞检测完全,碰撞处理准确仿真极为真实 (采用商业游戏引擎公司(采用商业游戏引擎公司HavokHavok的碰撞处理引擎的碰撞处理引擎 作品作品 帝国时代、帝国时代、CSCS等)系统界面:系统界面: 3 3维(采用维(采用DirectorDirector设计界面,设计界面,3D Max3D Max建模) 1.7 MLS1.7 MLS平台系统需求平台系统需求lWindows98Windows98或以上版本的操作系统;或以上版本的操作系统;lDirectX 8.0DirectX 8.0或以上版本;或以上版本;硬件需求:硬件需求:lPentium III 600 MHzPentium III 600 MHz或与其性能相当的或与其性能相当的CPUCPU;;l256M256M系统内存;系统内存;l具有具有32M32M显存的显存的TNT2TNT2或其以上级别的显示卡;或其以上级别的显示卡;l至少可以实现至少可以实现800×600800×600分辨率的显示器;分辨率的显示器;软件需求:软件需求: 1.81.8软件开发环境软件开发环境LingoLingoMicrosoft Visual CMicrosoft Visual C++++6.06.0Microsoft Visual CMicrosoft Visual C++++.NET 2003.NET 2003√ √√ √×× 1.9 MLS1.9 MLS平台模板程序平台模板程序 平台提供了基本的策略开发框架平台提供了基本的策略开发框架, ,见安装目录见安装目录下的下的Strategy SourceStrategy Source目录目录 如如:C:\Program :C:\Program Files\Robot Soccer v1.5a\Strategy Source)Files\Robot Soccer v1.5a\Strategy Source)。

      其模板程序为其模板程序为DLLDLL动态联接库动态联接库 2.2.仿真平台与策略程序仿真平台与策略程序的关系的关系 2.1 2.1 什么是策略程序?什么是策略程序?l定义:策略程序就是自己编写的能够使仿真平定义:策略程序就是自己编写的能够使仿真平台中机器人按照预定方式运动的程序台中机器人按照预定方式运动的程序l通俗的来说,就是能够打比赛的程序通俗的来说,就是能够打比赛的程序 2.2 2.2 仿真平台与策略程序的通讯方式仿真平台与策略程序的通讯方式策略程序接受数据策略程序接受数据策略程序发送数据策略程序发送数据MLSMLS平台平台MLSMLS策略程策略程序序策略程序将接受的策略程序将接受的数据进行处理数据进行处理 2.3 2.3 场地信息介绍场地信息介绍( (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) )( (单单位位: :英英寸寸) )说明:说明:说明:说明:1 1 1 1英寸英寸英寸英寸= 2.54= 2.54= 2.54= 2.54厘米厘米厘米厘米 2.4 2.4 场地的各种标志及尺寸场地的各种标志及尺寸( (单单位位: :厘厘米米) ) 前前约约4.3184.318球球机器人机器人约约7.97567.9756(0.0 (0.0 ,0.0),0.0)X XY Y转角方向转角方向 0° 0°2.5 2.5 球与车的长度尺寸球与车的长度尺寸( (单单位位: :厘厘米米) ) 2.62.6策略程序每个周期策略程序每个周期接受接受的数据的数据仿真平台传递给策略程序的数据仿真平台传递给策略程序的数据: :l己方、对方机器人坐标、角度(当前周期,上一己方、对方机器人坐标、角度(当前周期,上一周期)。

      周期)l球的坐标(当前周期,上一周期)球的坐标(当前周期,上一周期)l场地数据场地数据l控球方 2.7 2.7 策略程序每个周期策略程序每个周期发送发送的数据的数据策略程序发送给仿真平台的数据策略程序发送给仿真平台的数据: :l己方(己方(home[i]home[i])每个机器人的左轮速)每个机器人的左轮速((vl vl)和右轮速()和右轮速(vrvr)注注:: 当前发送的数据要到下一周期才能执行当前发送的数据要到下一周期才能执行 4. 4. 动作函数及演示动作函数及演示 4.1 Velocity4.1 Velocity动作函数动作函数 该动作可以给机器人自由的发轮速(在该程序该动作可以给机器人自由的发轮速(在该程序中可以简单的认为轮速就是机器人的推进力)中可以简单的认为轮速就是机器人的推进力) 小车发轮树被限制为小车发轮树被限制为 – 125 125 ~~ 125125 之间 // //形参形参robot robot 指定小车号指定小车号 // //形参形参vl vl 左轮速左轮速 vr vr 右轮速右轮速void Velocity ( Robot *robot, int vl, int vr );void Velocity ( Robot *robot, int vl, int vr ); 4.1.14.1.1机器人的运动控制机器人的运动控制左轮速左轮速vl vl右轮速右轮速vrvr注注:: vl > vr vl > vr 机器人顺时针旋转机器人顺时针旋转 vl < vr vl < vr 机器人逆时针旋转机器人逆时针旋转当轮速为负时,当轮速为负时,机器人反向运动机器人反向运动 4.1.2 Velocity4.1.2 Velocity例子例子// // 一般动作一般动作void NormalVelocity(Environment* env)void NormalVelocity(Environment* env){ { // //让让2 2号机器人两个轮子都以号机器人两个轮子都以1010的轮速前进的轮速前进Velocity(&env->home[2], 20, 20);Velocity(&env->home[2], 20, 20); // //让让1 1号机器人左轮子都以号机器人左轮子都以-20-20的轮速后退的轮速后退Velocity(&env-> home[1], -20, -20);Velocity(&env-> home[1], -20, -20); // //给给3 3号机器人左轮发号机器人左轮发100, 100, 右轮发右轮发2020Velocity(&env-> home[3], 100, 20);Velocity(&env-> home[3], 100, 20);} } 4.2 Angle4.2 Angle动作函数动作函数 该动作可以让机器人转到指定的任意角度。

      该动作可以让机器人转到指定的任意角度 并做直线运动并做直线运动 // //形参形参robot robot 指定小车号指定小车号 // //形参形参desired_angledesired_angle为转角度数为转角度数void Angle ( Robot *robot, int desired_angle); ; 4.2.1 4.2.1 机器人的转角控制机器人的转角控制30度左轮速左轮速vl vl右轮速右轮速vrvr- 180度度+180度度-60度左轮速左轮速vl vl右轮速右轮速vrvr当角度为负时,当角度为负时,机器人反向运动机器人反向运动 4.2.2 Angle4.2.2 Angle例子例子void NormalAngle( Environment* env)void NormalAngle( Environment* env){ {// //让让1 1号机器人转到号机器人转到3030度角度角Angle(&env->home[1], 30);Angle(&env->home[1], 30); // //让让3 3号机器人转到号机器人转到-60-60度角度角Angle(&env->home[3], -60);Angle(&env->home[3], -60);} } 4.3 Position4.3 Position动作函数动作函数 该动作可以让机器人跑到场地上指定的任何地点。

      该动作可以让机器人跑到场地上指定的任何地点 // //形参形参robot robot 指定小车号指定小车号 // //形参形参 x x 目标位置目标位置X X坐标坐标 y y 目标位置目标位置Y Y坐标坐标void Position( Robot *robot, double x, double y );void Position( Robot *robot, double x, double y ); 4.3.1 4.3.1 机器人的指定点运动机器人的指定点运动??度度左轮速左轮速vl vl右轮速右轮速vrvr球位置球位置2 2球位置球位置1 1Position Position Position Position 函数函数函数函数 根据目标位置可进行转角的控制根据目标位置可进行转角的控制 4.3.2 Position4.3.2 Position例子例子void NormalPosition( Environment* env )void NormalPosition( Environment* env ){ {// //让让2 2号机器人追着球跑号机器人追着球跑Position( &env->home[2], Position( &env->home[2], 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->fieldBounds.top ) / 2;Position(&env->home[2], x, y);Position(&env->home[2], x, y);} } 4.4 4.4 三个动作函数组合使用的例子三个动作函数组合使用的例子void Normal( Environment* env )void Normal( Environment* env ){ {Position(&env->home[0], Position(&env->home[0], env->goalBounds.left + 10, env->goalBounds.left + 10, env->currentBall.pos.y); env->currentBall.pos.y); // //让让0 0号机器人在球门附近跟着球的号机器人在球门附近跟着球的y y坐标跑坐标跑Velocity(&env->home[1], 10 , 70 ); Velocity(&env->home[1], 10 , 70 ); // //让让1 1号机器人逆时针转圈号机器人逆时针转圈Position(&env->home[2], Position(&env->home[2], env->currentBall.pos.x, env->currentBall.pos.x, env->currentBall.pos.y ); env->currentBall.pos.y ); // //让让2 2号机器人追着球跑号机器人追着球跑Angle(&env->home[3], -60);Angle(&env->home[3], -60); // //让让3 3号机器人追着球跑号机器人追着球跑Velocity(&env->home[4], 5 , 5 ); Velocity(&env->home[4], 5 , 5 ); // //让让1 1号机器人逆时针转圈号机器人逆时针转圈} } 4.5 4.5 注意事项注意事项l轮速度限制为速度限制为 -125-125 ~~ 125125l平台原始接口中提供了比赛状态(平台原始接口中提供了比赛状态(GameStateGameState))以及控球方(以及控球方(WhosBallWhosBall)两个参数)两个参数, ,但经过实际开但经过实际开发时发现他们毫无任何用处发时发现他们毫无任何用处, ,故需要自己判断故需要自己判断l场地度量单位为英寸,场地度量单位为英寸,1 1英寸英寸 = 2.54= 2.54厘米厘米l机器人角度的单位为角度(机器人角度的单位为角度(不是弧度不是弧度))l如果场地不同,队伍需要转换左右半场坐标如果场地不同,队伍需要转换左右半场坐标 5. 5. 策略程序的结构策略程序的结构 5.1 5.1 策略文件组成策略文件组成 5.2 5.2 策略类视图策略类视图 5.3 InterFace.h5.3 InterFace.h接口文件接口文件 这个文件有与仿真平台通讯的一个结构这个文件有与仿真平台通讯的一个结构EnvironmentEnvironment和三个函数的声明和三个函数的声明// //比赛开始时系统调用一次比赛开始时系统调用一次extern "C" STRATEGY_API void Create ( Environment *env ); extern "C" STRATEGY_API void Create ( Environment *env ); // //比赛过程中由系统循环调用(比赛过程中由系统循环调用(策略都放在里面策略都放在里面)。

      extern "C" STRATEGY_API void extern "C" STRATEGY_API void StrategyStrategy ( Environment *env ); ( Environment *env );// //比赛结束时系统调用一次比赛结束时系统调用一次extern "C" STRATEGY_API void Destroy ( Environment *env );extern "C" STRATEGY_API void Destroy ( Environment *env ); 5.3.1 5.3.1 StrategyStrategy 接口函数解析接口函数解析 函数接口函数接口 StrategyStrategy是程序的主要执行逻辑,由系统是程序的主要执行逻辑,由系统反复调用,每次调用时系统通过反复调用,每次调用时系统通过Environment* envEnvironment* env这这个指针向我们传递当前周期系统提供信息,在这里,个指针向我们传递当前周期系统提供信息,在这里,我们必须处理针对赛场上每一时刻的对策,通过策略我们必须处理针对赛场上每一时刻的对策,通过策略运算设置己方小车的左右轮转速,来控制机器人进行运算设置己方小车的左右轮转速,来控制机器人进行足球比赛。

      足球比赛 每秒调用次数依靠机器能力来定,默认为每秒调用次数依靠机器能力来定,默认为6060次,次,即仿真的一个周期为即仿真的一个周期为1/601/60秒 extern "C" STRATEGY_API void Strategy ( Environment *env );extern "C" STRATEGY_API void Strategy ( Environment *env ); 5.3.2 5.3.2 InterFaceInterFace.h.h// //主要的定义主要的定义, ,包含所有运行时的的信息包含所有运行时的的信息, ,由系统刷新由系统刷新typedef structtypedef struct{ {Robot home[PLAYERS_PER_SIDE];Robot home[PLAYERS_PER_SIDE]; // //我方机器人数组我方机器人数组OpponentRobot opp [PLAYERS_PER_SIDE]; OpponentRobot opp [PLAYERS_PER_SIDE]; // //敌方机器人数组敌方机器人数组Ball currentBall,Ball currentBall,// //当前小球的位置当前小球的位置 lastBall, lastBall,// //上一次小球的位置上一次小球的位置 predictedBall; predictedBall;// //预计的小球的位置预计的小球的位置Bounds fieldBounds,Bounds fieldBounds,// //场地范围场地范围 goalBounds; goalBounds;// //球门的位置与范围球门的位置与范围long gameState;long gameState;// //当前游戏的状态当前游戏的状态long whosBall;long whosBall;// //由谁控制球由谁控制球void *userData;void *userData;// //用户自定义信息用户自定义信息} } EnvironmentEnvironment; ; 5.3.3 5.3.3 InterFaceInterFace.h.h// //位置向量定义位置向量定义typedef struct{double x, y, z; // x // x 和和 y y 为坐标值为坐标值} Vector3D; 5.3.4 5.3.4 InterFaceInterFace.h.h// //己方机器人的信息定义己方机器人的信息定义typedef structtypedef struct{ {Vector3D pos;Vector3D pos;// //机器人坐标机器人坐标double rotation;double rotation;// //机器人方向角机器人方向角double velocityLeft,double velocityLeft, velocityRight; velocityRight;// //机器人左右轮速度机器人左右轮速度} Robot;} Robot; 5.3.5 5.3.5 InterFaceInterFace.h.h// //敌方机器人的信息的定义敌方机器人的信息的定义typedef struct{Vector3D pos;// //机器人的坐标位置机器人的坐标位置double rotation;// //机器人当前的转角机器人当前的转角} OpponentRobot; 5.3.6 5.3.6 InterFaceInterFace.h.h// //小球的位置定义小球的位置定义typedef struct{Vector3D pos;// //小球的坐标位置小球的坐标位置} Ball; 5.3.7 5.3.7 InterFaceInterFace.h.h// //场地区域范围场地区域范围typedef struct{long left, // //场地左边界场地左边界 right, // //场地右边界场地右边界 top, // //场地上边界场地上边界 bottom; // //场地下边界场地下边界} Bounds; 5.4 5.4 Strategy.h Strategy.h 简单策略函数简单策略函数// // 防守球门防守球门void Goalie1 ( Robot *robot, Environment *env );void Goalie1 ( Robot *robot, Environment *env );// // 控制小车在球场边线的控制控制小车在球场边线的控制void NearBound2 ( Robot *robot, double vl, double vr, Environment *env );void NearBound2 ( Robot *robot, double vl, double vr, Environment *env );// // 抢球抢球void Attack2 ( Robot *robot, Environment *env );void Attack2 ( Robot *robot, Environment *env );// // 防守防守void Defend ( Robot *robot, Environment *env, double low, double high );void Defend ( Robot *robot, Environment *env, double low, double high ); Strategy.h Strategy.h 简单策略函数简单策略函数// // 机器人向小球的位置移动的方法机器人向小球的位置移动的方法void MoonAttack (Robot *robot, Environment *env );void MoonAttack (Robot *robot, Environment *env );// // 对敌方的跟踪对敌方的跟踪void MoonFollowOpponent ( Robot *robot, OpponentRobot void MoonFollowOpponent ( Robot *robot, OpponentRobot *opponent );*opponent );// // 预估小球的位置预估小球的位置void PredictBall ( Environment *env );void PredictBall ( Environment *env ); 5.5 Action.h 5.5 Action.h 基本动作函数基本动作函数// //设置小车轮子速度设置小车轮子速度void Velocity ( Robot *robot, int vl, int vr );void Velocity ( Robot *robot, int vl, int vr );// // 小车转角控制小车转角控制void Angle ( Robot *robot, int desired_angle);void Angle ( Robot *robot, int desired_angle);// //移动小车到指定位置移动小车到指定位置void Position( Robot *robot, double x, double y );void Position( Robot *robot, double x, double y ); 6. 6. 策略系统设计策略系统设计 6.1 6.1 策略系统的分层结构策略系统的分层结构策略库策略库平台接口数据平台接口数据预处理层预处理层角色层角色层角色动作层角色动作层组合动作库组合动作库 6.1.1 6.1.1 预处理层设计预处理层设计l 输入信息预处理,包括对接口参数进行输入信息预处理,包括对接口参数进行英寸到厘米及坐标方向的转换,计算个体英寸到厘米及坐标方向的转换,计算个体的线速度、角速度,个体间的距离、角度的线速度、角速度,个体间的距离、角度等。

      等 6.1.2 6.1.2 角色层设计角色层设计l 角色层是决策的最高层,它接受经预处理过角色层是决策的最高层,它接受经预处理过的比赛数据,包括所有机器人和球的位置根据的比赛数据,包括所有机器人和球的位置根据这些数据判断场上的形势,从策略库中抽取合适这些数据判断场上的形势,从策略库中抽取合适的协作模式,定出合作的意图.并将意图传人下的协作模式,定出合作的意图.并将意图传人下一层l 角色层的关键有两点角色层的关键有两点: :判断判断场上形势场上形势和和角色的角色的分配分配在对形式分析得时候需要加入规则得判断在对形式分析得时候需要加入规则得判断策略库策略库角色层角色层 6.1.2.1 6.1.2.1 角色层角色层- -区域划分区域划分l一般将球场分成三个区域:一般将球场分成三个区域:进攻区进攻区、、防守防守区区和和过渡区过渡区l进攻区在对方球门区附近进攻区在对方球门区附近l防守区在已方球门区附近防守区在已方球门区附近l过渡区在前两者之间过渡区在前两者之间 6.1.2.2 6.1.2.2 角色层-判断控制球角色层-判断控制球l 判断那个机器人控制球的方法:判断那个机器人控制球的方法: 最短距离法最短距离法:: 该方法实现简单,效果明显,当前周期中那该方法实现简单,效果明显,当前周期中那个机器人与球的距离最近就代表谁控球。

      个机器人与球的距离最近就代表谁控球 6.1.2.3 6.1.2.3 角色层角色层- -角色分配角色分配l例如:例如: 球在进攻区内且我方控制球,则离球近的队员为球在进攻区内且我方控制球,则离球近的队员为主攻、另一名队员为协攻主攻、另一名队员为协攻 球在防守区域内,则离球近的队员为主防、另一名球在防守区域内,则离球近的队员为主防、另一名队员为协防队员为协防 ( (就能随意的变换就能随意的变换1 1到到4 4号车,但守门员的角色通常不号车,但守门员的角色通常不变变) );;l角色分配首先取决于开发者设计的各种攻防策略角色分配首先取决于开发者设计的各种攻防策略( (存存放在策略库中放在策略库中) ):: 如:全攻全守如:全攻全守, , 区域防守区域防守 6.1.3 6.1.3 角色动作层设计角色动作层设计l 角色动作层是对已经角色动作层是对已经分配角色的分配角色的机器人进行一机器人进行一个连续动作的规划个连续动作的规划l 这里设计到机器人之间的配合动作在角色动作这里设计到机器人之间的配合动作在角色动作被分配以后,随着场上形式的转变需要对角色动被分配以后,随着场上形式的转变需要对角色动作进行切换操作。

      作进行切换操作角色动作层角色动作层组合动作库组合动作库 6.1.3.1 6.1.3.1 组合动作库组合动作库l 组合动作库是建立在机器人基本动作上组合动作库是建立在机器人基本动作上的l 将机器人的基本动作进行组合,组合成将机器人的基本动作进行组合,组合成一个角色的动作一个角色的动作 7. 7. 各种定位球各种定位球 7.1 7.1 各种定位球坐标确定方法各种定位球坐标确定方法l载入两个空策略载入两个空策略 点击点击Open ViewerOpen Viewer菜单l打开打开RSViwerRSViwer,选择,选择BallBall 各种定位球坐标确定方法各种定位球坐标确定方法l将球移动到待测试点将球移动到待测试点 后点击后点击StartStart进入比赛状态进入比赛状态l点击点击RSViwerRSViwer中的中的DisplayDisplay 可以看到球的坐标可以看到球的坐标 7.2 7.2 自由球自由球 7.2.1 7.2.1 球与机器人摆放原则球与机器人摆放原则1. 1.将场地分成四个区域,每个区域都有一个将场地分成四个区域,每个区域都有一个自由球罚球点,在哪个区域犯规,就在那自由球罚球点,在哪个区域犯规,就在那个区域罚自由球。

      个区域罚自由球2.2.球应该摆放在罚球点上球应该摆放在罚球点上3.3.每对有一个机器人放在离球每对有一个机器人放在离球2525厘米的发球厘米的发球线上4.4.其他机器人应该放在这个犯规区域以外其他机器人应该放在这个犯规区域以外5.5.防守方机器人应在靠近自己底线的一边防守方机器人应在靠近自己底线的一边6.6.防守方先摆机器人防守方先摆机器人 7.2.2 7.2.2 自由球的判断自由球的判断1. 1.判断球场上所有机器人和球的速度非常小判断球场上所有机器人和球的速度非常小2.2.判断球的位置是否在发球点上判断球的位置是否在发球点上3.3.判断我方和对方是否有且仅有一个机器人在判断我方和对方是否有且仅有一个机器人在球的附近(相距球的附近(相距2525厘米左右)厘米左右)结合以上三个条件起来就可以判断是否在罚自结合以上三个条件起来就可以判断是否在罚自由球 7.3 7.3 点球点球 7.3.1 7.3.1 球与机器人摆放原则球与机器人摆放原则1. 1.踢球机器人必须放在球的后方踢球机器人必须放在球的后方2.2.防守的守门员必须压球门线防守的守门员必须压球门线3.3.除了踢球机器人和防守守门员外,其除了踢球机器人和防守守门员外,其他机器人都在另外半场。

      他机器人都在另外半场4.4.防守方先摆机器人防守方先摆机器人 7.3.2 7.3.2 自由球的判断自由球的判断1. 1.判断球场上所有机器人和球的速度非常小判断球场上所有机器人和球的速度非常小2.2.判断球的位置是否在发球点上判断球的位置是否在发球点上3.3.判断我方和对方是否有且仅有一个机器人在判断我方和对方是否有且仅有一个机器人在发球的那个半场发球的那个半场结合以上三个条件起来就可以判断是否在罚自结合以上三个条件起来就可以判断是否在罚自由球 7.4 7.4 球门球球门球 7.4.1 7.4.1 球与机器人摆放原则球与机器人摆放原则1. 1.发球方只允许有一个守门员在大禁区发球方只允许有一个守门员在大禁区内2.2.球应该放在大禁区内球应该放在大禁区内3.3.防守方机器人必须在自己半场防守方机器人必须在自己半场4.4.防守方先摆机器人防守方先摆机器人 7.4.2 7.4.2 球门球的判断球门球的判断1. 1.判断球场上所有机器人和球的速度非常小判断球场上所有机器人和球的速度非常小2.2.判断球的位置是否在大禁区内判断球的位置是否在大禁区内3.3.判断我方是否有且仅有一个机器人在大禁区内。

      判断我方是否有且仅有一个机器人在大禁区内4.4.判断所有对方球员都不在我方半场判断所有对方球员都不在我方半场结合以上四个条件起来就可以判断是否在罚自由球结合以上四个条件起来就可以判断是否在罚自由球 8. 8. 比赛规则比赛规则 8.1 8.1 比赛时间比赛时间l每次暂停时间为每次暂停时间为3 3 分钟分钟, ,每场比赛最多叫每场比赛最多叫两次暂停两次暂停l如果一支球队在中场休息时没有准备好如果一支球队在中场休息时没有准备好不能开始下半场比赛,休息时间可以延不能开始下半场比赛,休息时间可以延长长5 5分钟若在延时后球队仍未准备好分钟若在延时后球队仍未准备好继续比赛,则将取消其比赛资格继续比赛,则将取消其比赛资格 8.2 8.2 比赛开始比赛开始比赛开始比赛开始l上、下半场开始时,总是蓝队先开球上、下半场开始时,总是蓝队先开球l上、下半场开球,以及进球后重新开球上、下半场开球,以及进球后重新开球时,球放置在场地中心处,开球方必须时,球放置在场地中心处,开球方必须先将球踢向自己半场先将球踢向自己半场l中场休息后,双方交换比赛场地中场休息后,双方交换比赛场地 8.3 8.3 得分方法得分方法l当球整体越过对方球门线并且没有犯规当球整体越过对方球门线并且没有犯规, ,那么算一次那么算一次有效进球。

      有效进球l淘汰赛在下半场结束之后出现平局的情况下,采用淘汰赛在下半场结束之后出现平局的情况下,采用加时赛突然死亡法决定胜负(金球)加时赛突然死亡法决定胜负(金球)l在点球决胜时,出现下列情况之一,罚点球结束:在点球决胜时,出现下列情况之一,罚点球结束:l1 1.. 守门员在门区内抓住了球;守门员在门区内抓住了球;l2 2.. 开球后球滚出球门区;开球后球滚出球门区;l3 3.. 开球后开球后10 10 秒秒l如果一方因为被剥夺比赛权利,技术故障或者主动如果一方因为被剥夺比赛权利,技术故障或者主动弃权,则该方为比赛失利方,比分为弃权,则该方为比赛失利方,比分为0 0 比比2020 8.4 8.4 犯规犯规l如果裁判员认为被犯规方处于有利形势,如果裁判员认为被犯规方处于有利形势,可以不判罚犯规可以不判罚犯规l除了极端情况外,控球队员没有犯规行除了极端情况外,控球队员没有犯规行为可不判罚犯规为可不判罚犯规l是否处于是否处于““极端情况极端情况””由裁判员判断由裁判员判断 8.5 8.5 点球(点球(Penalty Kick Penalty Kick ))l防守方超过一个机器人在球门区内。

      防守方超过一个机器人在球门区内l守门员在十秒中之内没有把球踢出球门守门员在十秒中之内没有把球踢出球门区l防守方超过三个机器人在大禁区防守方超过三个机器人在大禁区 8.6 8.6 球门球(球门球(Goal Kick Goal Kick ))l当进攻机器人将防守方守门员推到球门里面当进攻机器人将防守方守门员推到球门里面l进攻时超过一个机器人进入对方的球门区进攻时超过一个机器人进入对方的球门区l当进攻方机器人在防守方球门区里面干扰防守当进攻方机器人在防守方球门区里面干扰防守方守门员方守门员l在球门区里面发生僵持情况超过十秒在球门区里面发生僵持情况超过十秒 8.78.7自由球(自由球(Free Ball Free Ball ))l在球门区外发生僵局十秒以上在球门区外发生僵局十秒以上 8.8 8.8 球和机器人的位置球和机器人的位置l仅当一个机器人有超过仅当一个机器人有超过50%50%的体积处于的体积处于某个区域时,才意味着该机器人进入此某个区域时,才意味着该机器人进入此区域l当球的整体越过球门线才算进球当球的整体越过球门线才算进球 8.9 8.9 说明说明l以上规则只是整个以上规则只是整个MLSMLS规则的一部分,规则的一部分,比赛的时候请完全参照比赛的时候请完全参照firafira关于关于MLSMLS的的官方规则文档。

      官方规则文档l进入仿真平台,点击右下角的进入仿真平台,点击右下角的“HELP”“HELP”按钮,即可弹出按钮,即可弹出MLSMLS平台的完平台的完全说明文档和全说明文档和MLSMLS规则文档规则文档 结束语结束语 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.