5v5技术报告(最终修改)内容摘要:
第二章 微软轮式仿真比赛( 5VS5)介绍及决策 微软轮式仿真( 5vs5) 比赛场 图 比赛场地图 如图 所示: ( a)场地尺寸 赛场为黑色长方形场地,其尺寸是 220cm 180cm ,带有 5cm 高, 厚的白色围墙。 在场地的四角固定四个 7cm 7cm 的等腰三角形以避免球进入角落。 ( b)场地标记 中圈半径是 25cm。 作为门区的一部分的圆弧沿球门线长 25cm ,垂直于球门线 5cm。 主要直线 /圆弧(中线、门区边界线和中圈)均为白色, 3mm 宽。 争球时机器人的站位(圆)标记为灰色。 ( c)球门 球门宽 40cm,没有横梁和网。 ( d)门线与门区 微软轮式仿真足球机器人 5V5 组技术报告 门线是恰好位于 球门前长 40cm 的线段。 门区包括位于球门前尺寸为 50cm 15cm 的长方形区域。 ( e)罚球区 罚球区球门前尺寸为 80cm 35cm 的长方形区域,弧形区域平行于球门线长度为 25cm ,垂直于球门线高度为 5cm。 ( f)球 用桔黄色的高尔夫球作比赛用球,直径 ,重 46g。 ( g)机器人 机器人为 的小车机器人。 ( h)服务器客户端比赛模式 服务器端设有:比赛时间、记分牌、 2D比赛显示、裁判界面、调试界面。 客户端设有:比赛时间、记分牌、 2D 比赛显示、网络连接状 态、决策加载入口。 比赛规则介绍 比赛秩序 ( 1)准备 在服务器连接到客户端后,各队将比赛策略加载到客户端电脑并运行,在确定准备好,客户端可以向服务器发出 “ Ready” 信号。 ( 2)开始 服务器在接收到客户端双方的 “ Ready” 信息之后,由裁判按下服务器菜单的 “ Start” 比赛开始,按下 “ Stop” 比赛暂停或终止。 比赛分两个半场,每半场 5 分钟,中场休息 5 分钟 (如双方同意,可继续比赛 )。 在需暂停或其它必要情况下,裁判员暂停计时。 微软轮式仿真足球机器人 5V5 组技术报告 计分方法 ( 1)获胜者 当整个球越过门线 时即破门得分,此时该球队计分牌就自动加 1。 根据记分牌数据大小决定获胜队。 如果有争议球可以按下 “ Replay” 回放比赛。 ( 2)平局处理 下半场比赛结束后,若双方打成平局,则通过突然死亡法决定获胜者。 休息5分钟后,进入加时赛,加时最大周期为 3分钟,其间先得分的 球队为获胜者。 如果追加 3分钟后仍是平局,则通过点球决定获胜者。 每个球队可射 3次点球。 在这时只有一个踢球员和一个守门员上场比赛。 守门员在自己的球门区内,踢球员和球的位置同规则 5。 裁判吹哨后,允许守门员走出球门区。 如果 3次点球后仍是打成平局,则一次一次地增 加点球次数,直到决定获胜者为止。 所有点球均由一个机器人踢。 罚球 ( 1) 以下情况发点球 (包括守门员 ),一个机器人多于 50%在门区内就认为该机器人在门区内。 4 个 (包括守门员 ),对防守方罚点球。 10 秒钟内将球踢出门区。 如图 所示: 图 发点球 微软轮式仿真足球机器人 5V5 组技术报告 ( 2)以下情况发门球 ,一方球员直接或间接阻挡、冲撞对方守门员(不论之间是否有球),防守球队将发门球。 器人多于一个,或禁区内参与进攻的机器人多于四个,防守球队将发门球,禁区包含门区。 一个机器人多于 50%在门区内就认为该机器人在门区内。 如图 所示: 图 发门球 ( 3)以下情况争球 10 秒钟,裁判将判争球。 ,将在球离开场地时的球所在的 1/4 半场进行争球。 如图 所示: 图 争球 微软轮式仿真足球机器人 5V5 组技术报告 决策 DLL 的生成 DLL: 它是 Dynamic Link Library 的缩写形式,动态链接库 (DLL) 是作为共享函数库的可执行文件。 微软轮式仿真平台是以加载动 态链接库 DLL 的方式来调用参赛队的比赛决策的,参赛队是通过对 DLL 代码的编写来完成对本对机器人的决策与控制的。 一般利用 Microsoft Visual Studio 2020 来作为生成决策 DLL 的工具。 其接口函数如图 所示 图 接口函数示例 StrategyInit(Environment *Env) 初始化函数,每次比赛平台只调用此函数一次,用以分配内存空间等操作 StrategyStep(Environment *Env) 正常模式入口函数,在比赛过程中仿真平每周期( 30毫秒)调用此函数 一次,执行其中的代码。 微软轮式仿真足球机器人 5V5 组技术报告 StratefyDrop(Environment *Env) 释放函数,一般用以释放在初始化函数中分配的内存空间,仿真平台只在比赛结束或中止时调用此函数一次。 Author(char *team) 队名设置函数,平台将把字符串中的内容显示在软件界面上。 SetForm(Environment *Env) 阵型设置函数。 StrategyStepDebug(Environment *Env, DataDebug *Data) 调试模式入口函数,与正常模式一样,在比赛过程中仿真平台每周期 ( 30 毫秒)调用函数一次,并执行其中的代码。 接口函数定义举例 extern C STRATEGY_API void Author(char* team) { //Please give you strategy a nice name //. strcpy(team,“...” )。 //双引号内填入球队名 AllocConsole()。 freopen(CONOUT$,w+t,stdout)。 freopen(CONIN$,r+t,stdin)。 //控制台输出 }。 extern C STRATEGY_API void StrategyStep(Environment *Env) { Envhome0_velocityLeft = 0。 Envhome0_velocityRight = 0。 Envhome1_velocityLeft = 60。 Envhome1_velocityRight = 60。 微软轮式仿真足球机器人 5V5 组技术报告 Envhome2_velocityLeft = 60。 Envhome2_velocityRight = 60。 Envhome3_velocityLeft = 60。 Envhome3_velocityRight = 60。 Envhome4_velocityLeft = 60。 Envhome4_velocityRight = 60。 } 决策的编写 —— DecisionMakingx 类 在机器人比赛中我们是需要利用场上各种敌我双方的信息,以及各种场地及比赛状态信息来对多个机器人的行为进行决策与控制的。 显然这将会是一个复杂的过程,针对于此我们利用 DecisionMakingx 类来封装所有与决策相关的算法,是仿真比赛的核心,是决策代码编写的载体。 一个基本的 DecisionMakingx 类如图 所示。 在接口函数 StrategyInit 通过如下代码完成 DecisionMakingx 类的 初始化, 在接口函数 StrategyStep 通过如下代码完 成 DecisionMakingx 类的调用。 DecisionMakingx +m_posBall: VecPosition +Robot[2*ROBOTNUMBER+1]: RobotInford +oldRobot[2*ROBOTNUMBER+1]: RobotInford +dmDEG: DEGame +rbV[ROBOTNUMBER]: dbLRWheelVelocity +CDecisionMakingx()。 +~CDecisionMakingx(): virtual +Startx(RobotInford dmRobot[]): void 微软轮式仿真足球机器人 5V5 组技术报告 + InitDEG(DEGame DEG): void + PreProcess(): void + MiroSot_DecisionMaking(): void + PostPrecess(): void 图 DecisionMakingx 类 DecisionMakingx 类成员变量的数据传送 成员变量 m_posBall, Robot[2*ROBOTNUMBER+1], oldRobot[2*ROBOTNUMBER+1],dmDEG 的值均由结构体 Environment 传入; rbV[ROBOTNUMBER]的值传出至结构体Environment。 从而通过动态链接库的调用完成比赛数据在仿真平台与决策 dll之间的传递。 基本的类成员函数与类成员的添加 ( 1)基本的类成员函数: Startx(RobotInford dmRobot[]):决策的外部调用接口函数 InitDEG(DEGame DEG):比赛状态的决策端初始化函数。 传递比赛开球模式 ,及何方开球等信息。 PreProcess():预处理函数。 对自增成员变量等进行初始化等操作。 MiroSot_DecisionMaking():决策算法主调函数。 进行比赛决策的入口。 PostPrecess():后处理函数。 完成对本周期一些信息的保存。 ( 2)类成员的添加: 我们可以根据自身需要加入相应成员变量与成员函数,以更好的实现对多个机器人的整体控制,如阵型设定,任务分配与角色转换等,还可以完善对单个机器人的动作控制,增强单兵作战的能力。 微软轮式仿真足球机器人 5V5 组技术报告 整体决策的实现 基于球的位置分区的决策 为了使大家对使用 DecisionMakingx 类进行决策的编写有更进一步的了解,在这里我们为大家提供了两种实 现整体决策的思路:基于球在场地内的位置分区的决策与基于任务分配的决策: ( 1)首先确定当前球。5v5技术报告(最终修改)
相关推荐
排风口是否正常 C、 启动是否正常 ( 8) 消毒柜检查(只针对百尊品牌) A、是否超期使用 ( 参考国家规定,做好使用年限记录 ) B、启动是否正常 ( 9) 通风检查 A、 检查客户用气及燃气设施房间的通风情况 B、 用气房间是否有排风设施 ,是否在用气时启动(居民不强制要求)。 C、 非用气时间及有燃气设施房间是否长期保持空气流通。 入户安检的详细步骤及项目 ( 1) 分散挂表 (户内表、
0%,您将如何面对呢 ?若发生事故 ,也许会让我们丧失工作能力 ,加上医疗费用 ,不都可能让我们的收入减少吗 ?所以现在您说负 担不起 ,表示您更应及早做好风险规划。 如果每日减 10%收入 ,您只需要重新调整生活水准 ,但当完全没收入时 ,您的家庭又该如何生活 ? 我的钱都买股票了 王先生 ,您说的股票投资能赚钱、利润大 ,但是高回报的同时也有高风险
→ 安装侧向支撑或对拉螺栓 → 检查梁口 ,符合模板尺寸 → 与相邻模板连接。 楼板模板安装工艺 搭设支架 → 安装纵横木楞 → 调整楼板的下皮标高 → 铺设模板 → 检查模板的上皮标高、平整度等。 a 在柱子混凝土上弹出梁的轴线及水平线 ,并复核。 b 楼地面上的支架立杆宜加可调支座 ,楼层间的上下支座应在同一平面位置。 梁的支架立杆一般采用双排 ,间距 600900mm为宜。
导纲要》,坚持把社会主义核心价值体系融入教育全过程,不断开展“民族精神教育”和“生命教育”的实践研究活动,切实加强和改进对未成年人思想道德建设和行为习惯养成教育。 创造性地开展适合青少年成长的各项活动,建立学生管理责任制、目标奖励机制,形成团结进取、勤奋好学、求真务实的学习风气,促进学生健康全面发展。 6 (二) 优化学校德育管理网络,健全德育领导小组,围绕学校中心工作,开展有效的德育研究
图片等。 有权享受俱乐部针对会员提供的其它服务。 十、会员的义务 遵守俱乐部章程,关心俱乐部的活动 与发展动态,与俱乐部保持经常联系,协助 成都 •520 钓鱼俱乐部 四川 成都 3 做好活动宣传,拓展会员、事 务联系等力所能及的事。 维护俱乐部声誉,积极参与俱乐部活动,不做有损俱乐部利益的事。 遵守俱乐部的户外钓鱼运动安全纪律。 注重环保,爱护生态环境,保护野生动物。
开,这样才能保证资源浏览的正常性。 下图是在打开接收软件的情况下,运行资源浏览器的界面: 其中 资源浏览器也可在局域网内其它计算机上安装(其他计算机只须安装浏览器即可),该程序会在本机或者局域网内自动搜索远教资源。 若使用资源浏览器浏览资源,不能改变资源目录,以免不能正常浏览。 并且不能开启防火墙等禁用断口的设置软件,若想开启防火墙的话,将远教接收软件中“接收设置”下的“远教浏览器 WWW