机器人足球1厦门大学

上传人:枫** 文档编号:568553939 上传时间:2024-07-25 格式:PPT 页数:40 大小:974.50KB
返回 下载 相关 举报
机器人足球1厦门大学_第1页
第1页 / 共40页
机器人足球1厦门大学_第2页
第2页 / 共40页
机器人足球1厦门大学_第3页
第3页 / 共40页
机器人足球1厦门大学_第4页
第4页 / 共40页
机器人足球1厦门大学_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《机器人足球1厦门大学》由会员分享,可在线阅读,更多相关《机器人足球1厦门大学(40页珍藏版)》请在金锄头文库上搜索。

1、机器人足球1第一节 基础知识o机器人足球背景知识o2D比赛介绍o代码认识oLinux下开发基础2什么是RoboCupoRoboCup 联盟(起初称作Robot World Cup Initiative)是一个国际性研究和教育组织,它通过提供一个标准问题来促进人工智能和智能机器人的研究。oRoboCup 联盟选择了足球比赛作为一个基本领域,并组织了国际上级别最高、规模最大、影响最广泛的机器人足球赛事和学术会议机器人足球世界杯及学术会议(The Robot World Cup Soccer Games and Conferences,简称RoboCup)。o为了能让一个机器人球队真正能够进行足球比

2、赛,必须集成各种各样的技术,包括自治智能体的设计准则、多主体合作、策略获取、实时推理、机器人学以及感知信息融合等。o对一个由许多快速运动的机器人组成的球队来说,RoboCup 是一项在动态环境下的任务。o在软件方面,RoboCup还提供了软件平台以便于研究。3RoboCup 联盟组织结构4RoboCup比赛项目o仿真组(2D、3D)o小型机器人组(f-180)o中型机器人组(f-2000)o四腿机器人组(由Sony 赞助,从1999 年开始)o人形机器人组(从2002 年开始)oE-League(从2004 年开始)oRoboCup 评论员系统演示5仿真比赛界面o采用RoboCup 提供的标准

3、服务器程序,在计算机上进行11 对11 的仿真机器人足球赛o分布式控制,类似于人类足球比赛,比赛规则采用RoboCup竞赛的仿真组比赛规则。6小型组比赛界面比赛场地:290X240cm机器人最大尺寸:180(直径)X150(高)cm双方各有5 个机器人上场,比赛用球为标准的桔黄色高尔夫球比赛分上下半场,各10 分钟有效比赛时间,中间休息10 分钟。小型组属于半自主模式,比赛采用集中全局视觉系统,无线通讯方式传输比赛场景信息(机器人和球的位置、方向等),各机器人同时接收相同的视觉信息,自行决策,独立控制。7中型组比赛界面o比赛场地:8X5mo机器人最大尺寸:50(长)X50(宽)X80(高)cm

4、o1 对1或和2 对2 级别,比赛用红色标准排球o比赛规则采用RoboCup 竞赛的中型组比赛规则o中型组采用全自主模式,机器人自带视觉系统,自动采集场景信息,自行决策控制。8四腿组比赛o比赛场地:180X300cmo比赛使用sony公司生产的四腿机器狗,全自主模式。o机器狗自带视觉系统、无线通讯系统,机器狗之间可以相互通讯。9中期挑战o通用的智能体体系结构o综合反应式方法和建模/规划式方法o实时识别、规划和推理o在动态环境中推理和行动o传感器数据融合o通用的多主体系统o复杂任务中的行为学习o策略获取o通用的认知模型。10长期挑战o合成智能体挑战o物理智能体挑战o基础组织挑战11RoboCup

5、与FIRAoFIRA(Federation of International Robot-soccer Association),由韩国KAIST 的金钟焕等人发起,成立于1997 年,总部设在韩国大田,每年举办一次国际性比赛。目前有成员国20 多个,我国的东北大学和哈工大加入了该组织。12FIRA与RoboCup的主要区别o技术标准不同nFIRA 允许采用集中控制方式,因此一个球队中的不同队员是同一个“大脑”(控制程序)的不同执行器nRoboCup 要求每个队员必须是自主的,因而球队中的每个队员是一个独立的“主体”,球队是一个“多主体”系统。o研究重点有区别nFIRA 重点研究“灵巧机器人”

6、,特别是动态环境中的运动控制nRoboCup 着重研究动态环境中的多主体合作、实时规划和Agent 体系结构设计。n也可以认为,FIRA 主要面向机器人学,而RoboCup 主要面向人工智能。o主要参加国不同nFIRA 的主要成员来自东亚和南美等第三世界国家nRoboCup 的主要成员为日美和欧洲各发达国家。o比赛规模不同n相比每年FIRA 世界杯赛的规模要小得多13RoboCup的最终目标是:o到到21 世纪中叶,一支完全自治的人形机器世纪中叶,一支完全自治的人形机器人足球队应该能在遵循国际足联正式规则的人足球队应该能在遵循国际足联正式规则的比赛中,战胜最近的人类世界杯冠军队。比赛中,战胜最

