版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、郑州大学微软nao平台技术报告微软足球机器人nao平台仿真 技术报告郑州大学智能机器人实验室二一一年五月2010年全国机器人大赛队长:王一冬 禹舟健队员名单:张玉行取得成绩: 2010中国机器人大赛暨robocup公开赛 微软(ms)nao类人仿真比赛 二等奖参赛队员合影:目录第一章 绪 论41.1.1 fira简介41.1.2 robocup 简介41.2 足球机器人简介.41.2.1 足球机器人涉及领域51.2.2 足球机器人系统分类51.3 研究机器人足球的目的与意义.51.3.1 机器人足球比赛的目的与意义51.3.2 进攻策略研究目的与意义61.4 国内外的研究状况.6第二章 微软n
2、ao类人仿真平台总述82.1 微软nao类人仿真平台简介.82.2 平台的构建 .9 2.2.1安装软件.9 2.2.2仿真平台的路径结构及关键文件.10 2.3仿真比赛的实现.11 2.4仿真比赛运行原理.13 2.5仿真比赛规则.14第三章 微软nao仿真比赛决策设计153.1 nao offence的策略.15 3.1.1第一步找球 .15 3.1.2第二步靠近球.15 3.1.3 我们的建议.153.2 nao goalkeeper 策略.16 3.2.1 goalkeeper 的作用和策略.16 3.2.2 goalkeeper 控制策略.16第四章 微软3d类人仿真策略分析.174
3、.1决策系统的实现.174.1.1 机器人系统174.1.2 视觉子系统194.1.3 通信子系统194.1.4 决策子系统194.2足球机器人策略研究.194.2.1 六部推理模型204.2.2 三层递阶模型214.2.3 基于分区的策略模型.224.4路径规划与避障研究.234.4.1 栅格建模法234.4.2 人工势场法244.4.3 本课题中使用的路径规划与避障算法264.5 机器人动作设计及实现方法.284.5.1 机器人驱动原理284.5.2 动作编辑器314.5.3 机器人的动作描述324.6 机器人射门方法.344.6.1 基本射门方法344.6.2 改进的射门方法34第五章
4、nao实体技术参数明细35第一章 绪 论1.1 机器人足球比赛的起源与发展机器人足球比赛设想首先是由加拿大不列颠哥伦比亚大学的教授alan mackworth提出来的。alan mackworth教授认为机器人足球比赛可以为人工智能和智能机器人学科的发展提供一个具有标志性和挑战性的课题。并且指出经过五十年左右的研究,要使足球机器人能够战胜当时的人类足球冠军队。alan mackworth教授的思想迅速被很多学者接受,进而国际上成立了许多研究机构和组织。这些机构和组织定期地举办机器人足球比赛。目前,国际上有影响的举办足球机器人比赛的组织有两个国际机器人足球联盟(federation of int
5、ernational robot-soccer association,简称fira)和机器人世界杯委员会(robot world cup initiative,简称robocup。1.1.1 fira简介1996年11月微机器人世界杯机器人足球比赛在韩国大田举行,来自13个国家的30支队伍参加,在比赛期间详细讨论并制定了机器人足球比赛的规则。接着1997年6月在韩国大田举办了第二界世界杯机器人足球大赛mirosot97。mirosot97结束时,成立了国际机器人足球联盟(fira),通过了fira章程,将fira总部设在韩国大田的韩国科学技术院(kaist),并决定每年在fira组织下举办世
6、界杯机器人足球大赛。fira足球机器人比赛的种类由最开始的mirosot不断增加,目前己经包括半自主型机器人足球比赛(mirosot),全自主型机器人足球比赛(robosot),类人机器人足球比赛(hurosot), 仿真机器人足球比赛(simurosot)等多个类别。1.1.2 robocup 简介1993年,minoruasada(浅田捻)、hiroaki kitano(北野宏明)和yasuo kuniyoshi等著名学者创办了机器人足球世界杯赛(robocup)并成立了机器人足球国际组织机器人世界杯委员会。1997年,在国际最权威的人工智能系列学术大会第15届国际人工智能联合大会(the
7、 15th international joint conference on artifi -cial intelligence,简称ijcai-97)上,机器人足球被正式列为人工智能的一项挑战。至此,机器人足球成为人工智能和智能机器人学科的标准问题。现在robocup共包括四大项活动,分别是足球比赛、紧急救灾比赛、青少年组比赛和研讨会。足球比赛是整个比赛的主要部分,包括小型组、中型组、四腿组、类人组和仿真组,除了仿真组比赛是全部通过电脑模拟外,其余的比赛都是以实物机器人形式参赛。本课题的研究就是基于robocup组织的仿真组比赛进行的。1.2 足球机器人简介足球机器人系统是机器人研究的一个
8、分支,属于智能机器人系统。目前研究的方向为: (1)集中控制式足球机器人系统(vision-based remote brainlessmultirobot system),主机通过无线方式控制机器人,决策的命令也是通过主机发送给各个机器人,此时的机器人只是一个简单的执行体;(2)集中视觉型足球机器人系统(vision-based brain-on-boardmulti-robot system),主机通过处理摄像机获取的信息,并将这些信息发送给各个机器人,每个机器人根据这些信息,自己决定自己的行动; (3)基于机器人的多足球机器人系统(robot-based multi-robot syst
9、em),这种系统无需主机控制,每个机器人通过自身的传感器获取信息并做出判断。1.2.1 足球机器人涉及领域足球机器人是人工智能与机器人领域重要研究课题之一,它是一个极富挑战性的高技术密集型项目,融小车机械、机电一体化、单片机、数据融合、精密仪器、实时数字信号处理、图象处理与图象识别、知识工程与专家系统、决策、轨迹规划、自组织与自学习理论、多智能体协调,以及无线通讯等理论和技术于一体。它既是一个典型的智能机器人系统,又为研究发展多智能体系统、多机器人之问的合作与对抗提供了生动的研究模型。为了实现机器人足球赛的最终日标,即在2050年进行人、机大战中战胜人类足球队,还必须使机器人具备人的体态、体能
10、和体感,因此,除了上面提到的研究领域外,机器人足球赛还涉及到仿生学、材料、能源等诸多学科。1.2.2 足球机器人系统分类从足球机器人系统决策子系统的结构形式来分,足球机器人系统大致可以分成集中控制式和分布式系统,也有些系统是两者的组合,即集中控制和分布控制兼而有之。集中控制式足球机器人系统主要研究的是实时决策对策、智能决策与控制等内容。在集中控制式足球机器人系统中,虽然存在多个机器人,但它们并不属于多主体,而只是若干个执行机构而已。对集中控制式足球机器人系统贡献最大的组织是国际机器人足球联盟(fira)。分布式足球机器人系统是分布式人工智能(dai)良好的实验平台,分布式人工智能主要研究在逻辑
11、上或者物理上分散的智能系统如何并行地、相互协作地实现问题求解。robocup是分布式足球机器人系统的主要创始与倡导组织本文的研究就是以robocup 类人组kidsize仿真展开的。1.3 研究机器人足球的目的与意义1.3.1 机器人足球比赛的目的与意义机器人足球所涉及的学科相当广泛,研究足球机器人需要突破的难题也非常多,不仅要求在各个领域内取得全新的建树,还要求在不同学科之间进行相互交叉与集成。机器人足球是一个良好的实验平台,研究人员可以借此研究和应用各种先进技术,反过来又能够促进相关领域快速发展。这就是开展足球机器人研究的深远意义,也是足球机器人研究的魅力所在。1.3.2 进攻策略研究目的
12、与意义足球机器人是在决策系统的指挥下进行比赛的,因此,决策系统在整个足球机器人系统中处于非常重要的地位,其优劣直接关系到比赛的胜败。仿真机器人足球赛实质上就是决策系统的研究。决策系统又可分为进攻策略与防守策略两部分,然而只有进攻才能得分,才能取得比赛的胜利,所以进攻策略的研究,在机器人足球赛中,有着非常重要的作用与意义。足球机器人的智能性主要体现在决策系统中,其智能水平的高低主要取决于决策系统的先进性、合理性和实时性,而进攻策略的智能性是衡量决策系统的智能水平的重要指标。在仿真机器人足球赛中,由于其平台近于理想化,不像实物比赛易受周围环境的影响,并且它为官方统一提供,因而在仿真平台下对进攻策略
13、的研究具有更加重要的意义。对决策系统的深入研究有着重大的理论意义和实际应用价值。利用足球机器人这个优秀平台,进攻策略的开发者可以最大程度地把当前人工智能和智能控制领域的新方法和新理论应用于系统开发,借以检验所用方法的先进性。实际上,进攻策略的开发过程本身就是诸如任务的描述、分解、智能体间的交互及通讯,以及一致性与协调性等问题的求解,它们全都属于多智能体系统基本问题。足球机器入进攻策略的研究成果也具有巨大的应用价值。例如,在军事上,可以用于无人作战平台群的协作控制,让无人驾驶飞机编队或机器人部队自主完成进攻任务。其研究成果还可以运用到交通控制、软件开发、网络管理和信息处理、商业管理等众多领域当中
14、。1.4 国内外的研究状况机器人足球比赛是机器人作为队员,有明确比赛规则和比赛目标的极具观赏性的活动。它是体育与高科技结合的产物,集科学研究、教育和娱乐于一体,吸引了世界各国科技工作者和广大青少年的积极参与,己经引起社会各界的日益关注。其中的机器人足球仿真比赛避开实物的研制,突出思维与合作。仿真比赛是多机器人系统(multirobot system,简称mrs)和mas协调的最好的研究平台。研究的重点是球队的高级功能,包括动态不确定环境中的多智能体合作、实时推理规划决策、机器人学习和策略获取等人工智能研究的热点问题。仿真组足球比赛在一个标准的计算机环境内进行,一般采用linux系统足球联合会的
15、比赛规则(在本系统中采用的是微软3d类人仿真比赛平台)。比赛采用client和server方式,对球队开发仅要求使用的开发工具提供通过udpip连接的clientserver支持。soccer server用的标准足球服务器,它提供了虚拟场地,对比赛双方的全部队员和足球的以离散方式控制比赛进程,100ms为一个仿真周期。client相当于球员大脑指挥球员运动。与实物机器人相比,仿真球队的发展非常迅速。近几年,参加robocup队达到一百多支,基本上都实现了个人技术和多agent之间的合作技术,迅速发展的先进智能算法得到了充分利用,并取得了较好的效果。kostas ostiadis利用再励学习方
16、法实现了多机器人系统中的合作行为。endo kazuakietal运用遗传算法来优化系统参数。robocup仿真组研究重点是多个智能体(multiagent)的竞争与合作的关系。设计robocup仿真比赛程序面临的主要难点在于:(1)在连续空间作连续的决策;(2)多个智能体的存在给状态空间带来维数灾难;(3)环境的反馈延迟太大:(4)环境具有强实时性和动态性;(5)环境通讯带很窄;(6)环境有噪声;(7)环境具有部分可观性;(8)环境不具有马尔可夫性。前三点使得直接利用从环境中得到的信息和反馈进行决策几乎不可能实现。曾经有球队直接利用遗传算法(genetic algorinllll)训练球队,
17、效果并不好。巨大的状态空间和大延时的反馈特性使得robocup的研究者转向分层决策结构。peterstone在他的博士论文layered learning in multiagent system把分层学习方法运用于robocup的研究当中,使用分层学习技术来设计机器人的基本动作和顶层决策。他把决策分成底层技术层和顶层决策层,在不同层次采用不同方法决策,上层决策建立在下层决策基础之上。由于足球机器人研究在国内开展的较晚,在硬件部分和国外相比还存在还有较大的差距,但在相应研究的软件方面己经获得了长足的进步,部分领域己经达到了国际先进水平。目前国际上,在机器人足球实物比赛中,依然是开展历史较久的韩
18、国,美国等处于领先地位,并且其部分硬件设备己经实现了量产。fira系列以韩国水平最强,robocup主要以美国的bigred、robodragon,澳大利亚的roboroos,德国的fufighters等球队为代表。日本的sony公司在四足机器人的开发上处于领导地位。在国内,开展同类研究的有东北大学,哈尔滨工业大学,清华大学等,特别是东北大学,在国际比赛中取得了优异成绩。在软件仿真方面,国内虽然起步较晚,但已经在国际比赛中取得了比较优异的成绩。目前以清华的研究水平最高,200l2002年连续两年获得robocup仿真组世界冠军。但同时也应该看到,我国在开发技术水平较高的自主机器人,特别是人形机
19、器人的研究方面,水平还远远落后于国外,而这才是今后机器人足球比赛的发展方向。因此,国内机器人足球还需要大力向自主化、智能化方向发展。 第二章 微软nao仿真平台总述2.1 微软nao类人仿真平台简介比赛采用微软公司发布的microsoft robotic studio作为仿真平台,以法国aldebaran公司的nao机器人作为仿真模型。microsoft robotics studio是支持很多机器人硬件平台的 windows 机器人开发环境,microsoft robotics studio 软件开发包包含一个轻量级的,面向服务的运行时,一套可视化编辑和模拟工具,以及能够帮助你入门的开发指南
20、和示例代码。microsoft robotics studio 运行时同时支持.net 框架和精简.net 框架。运行时由 ccr 和dss 两个主要的组件构成,方便用户编译、监视、发布以及根据需要构建各种各样的应用程序。microsoft robotics studio 软件开发包允许开发者在大量不同的硬件平台上创建服务。非编程人员可以轻松的使用可视化编程环境来建立机器人应用程序可视化编程语言可以让任何人非常容易地创建和调试机器人应用程序。只要将一些代表不同服务的模块进行拖放,并把它们连接起来。你甚至可以把一些已经连接好的模块组合起来,并当作单一模块在程序的其它地方重新使用。可视化编程语言(
21、vpl)使创建机器人应用程序简单化在模拟物理条件的3d 虚拟环境里仿真运行机器人应用程序使用真正的3d 虚拟环境来模拟你的机器人应用程序。微软足球机器人 3d 仿真平台是基于 microsoft robotics studio sdk1.5 开发的,充分利用了开发平台提供的仿真引擎服务。msrs 拥有强大的仿真能力。microsoft robotics studio sdk 采用 ageia 公公的 ageia physx 作为物理引擎。physx 技术现已遍布 pc、ps3、xbox 360、wii等各大平台,广泛应用在科研和游戏领域。ageia physx 严格的实体动态模型具有很高的仿真
22、度,充分体现了坐标系统、位置、速度、加速度、动量、力、旋转运动、能量、摩擦、冲激力、碰撞、限制等物理理念。碰撞检测完全,碰撞处理准确,完全没有以前二维模拟平台中经常出现的机器人叠加、卡死等现象,保证了物理实体的物理仿真度。微软nao类人仿真平台的联机架构与微软3d类人仿真平台相似处很多。client/server 结构是是目前主流的软件系统体系结构之一,具有很强的安全性和可靠性, 并得到广泛应用。 其工作模式是通过客户端与服务器端之间相对独立,分工协作实现的。任何一个应用系统由三部分组成:显示逻辑部分(表示层 presantation)、 事务处理逻辑部分(功能层 business logic
23、)和数据处理逻辑部分(数据层 data service)。表示层的功能是实现与用户的交互,功能层的功能是进行数据的处理和任务的调度, 数据层的功能是实现对服务器发送的数据进行分析和处理等任务。客户端/服务器结构如图1.1所示。图2.1 客户端/服务器结构高保真微软3d 类人机器人仿真平台就是采用客户端/服务器结构,两个客户端在比赛中相互独立,互不干扰,保证比赛的公平性。此外, 仿真平台还支持单机模式, 将客户端和服务器集成运行在一个环境中。这样即使在 pc 等硬件资源不足的情况下,仿真平台也可实现正常调试和比赛,极大地降低了由硬件带来的局限性。因此,在 microsoft robotic st
24、udio(msrs)基础之上开发的微软 3d 类人比赛平台可以为仿人机器人竞赛和仿人机器人的学术研究提供一个可靠的、 人性化的仿真环境,促进仿人机器人的研究和机器人竞赛的发展。robocup 3d类人仿真比赛经历了linux平台到微软平台上运行,物理引擎由ode到采用ageia physx,每一步都使其更友善化和人性化,更具观赏性。随着仿真环境和仿真机器人不断逼近真实环境和人类,其更具观赏价值。现在的仿真机器人还是单目,相信随着科技的发展,双目将也能出现在仿真机器人身上,到那时仿真机器人可以直接定位球在球场上的位置,比赛也将更加有趣。2.2平台的构建2.2.1安装软件安装微软nao类人仿真平台
25、所需要的组件如下,从上到下分别是仿真平台、物理引擎、图像渲染软件和基本支持程序。如果安装了visual studio 2008,则 .net framework 3.5自动安装。由于visual studio 2008 功能强大、普及度高,且可用于使用c#语言编写决策。因此推荐直接安装visual studio 2008 而非单独安装dotnet framework 3.5。安装程序依次如下:1) 微软机器人仿真平台:01_microsoft robotics studio (1.5) refresh.exe2) 微软nao类人足球仿真比赛平台补丁: 02_soccer simulation
26、for microsoft robotics studio (1.5).exe 成功会弹出帮助文档。3) 微软nao类人仿真补丁:03_simulatednaoctp_msrs1.5.exe 安装成功后,安装目录/app下会有aldebaran目录。4)微软多媒体编程接口: 这些软件也可以登录负责编写及维护微软nao类人仿真平台的东北大学“牛牛”足球机器人实验室官方网站 进行下载。注意事项:1、在安装完以上软件后,为实现服务器与客户机分开。需要把文件复制放进目录:c:microsoft robotics studio (1.5)store 方可实现联机比赛的需求。2、验证安装 :修改 bin/
27、nao.bat,将manifest.xml文件的目录改成正确的app/aldebaran/config文件夹的路径(dsshost /p:50000 /t:50001 /m:.appsaldebaranconfignaosimulation.manifest.xml),运行无报错,可以看到仿真的机器人。文件bin naofootball4.bat和 binnaofootball8.bat 都需要类似地改过来,方可正常比赛仿真。2.2.2仿真平台的路径结构及关键文件 仿真平台安装完毕后在安装路径下可以看到microsoft robotics studio (1.5) 目录, 双击打开即可进入平台
28、根目录(图1.2)。 图2.2 平台根目录平台根目录下共有七个重要子文件及文件夹。它们的作用分别是:1)apps:仿真平台配置文件,含有动作列表和仿真平台决策程序源代码模板。2)bin:仿真平台内核,运行平台的可执行文件。3) documentation:平台相关文档(请仔细阅读)。4)external:外部辅助安装文件包。5)packages:平台帮助。6)samples:样例测试。 7) store:。辅助文件及资源文件。其中bin目录中naofootball8.bat的作用是在debug模式下打开仿真平台的客户端使得用户可以实时的调节自己的决策程序。相应的其中的nao.bat的作用是打开
29、仿真平台的服务端以便进行动作编写和机器人比赛。平台安装好后,再需要关注的地方就是程序修改及调试了。编程用的语言是c#,其实程序只是框架用到c#方面的知识,具体用到的不多,再就是c+必须会才能编写和改进程序。另外仿真机器人动作是用原语(原语是指由若干多个机器指令构成的完成某种特定功能的一段程序,具有不可分割性,即原语的执行必须是连续的,在执行过程中不允许被中断)控制的,动作在bin目录下一个c:microsoft robotics studio (1.5)appsaldebaranconfig文件中,它是用xml语言编写的。这个可以只在原来的基础上修改即可,主要工作是通过不断的尝试找出使机器人能
30、走稳并且走快的动作组合以及决策当中需要有的动作方案。在开始理解阶段,只要会c语言,接触过c+即可。由于现在我们只是仿真环境中模拟比赛,实验室还没有这方面的实体机器人,硬件涉及的相对少很多,不过基于我们实验室以后的发展,每一个成员都不能忽略硬件的重要性。2.3仿真比赛的实现微软nao类人仿真比赛平台由服务器和客户端两部分组成。正式的比赛由三台计算机完成,其中一台运行服务器,两台运行客户端。在硬件条件允许的情况下如果不进行正式比赛也可以在同一台计算机上运行服务器和客户端。服务器主要负责创建比赛环境,维护仿真环境的状态,保证比赛的时序和逻辑等,客户端主要负责调用参赛决策。图2.3服务器界面图2.4服
31、务器仿真环境界面 图2.5联机生成器界面 图2.6选择己方颜色界面如何进行比赛的步骤 :在一台计算机上运行服务器,另外两台电脑上分别运行两分客户端。(注意:第一次运行服务器时可能启动速度较慢,这是正常的)。将自己的config中文件和对方的该文件通过动作合成软件(movetool)加以合成,生成一个较大的xml文件,将名字改为aldebaran.simulatednao.xml 复制到服务器的config文件夹中,将原有文件替换掉。(注意:确保自己动作列表中,每一个动作名称具有己方的代表性,和对方动作区分开来,防止动作被覆盖掉。)各参赛队员再将己方 c:microsoft robotics s
32、tudio (1.5)bin 中的三个文件复制并替换到客户端计算机c:microsoft robotics studio (1.5)bin中。(注意:三个文件名要有己方的代表性,互相区分,防止互相覆盖。)参赛队员在客户机联机生成器中如图1.5设置,在所选一方球员任意角色上单机右键输入naosoccerplayertypes.cs 中identifier的http地址并设置refereemachine处 为服务器的ip,点击generate and start service即可连接服务器,在客户端select team处(图1.6)选择队伍。在两个客户端都加载成功之后,在服务器操作界面上就可以
33、单击start开始比赛。如果平时训练时服务器和客户端可以同时运行在一台计算机上,只需保留server ip为默认的localhost即可。另外,一定得把安装的目录区别开来,安装目录也不能有中文名称。连接成功后,会在客户端和服务器的control information流中同时提示连接成功,并且服务器的客户端按钮也会变为有效。2.4仿真比赛运行原理在参赛时只需有生成好的 .ddl和动作列表文件。仿真比赛用到三台机器,一台运行服务器,另两台运行客户端。把动作列表文件放到服务器中./bin/config目录下,在客户端上加载好决策后,更改服务器计算机平台生成器中各方identifier的http地址
34、,即可开始比赛。仿真平台提供近似实际的环境,但在比赛的过程中会产生很多噪声,例如重力,摩擦力,仿真机器人运动时的不稳定性等。仿真机器人的驱动是通过动作原语库来驱动的,通过一系列基本动作(抬手、抬脚、转头等)串联起来完成仿真机器人的运动,例如向前走,向后走,向左移,向右移,向左转,向右转,扑到等。如果仿真机器人走的过快,就会摔倒。总之,仿真比赛是在相对接近实际环境的情况下进行比赛的。在平常训练过程中,要注意自己电脑的配置是否合适。正常比赛所提供的计算机在比赛时,fps范围在:50-70 。 配置需要:1) windows 操作系统,已验证xp可用,vista 32/64 需要尝试2) .net
35、framework 3.0 以上 没有的话会联网安装3) directx 9.0c 没有的话会联网安装4) 台式机选择含physx的nvidia显卡能比同档次其他显卡提高性能,因为仿真支持physx加速。 2.5仿真比赛规则 2010微软(ms)nao类人仿真比赛规则 1、正常比赛阶段第一脚不能射门。 2、在所有比赛阶段,对于任意一名球员,在5秒之内倒下之后身体没有离开地面。处罚:置于初始位置并在25秒之内不能动。 3、对于无意识手球造成的进球和乌龙球均为有效;对于故意手球,处罚:判一个点球。 4、僵持状态由裁判主观确定,由双方确定,如有一方不同意,则该方在10秒内必须有触球动作,否则确定为僵
36、持状态。在僵持状态开始后1分钟之内双方没有触球,则裁判员执行kick off。 5、在淘汰赛阶段,如果三轮点球踢平,则开始互罚点球,直至一方领先一球为止。若比赛总时间达到毛时间40分钟,双方仍为平局,则通过抛硬币判断胜负。(注:开始三轮点球必须踢完)。 6、在普通比赛阶段一场比赛所包括的正常比赛和点球的最长时间为40分钟。在决赛阶段(即冠亚军、三四名比赛),最长时间为60分钟。 7、比赛排名原则:积分、净胜球数、进球数依次比较。 8、在比赛阶段、裁判不得放大、缩小、拖动、点击比赛主界面。 9、每个队的contract必须修改成与初始的不一样。 10、需要修改: (1)contract (2)队
37、名(dll名) (3)去黑框 (4)修改动作 (5)合并动作 第三章 微软nao仿真比赛决策设计3.1 nao offence的策略3.1.1第一步找球 findball的过程是在naosoccerplayercommand. findball下执行的。首先判断是否是守门员,若不是,则判断是否已向左、向右扫描,若是,就调用turnright180动作。否则,就会调用panhead函数。panhead是摆头函数,它是让nao通过左右摆头寻找球。3.1.2第二步靠近球approachball是个相对复杂的过程,程序开始时从game logic区域中的processframeanddetermine
38、behavior里执行相应操作。首先,调用图像处理函数_imgproc.processframehandler来帮助nao获取球场上的信息。接着,就出现了cameraballangle、ballheading、balldistance等几个变量(它们是通过相应的数学公式计算出来的),当nao看到球后,这几个变量会产生相应的数值并传到整个程序体。之后,程序就会调用_mainport.post这个端口,在naosoccerplayercommand.approachball下,程序首先会调用lookatball函数,它的目的是把nao的摄像头对准球,换句话说,就是让球出现在反馈图片的中央。接着程序
39、会提示是否是守门员,若是,则调用goaliesidestep函数(这部分请参看王一冬学长的文档)。若不是,则调用approachball函数, approachball函数根据ballheading的大小来调用turnleft20或者turnright20使nao对准球,当nao对准时,就执行forwards30。3.1.3 我们的建议我介绍的这些是初试代码的大致内容,大家如果想让nao变得更智能化,那么就必须修改以下几点:1:找球策略。一个优秀的nao找球一定是又快又准的。大家可以尝试着把球藏在球场的任意角落,(包括脚下的盲区)如果你的nao总能很轻松地找到球,那么findball的工作就合
40、格了。2:靠近球的策略,初试代码只是粗略的让nao向前走,大家可以根据balldistance的大小让nao走相应的步数,如果你能让nao每次都正好走到球面前,那么approachball也就合格了。3:踢球动作。当nao正好走到球面前时,就要考虑踢球了,我给大家的踢球动作是小脚踢,踢得很近,大家可以想办法把它变成大脚奔。嘿嘿,我做的踢球是可以踢一个场的哦!4:对准球门。这是最后一道工序,也是最难最麻烦的。我建议大家在入门时先不考虑这个操作。耽误之急是把前三步操作写的完善。如果想实现这个操作,那么就必须添加lookatgate(参照lookatball)、gateheading、foundbu
41、llgate、foundyellowgate等几个变量。找门的过程应该是发生在approachball之后,kickball之前,此时应该调用panhead来寻找球门,当找到门时,就调用lookatgate来使nao的摄像头对准球门,然后根据foundbullgate 或者foundyellowgate 和gateheading来调用相应的rotation动作(绕球转)来对准球门。3.2 nao goalkeeper 策略3.2.1 goalkeeper 的作用和策略目前,在各大学参赛队的防守方面,只有守门员 一人 负责,其他三人均为进攻队员。 守门员已具备的动作:正反面摔倒后站起; 根据人球
42、夹角判断方向平移;扑球并摆动手臂; 正面无死角扫描;设立“安全区” & 区域判断 等。最难解决的问题:如何确定守门员的位置 & 确保 在“安全区”外,守门员正面始终朝向对方球门。一种策略是:己方守门员只能在门前根据来球的方向做出向左或向右的平移动作,没有踢球、挡球的动作,正面始终是朝着对方的球门。3.2.2 goalkeeper 控制策略1、一种策略是:己方守门员只能在门前根据来球的方向做出向左或向右的平移动作,没有踢球、挡球的动作,正面始终是朝着对方的球门。优点:优点在于守门员不会轻易地被球骗出禁区,造成空门的现象。另外,由于没有扑球的动作,也不会造成摔倒后站起后确定不了自己球场位置的情况(
43、此时也有可能守门员正面朝着自己的球门,一直找不到球)。缺点:当一方具有很好的踢球动作或是找球很快的情况下,这一方很容易被对方破门。2、通过ballheading的角度值范围来判断向左或向右扑球。在守门员倒地进行拦截之后,并没有自己站起来的动作,而是通过规则中所要求的“倒地15秒后由裁判将nao置于原位5秒钟并且处于静止状态。”优点:当一方球员第一次将球踢到球门跟前的时候,由于这一方守门员这个身体横在球门前,所以将球挡在球门外的成功率非常大。缺点:当另一方队员,再次在球门前不断地踢球射门,就容易破门得分。所以,这个策略虽然有一定的偶然性,但是,由于大部分球队找球、踢球速度不快,使得这种策略也是一
44、种有效地防守方式。第四章 微软nao仿真策略分析4.1决策系统的实现足球机器人主要由机器人、视觉子系统、决策控制子系统、无线通信子系统组成,整个系统的控制闭环是:视觉子系统采集机器人的图像信息,通过图像处理后将场上的位置方向等信息传递到决策子系统;决策子系统将图像信息做预测处理后得到预测后的场上局势信息,根据预测的局势信息制定协调控制策略,确定每个机器人的角色分配及目标位置、速度、方向,有了战术安排以后对每个机器人行走的路径进行路径规划,找到到达目标位置和实现姿态控制的最佳路径,通过通信系统将动作信息传递给场上的机器人,最终达到控制机器人按指定的路径和速度运行的目的。图4.1 足球机器人子系统
45、4.1.1 机器人系统微软3d仿真机器人足球比赛中,类人的机器人模型如图4.2所示4.2 仿真平台机器人物理模型图4.3 比赛中的仿真机器人微软 nao仿真平台所采用的是一个有 20个自由度的机器人。 其中头部两个,躯干 18 个(手臂一边3个,腿部一边6个)自由度。每个自由度代表了某一关节一个运动轴。它们的名字分别为:headyaw headpitch lshoulderpitch lshoulderroll lelbowyaw lelbowroll lhipyawpitch lhiproll lhippitch lkneepitch lanklepitch lankleroll rhipy
46、awpitch rhiproll rhippitch rkneepitch ranklepitch rankleroll rshoulderpitch rshoulderroll relbowyaw relbowroll4.1.2 视觉子系统视觉子系统作为系统的检测机构,是整个足球机器人系统的“眼睛”,它的主要任务是实时采集足球场地的图像,实时处理并辨识这些图像,得到场上己方队员、对方队员以及球的位置等信息,并送给决策系统,为其分析提供依据。在微软nao仿真比赛中,采用局部视觉系统作为视觉子系统,即在每个机器人头部安装一个摄像机,采用机器人的分布式视觉获得全场信息。因为采取视觉作为感知手段,就
47、必须做到使视觉系统具有很好的环境适应能力,识别不同的色标及其组合是识别各个机器人的关键。在比赛的时候,机器人通过自己头部的摄像头来得到场地上的局部信息并将信息传送至决策子系统。其中包括图像采集、图像处理、模型分析等。4.1.3 通信子系统微软nao仿真比赛过程中采用的是客户服务器方式,在比赛过程中服务器与客户端的通信通过网络来实现。这正是仿真比赛的一大优势,即硬件要求相对于实物机器人比赛来说降低很多。该系统不需要无线通信装置,如信息发送器、信息接收器、通信端口等。4.1.4 决策子系统决策子系统根据视觉子系统所获得的场上己方队员以及比赛态势等信息,利用多智能体协作及对策理论,做出己方机器人的行
48、动决策,以控制各个机器人的行为,争取赢得比赛。决策子系统是足球机器人比赛的核心子系统,也是多智能体协作理论研究在足球机器人系统中的集中体现。根据视觉子系统得到的关于场上机器人和球的位置、状态、方向和对方球员的位置、状态,按照选定的决策机制,决定己方球队的攻守状态、球员的角色分配等,生成己方每个机器人动作命令,并通过通信子系统将控制信息传送至比赛场地,控制机器人进行相应的动作。4.2足球机器人策略研究在足球机器人系统中,决策系统的任务就是根据当前球场上的比赛形势,做出部署,给队员发出指令。担负起教练员的职责,显然这种思维过程必然是丰富多彩和千变万化的。作为人类,球员与教练员的思维通常包括形象思维
49、和逻辑思维两部分,在激烈的体育比赛中通常以形象思维为主人类对球场信息的处理通常是在模糊概念上,如:远、近、快、慢、有利、无利等等,用自然语言进行推理、决断。而决策子系统面对的是精确的数据和刻板的程序语言。如何将教练员的决策思维过程形式化、规范化,并用计算机程序语言表现出来,这属于知识工程的范畴。它是崭新的前沿领域。如果说决策子系统充当的是教练员的职责,那么对于机器入足球而言,教练员是个盲人,他不是用眼睛看到比赛场景,反映到大脑进行形象思维,而是根据队员在比赛场上的位姿和球位置的精确数据对比赛场上的形势进行分析,所以更多地是依据逻辑思维来完成推理过程。这样决策子系统在制定决策时就应该参照盲人教练
50、的思维过程进行,认真抽象推理链上的每一个环节,从而实现专家知识与决策过程的形式化。4.2.1 六部推理模型不同于真人的足球比赛,机器人足球比赛是建立在数据处理的基础上的,足球机器人决策予系统从视觉系统得到的信息是数表,而非人脑中形象的比赛信息。也就是说,人类对球场信息的处理通常用的是自然语言信息,而决策子系统面对的是精确的数据和刻板的程序语言,更多地依靠逻辑思维来完成推理过程。因此,可以将决策子系统的推理过程分为几个层次,在不同的层次实现相应的功能。参照盲人教练员的这个决策过程,东北大学的徐心和教授提出了六步推理模型:1输入信息预处理。在这一步中,决策子系统通过比较输入信息与上个周期以及上上个
51、周期的输入,可以计算出相关实体速度、相对距离以及实体之间的夹角等等,通过这些参数的确定,决策子系统有可能确定哪一方(哪一个球员)控球或者最可能控制球。2态势分析。这是决策子系统的关键所在,由于场上的信息瞬息万变,分析得到对方机器人的目的是个很复杂的问题。在这一步,为了缩短决策时间,我们可以利用一些简单的条件来进行决策,如根据球的位置和运动方向确定攻防态势。3队形确定与角色分配。通常,在mirosot3:3中,当己方处于进攻状态时,可以采用102队形,即1个守门员、0个防守、2个进攻;否则,当己方处于防守状态,采用120队形。目前,也有些队伍采用全攻全守的方式。在这一步中,除了确定队形,还要进行角色分配,mirosot3:3中的角色主要三个:守门员,进攻队员和防守队员。这三个角色与人类足球运动的角色相同。4目标位置确定。确定了队形和各个机器人的角色之后,应该给每个机器人确定相应的目标位置,如在111队形下,进攻队员到达球与对方球门连线的延长线上,防守队员留在本方半场,以备不时之
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年南京信息职业技术学院单招职业技能考试题库及答案详解(夺冠)
- 2026年南昌交通学院单招综合素质考试题库附答案详解(能力提升)
- 2026年北京科技大学天津学院单招职业适应性测试题库附参考答案详解(研优卷)
- 2026年南充文化旅游职业学院单招综合素质考试题库附参考答案详解(满分必刷)
- 2026年兰州现代职业学院单招职业倾向性测试题库附答案详解(模拟题)
- 2026年南京交通职业技术学院单招职业适应性考试题库及完整答案详解一套
- 2026年南通师范高等专科学校单招职业倾向性考试题库含答案详解(b卷)
- 2026年兰州石化职业技术大学单招职业适应性考试题库附参考答案详解(培优)
- 2026年信阳涉外职业技术学院单招综合素质考试题库带答案详解(基础题)
- 2026年内蒙古通辽市单招职业适应性测试题库有完整答案详解
- 收心归位聚合力 实干奋进创未来总经理在2026年春节复工全体员工大会上的致辞
- 2025-2026学年北京市通州区高三(上)期末语文试卷
- 起重司索信号工培训课件
- 肥胖患者麻醉管理专家共识(2025版中国麻醉学指南与专家共识)
- 焦化厂电工培训课件教学
- 涉密文件销毁设备选型与管理
- 安全随手拍活动方案
- 拆除电气施工方案
- 高中语文课内古诗文知识点+专项练习(新教材统编版)《〈论语〉十二章》知识点+专项练习(原卷版+解析)
- 2024年上海市专科层次自主招生考试职业适应性测试真题
- 儿童静脉血栓栓塞症抗凝药物治疗专家共识(2025)解读
评论
0/150
提交评论