毕业设计(论文)-基于netlogo的大规模人群行为仿真.doc_第1页
毕业设计(论文)-基于netlogo的大规模人群行为仿真.doc_第2页
毕业设计(论文)-基于netlogo的大规模人群行为仿真.doc_第3页
毕业设计(论文)-基于netlogo的大规模人群行为仿真.doc_第4页
毕业设计(论文)-基于netlogo的大规模人群行为仿真.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题目:基于netlogo的大规模人群行为仿真 基于netlogo的大规模人群行为仿真摘要装订线随着数字化人体运动仿真技术的日趋成熟,尤其是其应用的迅速,也得到了很好的推广,虚拟合成领域中的大规模的人口流动模拟技术开始成为研究的热点。大规模的人群运动模型的主要工作是研究在各种环境中,情节下的人群的运动规律和特征,建立大规模的人群运动仿真模型,并在计算机上生成的三维空间(虚拟环境)中逼真的描述在运动过程中的人群的运动过程。人口规模的运动仿真技术提供了一个人群的运动分析和演示工具,具有广泛的应用领域。Netlogo是一个基于Agent的仿真建模工具。本文主要描述了Netlogo的工作原理和主要特性,并通过一个简单的实例描述了该工具的建模和实验过程。虚拟人群行为的驱动方法可以通过设计的虚拟人群行为属性来描述人群将采取的行为;以生产规则来实现虚拟仿真人群行为事件/响应模式。最后,将人群行为建和实现方法模应用在人群紧急疏散逃生模拟中,并可取得了良好的效果。关键词:虚拟人群;人群仿真;行为研究;虚拟视觉;路径规划A simulation of a large population behavior based on netlogoABSTRACTWith the development of Simulation in digital human behavior,especially the rapid promotion of its application, large-scale population behavior simulation technology has become a new research focus in the field of virtual human synthesis.Large-scale human motion simulation is to study the characteristics and regularity of population movement. In various environments,build model Simulation of large-scale population movement,and show large-scale population movement by three-dimensional way realistically in the computers space of generation. Large-scale population behavior simulation technology provides the crowd motion analysis and demonstration tool, the field of application is quite extensive.Netlogo is an Agent Based Modeling(ABM)utilityThe mechanism and main functions are introduced and experiment is illustrated through an example.In allusion to the method of driving the virtual crowds behavior,the next action state was described through designing the action attributes.Furthermore,the event response mode of the virtual crowds action simulation with the production rule is realized.In the end,this behavior model and simulation method are applied to the three-dimensional simulation of crowd urgent escape and good result is obtained.Key words:virtual crowd;crowd simulation;behavioral research;artificial vision;path planning目录1引言11.1课题研究意义及其应用11.2Netlogo的特性与开发11. 3课题研究的内容22人群行为仿真建模32.1人群行为仿真模型的初始化32.2人群运动的仿真73模型的结果及分析123.1构建实验控件123.2实验结果及分析123.2.1最大旋转角对实验的影响123.2.2人口数量对实验的影响153.2.3出口大小对实验的影响164结论与展望18参考文献19致谢20附录211引言1.1课题研究意义及其应用大规模人群运动仿真,就是研究人群在各种环境、情节下的运动特征与规律,建立大规模人群运动的仿真模型,并在计算机生成空间(虚拟环境)中以三维的方式逼真地展示大规模人群的运动过程1。随着计算机数值模拟技术的迅速发展,人群行为仿真技术开始成为人群疏散仿真、城市规划和计算机疏散软件开发方面的研究热点。人群行为仿真是研究人群运动的基础,综合考虑各方面因素对人群运动的影响,对人群运动进行分析,建立相应的模型,从而将在虚拟的环境中模拟出的人群的行为应用于各个领域2。 大规模人群运动仿真技术,提供了人群运动的分析和演示工具,可应用的领域相当广泛。研究影响人群行人的运动因素,建立一个适当的行人的运动模型,通过计算机对行人的运动进行模拟,模拟人群聚集过程中可能出现的状况,预测发生事故的场景,给公共活动场所的建设和人群疏散提供参考,并对群体活动现场的工作布置与安全工作安排的积极意义,极大地保证了人身安全。大规模人群的运动仿真技术可应用于许多公共安全领域,如码头,机场,体育场馆,地铁站等大型公共设施与设计3。以体育馆为例,可应用大规模的人群流动数值模拟技术,根据球场的规模、常规情况和特殊情况下得疏散情况来设置安全出口。无论是对走廊宽度设计,还是出口和出口位置的合理数量的设计都需要复杂的辅助分析,才能够更好地设计出更合适的公共场作。人群运动仿真可以在球迷发生冲突,火灾,恐怖袭击和其他非常规的情况下,辅助人员建立在紧急疏散计划,可以应用于消防设备的合理布置,警力分布;也可作为场馆管理人员的消防安全,反恐演习和训练的辅助工具。与传统方法相比,大规模人群仿真技术,具有直观,灵活,高效,经济和人员等诸多优点的安全风险。 人口规模的运动仿真技术示范功能能够逼真的模拟人群运动,如地购物商场,欢呼的体育场,铁站等人流量很大的公共场作的人群行为。因此,它可以应用于国防科研,电影和电视媒体,娱乐,游戏等4。 大规模人群仿真技术是一个新兴的技术,技术还处在初级阶段,各方面的技术还不够成熟,但随着计算机硬件的发展和研究领域,技术的快速发展,迅速改变。国内外学者进行了大量的研究工作,大规模人群运动仿真技术的应用现状及前景非常好5。1.2Netlogo的特性与开发Netlogo具有多智能体建模语言,它功能强大,易于使用,易于开发。Netlogo包含完整的文档和教程,很多可以直接使用和修改,系统还提供了大量的模型,模型库提供涉及医学,计算机科学,化学,物理学,数学,生物学和经济社会的哲学,自然科学和社会科学,特别适合初学者学习7。在Netlogo中有海龟(turtles)、块(patches)和观察员(observer)三类智能体。观察员可以观察和控制仿真世界的运行。海龟是可以移动的对象,可以代替现实世界中的任何一种有活动特性的物体,可以代替模型中的一个人、一只昆虫、一辆汽车或一片草地;而块则代表了海龟所生存的环境,整个环境是由若干个块拼接构成,可代替模型中的一个房间、一片绿地、一个桌子等8。通过控制海龟和块,通过编程为其设定各种属性和运行规则,可以并行地控制成千上万的海龟和块,使其具有自己的运动规则并在彼此的相会作用中形成群体的运动。这里的交互作用包括海龟和块的交互及海龟和海龟的交互,前者体现了主体与环境的关系,后者则体现了主体之间的关系,在人群行为仿真过程中,可表现为人与人的相互作用及人与环境之间的相互作用9。1. 3课题研究的内容该课题研究模拟的是人群处在陌生的环境中,在各种外界与心理条件的影响下找到出口的时间的检测。人群运动是大自然中一种既复杂又有趣的运动,它有同蚁群、蜂群、鱼群和鸟群等动物群体的行为相似的地方,又有其独特的规律它的研究真是耐人寻味。人群的运动的特殊性主要表现在它是由离散的流动的人群组成的,并受到心理因素的影响。它的视觉效果和规律都很复杂,似乎是随机排列,但却有着一定的规律,令人难以捉摸。人群行为的研究是仿真建模的重要环节,而其仿真模型对于电影动画的制作、生物学研究以及现代军事化大型战斗群体协同作战控制都有重要的意义。本文构建了基于Netlogo的开发平台,根据自然界人群运动的特点进行建模仿真,这个模型同时满足人群的基本运动特征,并可以通过全局变量的设置是人群行为更加生动逼真。利用大规模人群仿真技术的演示功能,分析每个人的心理行为,结合人与人之间和人与环境之间的差异想不同的方向移动,最终找到安全出口。2人群行为仿真建模2.1人群行为仿真模型的初始化NetLogo是一个多主体建模仿真集成环境,大量的可移动主体在二维空间中交互作用,随着时间推进,微观个体的属性不断发生变化,系统的宏观特征也因此而变化。虚拟世界由主体构成,主体能够接受命令,进行活动,所有主体的行为并行发生。NetLogo中共有三类主体,turtles(小海龟)、patches(瓦片)、observer(观察者)。to setup ;定义例程setup clear-all ;设置整个世界为初始状态 ;创建100个turtles,创建后各turtle默认坐标是(0,0) create-turtles 100 ;命令所有turtle执行语句setxy random-xcor random-ycor ;各turtle 坐标随机产生,实现turtles在空间中的随机分布 ask turtles setxy random-xcor random-ycorendturtles指能够在世界中移动的主体。crt population set color blue ; random shades look nice set size 1.5 ; easier to see setxy (random-float (world-height - 10) + min-pycor + 1) (random-float (world-height - 2) + min-pycor + 1) ; set heading random-pycor + 90 世界是二维的,划分为由patches组成的网格,每个patch占据一个矩形小块。observer是一个全局主体,它观察着由turtles和patches构成的世界,能够执行指令获取世界全部或部分的状态,或实现对世界的控制。三个主体空间之间的关系如图2-1虚拟空间所示:图2-1虚拟空间在NetLogo主界面窗口中建立一个陌生环境模型。将世界重设为初始、全空状态,所有瓦片变黑,基本上是将过去一笔勾销,为新模型运行做好准备。在视图中设置来定义陌生环境的边界。整个视图是由许多瓦片组成的网格,每个瓦片是一块正方形的“地面”(ground),瓦片也有自己的坐标。瓦片原点(origin)的坐标是(0,0),一般位于整个环境的中间位置,其他瓦片的坐标也就是与原点的垂直距离和水平距离。用pxcor和pycor表示瓦片的坐标,像几何中标准坐标平面一样,向右移动pxcor增加,向上移动pycor增加。设置不同位置瓦片的颜色,形成黄色的墙体和红色的出口,并能通过调节滑轴设置出口的大小10。ask patches with (pxcor = min-pxcor) or (pxcor window-edge set pcolor yellow set pcolor red 可以把瓦片想象成地板上铺的方形瓷砖。默认情况下房子正中的一片瓷砖标记为(0,0),意味着如果我们在水平和垂直方向画等分线,交叉点这在此处。这样我们就有了一个在房间中定位对象的坐标系统,如图2-2坐标系统所示:图2-2坐标系统在NetLogo中,从右到左的瓷砖数称为世界宽度(world-width)。如图2-3世界宽度所示:图2-3世界宽度从顶到低的瓷砖数称为世界高度(world-height)。图2-4世界高度所示:图2-4世界高度这些数字由顶、低、左、右边界(top, bottom, left and right)来定义。在这些图中,max-pxcor 是3 , min-pxcor是 -3, max-pycor 是 2 ,min-pycor 是 -2. 当你改变瓦片大小时,瓦片(瓷砖)的数量不变,只是屏幕上瓦片的大小变化了。 ask patches with (pxcor = min-pxcor) or (pxcor window-edge set pcolor yellow set pcolor red 海龟是在世界中移动的主体,设置滑动条调节海龟数量的多少,设置海龟形状为人。控制者可“控制所有的仿真变量:人口数量、出口大、影响人群运动的各种心理因素等。在netlogo中形成的界面如图2-5程序实现界面所示:图2-5程序实现界面建模的一个目的是对那些难以在实验室中进行研究的问题收集数据。绘图室NetLogo显示数据的一个主要方式。人群仿真这个模型的图只有一条线:人的数量。这条线显示了随着时间推进模型中人口数量发生了怎么样的变化。如果忘记这条线代表的是什么时,可以在图形窗口的右上角单击”Pens”,打开画笔图例。一个关键字说明了每条线是什么。在本例中就是人口数量,纵坐标表示的是人口的数量,横坐标表示的是时间。按下go按钮在图中会绘制出一条随着时间变化人口数量降低的一条曲线。如图2-6人数数量和疏散时间关系曲线所示:图2-6人数数量和疏散时间关系曲线视图的尺寸由5个设置共同决定:最小X、最大X,最小Y、最大Y和瓦片尺寸。当图快被充满时,水平轴增加,以前的数据被压缩只占一部分空间,更多的空间用来绘制将来的图形。 如果你想保存图上数据以备查看,或在另一个程序里进行分析,使用File菜单的Export Plot。这些数据就被保存,数据格式可以被电子表格,如Excel,或数据库程序识别。也可以通过Ctr+单击(Mac)或右击(Windows)弹出快捷菜单,然后选择Export.。 2.2人群运动的仿真仿真的基本框架中至少要有初始化例程和仿真执行例程:初始化例程实现对模型初始状态的设置,生成所需的turtles,设置其状态,以及其它工作。该仿真程序执行通过go实现,在例程中需要执行各种命令来完成一个仿真步长的工作。创建一个按钮,和gol例程相联系,设置该按钮为一个永久(forever)按钮,点击后会不断重复执行仿真例程,直到它接到停止命令或用户再次点击按钮时仿真停止。 NetLogo模型包括例程和可视化部件两部分,二者相互联系,共同作用完成仿真。首先在Interface中创建可视化控件,然后在Procedures中实现相应的代码,通过设置控件的属性将二者联系起来。Interface中主要有三类部件:参数控制、运行控制、仿真显示11。仿真的基本框架如图2-7所示:每一个仿真周期to go结束初始化to setup人口数量是否为零?否是图2-7仿真的基本框架当一个人处在过陌生的环境中时,他们是通过怎样的找到安全出口的。通过观察你会发现人们找到安全出口的方法很多,有的人单独的找来找去,而有的人是很容易的结成团队走来走去。当个人走来走去时,碰到墙壁时人们的运动方向发生怎样的变化?如果你长期观察这种变化,你应该注意到模式的形成具有一定的规律。 此模型是一个研究处于陌生状态中的人群行为。此运动规则也像鱼群、羊群、鸟群等。)每个人随机的处于不同的位置,各自的运动方向从很大程度上取决于各自的心理需求。当人们处在陌生的环境中是处于恐慌状态下,不自觉的会根据恐慌程度的不同引发不同的心理问题,从而影响个体的运动方向,影响结队的程度,进而影响人群的运动。研究发现人处在陌生的公共环境中影响其运动规律的因素主要是心理活动。心理活动是人们对环境的认知与理解所作出的反应,进而影响人的行为活动,这与他们对待环境的态度和价值判断有关。所以,环境心理学与公共设施的设计有着密切的关系。在某些陌生场合,人们人们不自觉的结成团队。在某种程度上满足心理上的安全感。例如人们处在无标识出口的陌生的校园环境里,人们以更加随机的方式形成小组,在各个小组之间的影响下和小组内人与人之间的影响下有规律的运动。群体的运动过程是每个个体的简单运动行为的密集相互作用的结果。群体的运动规则主要表现在:“对齐”、“分离”、“凝聚力”。“对齐”意味着一个人会把这运动在附近的人都朝同一方向。如图2-8“对齐”规则所示:图2-8“对齐”规则“分离”意味着一个人会避免另一个人离得太近了。如图2-9“分离”规则所示:图2-9“分离”规则“凝聚力”意味着一个人将走向附近的其他的人(除非另与另一个人离得太近)。如图2-10“凝聚力”规则所示:图2-10“凝聚力”规则当两个人太近,“分离”规则取代了其他两个,直到达到最小分离停用“分离”规则。三条规则只影响人的移动的方向,与人的运动速度没有关系,每只鸟都向前移动用相同的恒定速度。当人群处于一个封闭性的房间里,会有目的但漫无方向的找到安全出口,无法避免的会碰到障碍物、墙壁,当人遇到不可抗的阻力时会产生一定的心理反应,影响人群的运动方面向相反的方向运动。如图2-11“碰壁返回”规则所示:图2-11“碰壁返回”规则创建生物群体,并将它们随机分布在空间中并能随机的运动。当人群个体遇到墙体时会自动的按一定的角度反方向返回,遇到出口时个体消失,场景内的人数减一。例程如下:if pcolor of patch-ahead 1 = red set population ( population - 1 ) die if pcolor of patch-ahead 1 = yellow ; get the coordinates of the patch well be on if we go forward 1 let new-px pxcor of patch-ahead 1 let new-py pycor of patch-ahead 1 if (abs new-px = max-pxcor) or (pxcor != 0 and new-px = 0) ; if so, reflect heading around x axis set heading (- heading) if (abs new-px = 30) and ( pycor = window-edge ) ; if so, reflect heading around x axis set heading ( - heading ) if (abs new-px = 30) and ( pycor = 500 stop ask turtles bounce ask turtles flock ; the following line is used to make the turtles ; animate more smoothly. repeat 5 ask turtles fd 0.2 display ; for greater efficiency, at the expense of smooth ; animation, substitute the following line instead: ; ask turtles fd 1 tick ;if count turtles = 0 ; stop end两次记录的结果如图32和图3-3所示,滑动条vision的值分别是“2”和“7”。图32vision的值为2时的结果状态图33vision的值为7时的结果状态比较两个结果的区别,对比海龟的最大旋转角对人群的影响。在实验中,每个人的位置是在黄色框内随机生成的,在仿真的过程中我们可以看到每个人自由的移动,并能受到外界因素的干扰,调大vision的数值,人群抱团行为更加明显,但不一定能节省找到出口的时间。因此要适当的设置vision的数值,根据真实情况下人群心理变化,模拟人群行为,建立更切合实际的模型。3.2.2人口数量对实验的影响我们看看如果改变population的设置的话,人群会怎么变化。 设置population 滑动条为800. 设置window-edge 滑动条为15. 设置vision的值为3.按下setup 和 go ,运行的ticks为1000时记录下数据。设置population 滑动条为200. 设置window-edge 滑动条为15. 设置vision的值为3.按下setup 和 go ,运行等到所有的人消失时记录下图形和时间。两次记录结果如图3-4和图3-5所示,population的值分别为“800”和“200”。 图3-4population的值为800时的结果状态图3-5population的值为200时的结果状态比较两个结果的区别,对比海龟的最大旋转角对人群的影响。在实验中,每个人的位置是在黄色框内随机生成的,设置两个不同的人口数量,为了结果对比明显,第一次实验中人口数量设置为“800”,第二次实验中人口数量设置为“200”。在仿真的过程中我们可以看到每个人自由的移动,并在绘图中得出一条随着时间变化人口不断减少的曲线。研究曲线发现人口数量越大,所有的人全部找到安全出口的时间就会越长,因此人群找到安全出口的时间跟人口数量成正比关系。3.2.3出口大小对实验的影响我们看看如果改变population的设置的话,人群会怎么变化。 设置population 滑动条为800. 设置window-edge 滑动条为10. 设置vision的值为3.按下setup 和 go ,运行的ticks为1000时记录下数据。设置population 滑动条为800. 设置window-edge 滑动条为20. 设置vision的值为3.按下setup 和 go ,运行等到所有的人消失时记录下图形和时间。两次记录结果如图3-6和图3-7所示,window-edge的值分别为“20”和“10”。图3-6window-edge的值为20时的结果状态图3-7window-edge的值为10时的结果状态比较两个结果的区别,对比海龟的最大旋转角对人群的影响。在实验中,每个人的位置是在黄色框内随机生成的,设置两个不同的出口宽度,为了结果对比明显,第一次实验中出口大小设置为“10”,第二次实验中出口大小设置为“20”。在仿真的过程中我们可以看到每个人自由的移动,并在绘图中得出一条随着时间变化人口不断减少的曲线。研究曲线发现出口越大,所有的人全部找到安全出口的时间就会越短,因此人群找到安全出口的时间跟出口大小成反比关系。在以上的研究中,如果你不耐烦,想让模型运行的更快,可以快进也可以关闭视图更新。快进(速度滑动条右移)关闭视图更新,因此模型运行的更快,这是因为更新视图需要时间。 4结论与展望用基于netlogo的人群行为建模方法来研究人群行为是人群运动仿真技术的一个研究方向。本文主要介绍了一种简单的一般情况下人群的建模方法,并结合实例说明其在现实生活中的应用。实例证明,Netlogo可用于采集有人与环境之间,人与人之间的实验数据,从而进行有效的仿真,模拟现实世界的人群行为,为娱乐游戏、建筑的设计、国防研究提供可靠的理论依据。用NetLogo对处于陌生环境中的人群行为建模可以进行快速、灵活的试验,而在现实情况下这是很困难的。建模也给了你少受偏见的影响去观察各种情景的机会,因为你可以检查系统内部的动态。但你会发现随着你建模越来越多,对许多现象的原有的想法会遇到挑战。人群运动仿真技术可应用的领域相当广泛,其中应用最早、需求最迫切是公共安全领域,主要应用于一些突发公共安全事件中的大规模人群紧急疏散模拟。这些应用系统 的场景较为单一,人群具备单一的目标(如逃生),人群的行为特征较为明显,因此建立的人群运动模型较为逼真可信。该模型只能用于基本的简单的生物群体运动的模拟。描述高级人人群行为是非常困难,并随着规则数量的增多和仿真人数的增加,实验难度也会大大的增加。随着科学的发展,人们对行为规则模拟真实性要求越来越高,需要考虑群体运动时个体拥挤所产生的碰撞和在不同场所人群的不同心理等规则,因此逼真的大规模的人群模拟效果是难以保证,总之,上述几个方面是基于行为规则的方法所面临的主要问题。随着城市建设的不断快速发展,人身安全已经变成了社会关注的焦点,人员密集场所的公共安全问题越来越引起人们的重视。怎样才能更好的应对火灾、爆炸、交通事故等紧急事件的发生,将损失减低到最低,确保公民的人身安全,构建美好和谐的社会公一直是安全管理领域的研究重点。由于人群疏散易受个体的状态、个体之间相互作用及外界环境的影响是处理紧急事件时不可避免的因素,因此基于个体行为特征的人群疏散仿真一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论