Robocup救援仿真.ppt

上传人:小飞机 文档编号:5446736 上传时间:2023-07-07 格式:PPT 页数:38 大小:1.65MB
返回 下载 相关 举报
Robocup救援仿真.ppt_第1页
第1页 / 共38页
Robocup救援仿真.ppt_第2页
第2页 / 共38页
Robocup救援仿真.ppt_第3页
第3页 / 共38页
Robocup救援仿真.ppt_第4页
第4页 / 共38页
Robocup救援仿真.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《Robocup救援仿真.ppt》由会员分享,可在线阅读,更多相关《Robocup救援仿真.ppt(38页珍藏版)》请在三一办公上搜索。

1、Robocup救援仿真,简介,救援仿真历史,起源于1995年1月日本神户的地震1999年4月30号,确定开始机器人救援仿真研究2000年4月,救援仿真系统原型发布官方网站,2001年列入RoboCup一个比赛项目2006年中国第一次参加救援仿真比赛2008机器人足球世界杯在中国举办,东南大学获得冠军2009年第一届安徽省救援仿真比赛举办,救援仿真的目的,1.Robocuprescue机器人救援仿真是一个通过模拟显示生活中的城市灾难场景,用机器人进行救援的仿真统.RCRSS(Robocup Rescue Simulation System)2使救援Agent(智能体/机器人)进行有效的分工协作,

2、完成营救市民和灭火的任务,以最大限度地减小灾难带来的损失,进而在灾难救援这个重大的社会问题上促进研究和发展,救援仿真介绍,模拟地震之后的灾难救援整个地震的模拟由服务器提供开发者需要控制多种不同的救援智能体进行救援。例如:医疗小组,警察,消防员等智能体底层框架:YabAPI,RescueCore,ADT,救援仿真组比赛规则,仿真环境1.硬件环境a)比赛所用的PC:每支队伍比赛使用5台PC,其中一台用于运行kernel,一台用于3D Viewer,另外3台运行参赛队伍的智能体。b)比赛所用PC硬件配置:AMD64 3000+CPU,1Gbyte DDR,80GB HDD,GeForce6200 A

3、GP,DVD-drive。,2.软件环境a)仿真环境:Linux操作系统(我们实验室用的是ubuntu-10.04版本)b)仿真服务器包:比赛将采用最新发行的服务器版本。这个服务器包由Cameron Skinner维护,可以到http:/,3.地图:比赛会使用3-5个地图,其中有三个已知地图是Central of Foligno(Italy)、Kobe(Japan)和Virtual City。此外还可能有一个或更多的随机地图用于比赛。,4.智能体:智能体由参赛队伍实现。数量:每种智能体和着火点的个数如下表。在比赛前会向参赛队伍公布。表1智能体和着火点的个数*最大初始燃烧建筑物数量为30。然而这

4、些建筑物分布在8个不同的区域,也就是说初始时最多8个火点,但是每个火点会有几个建筑物燃烧。,比赛有效性,一个比赛可能由于各种原因在中途失败,在这种情况下,仅仅允许每个队伍重新比赛一次。如果第二次也失败:a)如果服务器仍然继续运行直到仿真结束,那么第二次的最终分数将被当作有效得分。只要开始第二次比赛的,第一次的得分将无效。b)如果服务器也没有运行到终点,那么比赛得分为0。尽管第一次比赛有得分,也不能使用。,救援系统结构,救援仿真系统是一个由多个模块通过网络进行连接的实时的分布式仿真系统(如图所示)。每个模块可以独立的运行在不同的计算机上,所以仿真系统的计算任务就可以分布到多台计算机上。,仿真系统

5、中信息共享,仿真系统观察器,观察器图解,最上方:Time仿真周期Score比赛分数主体部分:灰色矩形建筑物白色线条道路绿点市民红点消防队蓝点警察白点医疗队,绿块避难所矩形颜色变化着火程度绿点颜色变化受伤程度黑点市民已死亡黑叉路障,比赛得分计算方法,采用国际比赛(RoboCup2006,German Open 2005)的规则。V越高说明救援效果越好。V=(P+S/Sint)*sqrt(B/Bint)P:生还智能体数量Sint:启动时所有智能体的总HP值S:比赛结束时所有智能体剩余的总HP值Bint:开始时总的面积B:比赛结束时未被烧毁的建筑物面积总和活着的市民数量是决定得分的关键,RoboCu