7、近的人类世界杯冠军队。142D比赛平台o机器人足球仿真组比赛是在一个标准的计算机环境内进行的,由RoboCup 委员会提供标准的机器人足球仿真软件平台,称作soccer servero该平台支持多个虚拟球员在一个动态、不确定的多主体环境中实时地进行合作对抗。o由于仿真平台摆脱了控制机器人所要研究的诸如物体识别、通讯、硬件设计等问题的限制,使得从事仿真机器人足球的研究者可以更好地把注意力集中合作、学习等在更高层的技术上。15平台结构特点o机器人足球仿真比赛平台是一套系统能够让由不同语言编写的自主球员程序进行足球o比赛。o比赛的执行采用的是服务器/客户端(server/client)模式:n服务器

8、端程序Soccer Server提供了一个虚拟场地并且模拟包括球和球员在内的所有物体移动;n每个客户端程序SoccerClient 相当于一个球员的大脑,控制场上该球员的移动。n服务器端和客户端之间都是通过UDP/IP 协议进行信息交互的,也就是说,开发者可以使用任何支持UPD/IP 协议的程序设计语言来设计球队程序。通过UDP/IP 协议,客户端程序可以发送指令去控制相应的场上球员,而服务器端按照规则给每个客户端发送它所能获得的信息。n每个客户端程序只允许控制一名球员。所以每队必须同时运行与比赛球员数目相等的客户端程序。n客户端之间的通讯必须通过服务器端根据规则来进行转发,任何不经服务器客户

9、端直接联系的行为都是违反规则的。n当一场比赛开始时,双方11 个独立的球员程序连接到比赛平台上场比赛。每个队的目标就是将球踢进对方球门同时阻止球进入自己的球门。16比赛平台结构图17仿真周期oSoccerserver 采用的离散化模式运行,即所有程序运行都是以仿真周期为单位在每个仿真周期(simulatior_step,缺省为100 毫秒)结束前,server 收集所有球员程序的行为请求,直到每个周期末才统一执行并更新场上信息o在每个周期的开始server 根据各个球员的状态(包括可视范围、获得时间等)发送相应的已更新的场上信息,体现了球员感知信息和行动的异步性。o如果一个球员在一个周期内发送

10、了多于一条的独立行为请求,server 将随机选择一个执行。因此,球员为了保证执行自己的真实意图,每周期就只能发送一条独立行为请求o另一方面,如果球员在一个周期内没有发送行为请求,它将失去该周期的行动机会,对于这样一个实时对抗的环境这无疑是很不利的。18观看程序o在soccerserver 平台上比赛时,所有仿真比赛场景都可以通过一个可视化程序Soccer monitor 显示在电脑屏幕上。它通过一个特殊的端口(缺省为6000)直接和比赛平台连接,获得比一般球员程序更全面、更准确的信息,使得用户可以生动地看到比赛的整个过程,并且可以控制比赛的进程。o目前的球场和球场上的对象都是二维的,任何对象

11、都没有高度的概念。场上每个队员用一个圆圈表示,圆圈分为两半,亮的一面表示球员身体的朝向,另一半通过颜色的深浅变化表示球员的体力变化,另外从圆心引出一条线段表示球员脖子的朝向。球用一个实心原点或贴图表示。o目前官方提供了两种不同的monitor:rcssmonitor 和rcssmonitor_classic。两个monitor 都可以显示诸如比分、双方队名、场上所有球员和球的位置。它们也提供了和server 简单的接口,如当比赛两边队员都上场后,monitor 上的“Kick-Off”按钮就可以使人为裁判向server 发送命令开始比赛。19录像程序o另外为了方便的重现比赛实况,平台还提供了比

12、赛录像播放器(Logplayer)。oLogplayer可以被看做是一个录像机,用于重放比赛。当运行Soccerserver 时,通过在启动配置文件中设置一些参数可以将比赛的所有数据以一种特定的格式存储在电脑硬盘中(这就好比按下了录像机的录制键)。然后,rcsslogplayer 程序捆绑一个monitor 就可以用来反复多次地播放比赛录像。这对于分析球队、发现一个球队的优缺点是非常有用的。类似于一个录像机,logplayer 同样有播放、停止、快进、回卷等按钮,logplayer 也可以将比赛录像跳到指定的时间,如进球时。20比赛规则(自动裁判)o中场开球(Kick-Off)n在一个开球前,

