在前面的文章中介绍了模拟车辆以及交通工具-公共汽车,在道路上除了车辆外还有行人参与。在本文中介绍添加行人。详细的方法和参数可以前往官网查看。
本部分的模拟路网全部沿用上次公共汽车模拟的环境,只需要对部分代码进行修改。
首先,为了让行人通过十字路口,需要在十字路口添加人行横道。使用netedit打开路网文件,点击菜单栏中如下所示图标:
然后点击需要添加人行横道的十字路口,会出现如下情形:
然后点击需要添加人行横道的两条道路,然后点击左侧参数栏的Create crossing即可。完成每条道路的人行横道添加以后,效果图如下:
路网编辑完成以后,还需要在路由文件中编辑行人。在路由文件中定义行人的方式跟定义车辆类似,详细的参数可以前往官网查看。
下面是官网给出的一段代码:
<person id="foo" depart="0"> <walk edges="a b c"/> <ride from="c" to="d" lines="busline1"/> <ride .../> <walk .../> <stop .../> </person>
在行人的定义中,包括id和进入仿真的时间,步行、骑车、坐车、停止等等参数。
跟车流类似,sumo同样给出了定义人流的方法,官网给出的示例如下:
<personFlow id="person" begin="0" end="1" number="4" departPos="80"> <walk from="2/3to1/3" to="1/3to0/3" arrivalPos="55"/> <ride from="1/3to0/3" to="0/4to1/4" lines="train0"/> <walk from="0/4to1/4" to="1/4to2/4" arrivalPos="45"/> <stop lane="1/4to2/4_0" duration="20" startPos="40" actType="singing"/> <ride from="1/4to2/4" to="3/4to4/4" lines="car0"/> </personFlow>
在上述代码中定义了4个运动轨迹和方式相同的行人。
在行人的定义中,walk表示步行,ride表示乘坐交通工具,stop表示停止不动。下面的实例通过定义一个行人,从起点步行进入仿真到公交车站,然后乘坐公共汽车到下一站后再步行走到道路尽头。在这次实例中,在前面公共交通的实例基础上加入行人的定义即可。bus_addition.add.xml变为:
<additional xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/additional_file.xsd"> <busStop id="busstop1" lane="E2_0" startPos="35" endPos="50" lines="100 101 102"/> <busStop id="busstop2" lane="-E3_0" startPos="25" endPos="40" lines="100 101 102"/> <vType id="BUS" accel="2.6" decel="4.5" sigma="0" length="12" minGap="3" maxSpeed="70" color="1,1,0" guiShape="bus"/> <vehicle id="0" type="BUS" depart="35" color="1,0,0"> <route edges="E2 -E3"/> <stop busStop="busstop1" duration="20"/> <stop busStop="busstop2" duration="20"/> </vehicle> <vehicle id="1" type="BUS" depart="1" color="0,1,0"> <route edges="-E0 -E3"/> <stop busStop="busstop2" duration="20"/> </vehicle> <person id="person0" depart="5" color="0,0,1"> <walk from="E2" busStop='busstop1' departPos="80" arrivalPos="50"/> <ride busStop='busstop2' lines="0"/> <walk to="-E3" arrivalPos="85"/> </person> <person id="person1" depart="5"> <walk from="E2" to="-E3" departPos="80" arrivalPos="55"/> </person> </additional>
模拟仿真的效果如下:
sumo之模拟行人
最新推荐文章于 2024-10-18 15:04:47 发布