6、pRescue系统结构,RoboCupRescue 的模拟是由几个模组(module)所组成的,这些模组分别利用 UDP(user datagram protocol)的通讯协定来做沟通.这些模组为:核心(kernel),代理人(agents),成分模拟器(component simulators),地理资讯系统(geographical information system;GIS),观察器(viewers),在整个模拟系统里面,只会存在一个 kernel 与一个 GIS,其它的则可能会存在超过一个以上。,代理人 代理人模组控制具有智慧的个体,这些个体能够根据所处的环境自行决定他们的动作,在

7、RobcupRescue模拟系统当中,代理人是系统的客户端(client)程式,而核心是伺服端(server)程式,会检查代理人的动作.例如,一个消防队代理人决定要去灭火,但是可能存在一些因素使得代理人无法进行灭火的动作.此外在系统当中,一个代理人所代表的是一的单位而不是一个真正的实体,也就是说在系统中如果有一个消防队代理人,实际上所表示的是一组消防队员.这个系统会这麼做的原因是为了不让整个模拟系统太过庞大,但是未来在系统当中将会把一个代理人表示成一个真正的人或机器人.地理资讯系统 地理资讯系统模组提供了模拟世界的初始组态,像是道路,建筑物以及个体在这个世界当中的开始位置.此外这个模组还会记录

8、整个模拟的结果,因此我们能够透过离线的方式来看这个模拟的过程。,观察器 观察器负责将 RoboCupRescue 的模拟利用电脑的图形来做视觉化的工作.成分模拟器 成分模拟器分别对应到许多不同的模拟领域,像是地震,火灾以及交通壅塞等等,这些模拟器会被挂入这个系统,并且模拟这个世界当中会发生的事以及在某些动作之后所会造成的影响为何,不过一次只能有一个相同领域的模拟器可以被挂入这个系统,例如由一个火灾的模拟器来模拟火灾的状况.而这些模拟器的产生也是需要经过相同领域模拟器互相竞争,比较那一个模拟的结果比较精确而且比较有效率.核心 核心负责控模拟的过程,以及让资讯能够在模组之间共享.在未来,核心应该能

9、够即时地管理数以万计的模组与模组间的沟通,这将会是一个在模拟系统架构当中最大的挑战,模组间的沟通,1.在每一个循环周期开始的时候,核心将感觉的资讯(sensory information)送给每一个代理人模组,这些资讯包含了被代理人模组控制的个体对这个模拟世界所能够感觉到的资讯,通常这些资讯的大部分是视觉资讯,不过在这之中也可能包含了某些的错误资讯.此外在模拟系统中,核心送给代理人的资料都一个范围,像是送给每个个体的视觉资讯都是在个体30米之内的物件.2.每一个代理人模组决定好他们每一个个体所要做的事,并且送给核心,这样子的讯息称之为命令(command).,3.核心接收所有来自代理人模组的讯

10、息,并将这些讯息广播给模拟器.不过这些来自代理人模组的命令有时会被过滤掉,例如代理人模组送出命令的个体已经死亡,则核心就会将这个讯息给丢弃掉.此外,模拟的过程是以即时的方式在进行,也就是比真实世界快六十倍的时间,因此核心会忽略掉那些来不及在每一个循环周期时间之内送达的命令.4.接著不同领域的模拟器会根据保存在模拟器内的状态,与从核心那里接收到的命令来计算这个世界将会如何改变,然后这些结果最后将会被送给核心.,5.核心整合从模拟器的结果,并且将这些广播到地理资讯系统和模拟器,同样地核心也是会在一定的时限之内接收这些结果,然后核心会将模拟世界的时间增加,并且提醒观察器更新.6.观察器对地理资讯系统

11、提出有关这个是世界的更新资讯,并且将这些资讯以视觉化的方式显现出来.7.地理资讯系统维持模拟结果的追踪,并且将观察器所要的资讯送出.,现在对RobCup Rescue整个架构有了一定认识,救援仿真实际上就是将现实当中的一些救灾行动(火灾、地震等)通过计算机模拟出来,即通过计算机来实现;现有一个有警察、救援队、消防队、市名等智能体的队伍,如何将这些智能体合理高效的分配任务和智能体相互间如何进行合作,使整个救援仿真行动的救援效率(使建筑物烧毁面积最小、智能体伤亡最低)达到最好。而在开发队伍前,需要准备好开发环境。在RobCup Rescue中所用操作系统为Ubuntu系统。在系统下实现仿真模拟必然