13、无论是半场开始前还是进球后,所有的球员都必须在各自的半场。为了确保这点,在进球后,裁判特别暂停比赛5 秒,球员程序可以通过使用move 指令将自己直接移动到自己一方的某个位置而不用浪费时间和体力跑回来。如果某个球员在进入开球状态之后仍然在对方半场,裁判将该球员移到所属半场的随机一个位置。o进球(Goal)n当一队进球得分时,裁判要执行一系列任务。首先,它要通过广播一条消息向所有球员宣布进球。它还要更新场上比分,移动球到赛场中心,并且将play_mode(程序中用以标识当前比赛状态)置为kick_off_left 或kick_off_right(左方开球或者右方开球)。最后,如“开球”部分介绍,

14、它要将比赛暂停5 秒钟等待球员移回到各自的半场。o守门员发球(Goalie Free Kick)n当守门员扑住球后,即可直接发球。由于比赛场地是二维的,在对方干扰下,守门员就很难把球踢出到一个安全区域去,因此规则特别允许守门员发球可先使用move 指令移动到禁区内任意对发球有利的位置(球也会随守门员一起移动),再迅速将球踢出。为了防止守门员滥用move 指令,规则限制守门员一次发球最多只允许移动两次(goalie_max_moves),否则move 指令无效。21比赛规则(自动裁判)o出界(Out of Field)n当球滚到了界外,裁判将球根据出的界不同移到一个合适的位置,包括边线、角球区和

15、球门区,相应的将play_mode 置为kick_in(界外球)、corner_kick(角球)或goal_kick(球门球)。在发角球时,裁判将球置于场地相应一角的坐标为(1 米,1 米)的位置上。o越位(Offside)n一个球员在满足以下情况时被判越位:o1. 在对方半场,o2. 至少比两个防守球员更靠近对方球门,o3. 比球更靠近对方球门,o4. 距离球小于2.5 米(这个值可以通过修改比赛平台参数offside_active_area_size 调整)。o 回传(Backpasses)n就像在真实足球比赛中一样,守门员不允许扑队友传回来的球。一旦发生,裁判将判back_pass_l(

16、左方回传)或back_pass_r(右方回传),然后让对方发一个任意球。当这种球发生在禁区内时,球将在最靠近守门员扑球位置的一个禁区角发。要注意的是,如果守门员不扑队友传过来的球就不算犯规。22比赛规则(自动裁判)o发球违例(Free Kick Faults)n当发一个任意球、角球、守门员发球或界外球时,发球者不允许传球给自己。如果发球者在踢出球后紧接着又踢球,裁判将判free_kick_fault_l(左方发球违例)或free_kick_fault_r(右方发球违例),并且对手既可获得一个任意球。n由于球员很多时候为了将球踢到期望的速度都不得不连续踢很多脚球,所以发球违例只有当满足以下情况才

17、会判:o1、发球者再次踢到球o2、该球员在两次踢球间移动过(使用过dash 指令)n所以诸如kick-kick-dash 或kick_turn-kick 这样的指令序列是完全合法的。而指令序列kick-dash-kick 将被判为发球违例。23比赛规则(自动裁判)o扑球违例(Catch Fault)n当守门员扑球时球的位置在禁区外,裁判将判扑球违例(catch_fault_l 或catch_fault_r)。由对方在扑球位置发间接任意球(indirect_free_kick_l 或indirect_free_kick_r)。n需注意的是判罚扑球违例是以球的位置为准,由于守门员扑球是沿扑球方向2

18、 米长、1米宽的矩形区域,所以即使守门员在禁区内扑球,球却有可能在禁区外,这时仍会被判扑球违例。o球员清除(Player Clearance)n当play_mode 为kick_off,free_kick(任意球)或corner_kick 时,裁判将移除以球为中心的一个圆内的所有防守球员。这个圆的半径是比赛平台程序的一个参数,缺省为9.15 米。这些移除的球员被放在这个圆周上。n当play_mode 为offside(越位)时,所有进攻球员要被移回到非越位位置。这些进攻球员包括处于越位位置和距离球9.15 米圆内的所有球员。n当play_mode 是goal_kick 时,所有的进攻球员将被移

19、除禁区,并且在踢球门球时进攻球员不能再进禁区,只有当球出了禁区后,play_mode 才会被改变。24比赛规则(自动裁判)o比赛状态控制(Play-Mode Control)n当play_mode 为kick_off,free_kick,kick_in 或corner_kick 时,裁判在球被踢动后立即将play_mode 置为play_on(继续比赛)。o半场(Half_Time)和终场(Time_Up)n裁判当第一个或第二个半场结束的时候将暂停比赛。缺省的半场时间是3000 周期,相当于5 分钟。如果整场比赛打平就要开始第二个半场,比赛进入加时赛。加时赛采用“金球制”,或称“突然死亡法”,

20、即加时赛中第一个进球方将赢得比赛。加时赛也分上下半场各3000 周期,如果加时赛仍没有进球,双方即进入罚球大战(penalty mode)。25比赛规则(人工干预)o故意包围球n一旦一方将球包围住,由于球员身体阻挡效果,其他人是无法碰到球的,这将时比赛无法进行下去。o故意用过多的球员堵球门n由于比赛环境是二维的,球门宽度有限,所以一旦有过多球员堵门,球就很难射进,这对射门和守门的算法研究都是不利的。o在限定周期内没有让球投入比赛n目前这个规则已能由自动裁判处理。如果一个球员没有在drop_ball_time 周期(缺省为200 周期)内让球投入比赛,裁判将自动执行drop_ball(即将球直接

21、放到场上相应的一个位置,比赛正常进行)。如果一个球队总是不能及时让球投入比赛,人为裁判可以提前执行drop _ball。26比赛规则(人工干预)o故意阻挡其他球员的移动n由于比赛平台对球员的碰撞自动处理,使得所有碰撞物体速度都会减慢,这样球员就可以通过碰撞阻止其他球员快速移动,这将使比赛无法正常进行。o守门员滥发catch 指令n比赛平台限制守门员连续发扑球命令(catch_ban_cycle,缺省为5 个周期),但是一旦守门员扑球成功,这个计数器就重置了。利用这个漏洞,守门员可以反复踢球、扑球,这样守门员就可以长时间地安全地将球移动到禁区内的任意位置。妨碍了比赛的进程。o用大量消息堵塞比赛平

22、台的通讯信道。n一个球员程序不允许在每个仿真周期内发送超过3 或4 条命令给比赛平台。如果比赛平台被堵塞,或赛后有要求,将会检查是否有这种滥发行为。o不适当的行为n如果观察到某个球员以一种不合适的方式进行比赛妨碍了比赛的正常进行或违反了公平原则,人为裁判将暂停比赛并且给对方一个任意球。27相关链接o官方主页:o相关代码:28代码结构orccssbase 供其他各种仿真机器人足球程序包使用的基本代码。orcssserver 是该仿真源码包的主要部分,执行实际的仿真工作。客户端程序和server通过UDP/IP协议发送命令和接收感知信息。orcsslogplayer 可以重放rcsserver录制

23、的比赛录像(*.rcg文件)。要注意的是rcsslogplayer只是用于控制录像的回放,显示还是需要通过monitor。orcssmonitor和rcssmonitorclassic 通过连接rcssserver或rcsslogplayer来显示现场比赛或比赛录像。29比赛现场30比赛后台31Linux下开发基础oLinux下开发:vi或者vimo./configuren检测安装平台的目标特征。比如它会检测是不是有CC或GCC,并且是不是需要CC或GCC,它本身是个shell脚本omaken从Makefile中读取指令,然后编译 omake installn用于安装,从Makefile中读取

24、指令,安装到指定的位置 32SecureCRTo界面设置orzosz33Linux基本命令opasswdomanolsocdocpomvomkdirormdiropwdotar(tar czvf ,tar xzvf )ogzip, gunzipovi和vim34阿姆斯特丹大学代码otrilearn_base_sources-3.4o截止到2008年比赛的代码o安装命令n./configurenmakeo运行命令n./start.sh 1 2 3 4 5 59.77.17.10 team1n./start.sh 1 2 3 4 5 59.77.17.10 team235Linux服务器o59.7

25、7.17.186o用户名rc200801至rc200812o初始密码1234567890o端口规则n200801-8010,8011,8012n.n200812-8120,8121,812236修改端口o服务端nrcssserver server:port=8080 server:coach_port=8081 server:olcoach_port=8082o客户端(Monitor)n修改rcssmonitor.ini,将其中的server_port改为相应端口o客户端(比赛程序)nvi ServerSettings.cpp niPort = 8010;niCoachPort = 8011;

26、niOlCoachPort = 8012;n需要重新make37ftpo59.77.17.10orc2008orc2008o文件nrobocup_server_monitor.raro服务端与显示程序(Windows下运行)nsecurecrt 4.1.7.rarntrilearn_base_sources-3.4o客户端源码(Linux下运行)38分组o5人或5人以下为一个小组o住的越近越好o每个小组同一时间只能有一个连接登录到Linux服务器o课间休息时决定分组,并分配用户名39作业o熟悉Linux命令o在服务器开启比赛服务,用各自组的端口o在本地开启显示程序o编译trilearn_base_sources-3.4,需要修改成各自组的端口o运行上述程序并进行比赛40

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号