12、还需要一些准备工作,如服务器、开发队伍所需的开发工具、编译器等等的版本和如何进行安装。下面就开始介绍如何实现这些操作。在此,对于操作系统的安装不再说明。,服务器启动、工程构建和运行,2009年国内比赛用Ubuntu8.10,因为我们的代码是用java开发,而java有一个最优秀的特点就是跨平台运行,所以只要所选的操作系统能够支持服务器的安装,都可以,列如:suse linux10.2。安装完系统后,下面进行必要的安装。,一:gcc与jdk安装说明 安装服务器,需要两种编译器,一种是C编译器,比赛要求是gcc3.4,另外一种是编译java程序的编译器jdk1.6(服务器中有一部分是用java写的

13、);1)gcc3.4安装 如果没有版本要求,系统都会自带(在新立得软件包管理器中可以找到)。可以上网下载一个要求版本的gcc编译器,置于home/rescue(在home下建立一个rescue文件夹)目录下。解压之后,在你解压之后的包里安装。在命令行下进入你安装的目录($cd rescue/gcc3.4),只要输入./install.sh就可以了(那个包里会有install.sh文件)。安装之后,打开一个命令窗口运行gcc-version查看你的gcc版本。,2)jdk的安装 下载一个jdk1.6 for linux(linux系统下的jdk,若在新德里软件包里联网安装的,网速比较慢,可以先下

14、载再安装),放在你要安装的目录下。命令行下进入该目录,./.bin就可以了,“”代表你的jdk安装文件的名字。(此处命令:$./jdk1.6 for linux.bin)安装完jdk后需要设置环境变量,如下:,1.命令行下cd/etc,回车进入etc目录。这个目录下有一个profile文件。修改这文件获得权限比较大,如果你觉得不安全,可以修改.bash文件(这个文件是隐藏的),方法一样。这里以修改profile文件说明。2.命令行下输入sudo gedit profile。回车之后,按输入提示输入你的密码。3.这时就会打开profile文件。在里面就像是编辑你的文本文档一样。在文件的最后输入以

15、下内容:export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar export JRE_HOME=$JAVA_HOME/jre export PATH=$JAVA_HOME/bin:$PATH(假设你的jdk是安装在/home/rescue/rescueProgram/jdk1.6.0_14这个目录下,如果不是你只要把你的安装目录替换掉这里的安装目录就可以了,其他不用修改)。4.保存。(ctrl+s)现在,jdk安装好了,也配置好了。注销或者重启你的计算机,ok!。,二服务器安装 09年比赛的服务器版本是0.49plus。从网

16、上下载服务器包,置于home/rescue目录下。解压之后进入安装包目录(既0.49plus文件夹)下的programs目录。在命令窗口下输入make命令,它会根据当前目录下的makefile文件编译服务器。若没有错误就安装成功了。即命令符:$cd rescue/0.49plus/program$make三.服务器运行 进入0.49plus/boot目录下,命令行下输入./all.sh VC 启动服务器。我们会看到一个可视化的灾区环境。接下来上一下平台自带的智能体。接着输入./sampleagent.sh。启动智能体后你会看到整个灾区的救援情况。命令:$cd rescue/0.49plus/b

17、oot$./all.sh VC(vc为一地图名)$./sampleagent.sh,四.开发工具的安装 我们所用的开发工具为eclipse,先从网上下载eclipse包,置于home/rescue文件夹下,进行解压就行;在桌面创建一个启动器。Ok!至此为止。整个救援需要的开发环境都准备好了,然后就可以开发你的救援队伍。服务器平台中有自带的智能体,里面有一个yabAPI,算是开发的底层,几都是基于yab进行开发。,提供的资源,1)学习认识RobcupRescue的相关材料:文章:How_to_Develop_a_RoboCupRescue_Agent.pdf 教你如何去开发自己的队伍。2)安装材料:jdk、gcc、服务器、开发工具等安装全过程的文档3)资源下载网址(gcc/jdk/服务器都可从上面下载),谢 谢!,08网络班 梁维金,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号