Simulation/VehicleInsertion
原文地址:http://sumo.dlr.de/wiki/Simulation/VehicleInsertion
1、加载
车辆能够通过XML文件输入或者通过TraCI在运行时加载。当从XML中加载时,并不是所有的车辆一次性全部加载。车辆是分批次加载的(chunks),批次的大小可以通过命令—route-steps来控制。当进行长时间的仿真运行时,这样做是为了节省内存。
一旦车辆被加载,就能够通过TraCI访问和控制(在某种程度上)。使用“move to”或者“move to XY”可以将车辆加载到网络中。
2、插入(驶入)
以便将车辆插入道路网络中,必须满足一些必要的约束:
(1)车辆(从后面位置到前面位置+mingap)不能阶段其他的车辆(包括他们的mingap)
(2)根据跟驰模型,所有车辆必须和引导车保持安全的间距
(3)根据跟驰模型,任何跟随车辆必须保持安全的距离;
(4)在车辆的路径上,车辆必须能够在任何即将到来的非优先级交叉口都能够刹车
(5)在车辆的路径上,能够在一定停止的地方停下
如果一辆车因为上面的原因不能插入,那么插入将会被延迟。延迟时间可以在输出文件中查看,或者在SUMO-gui参数中查看。如果参数—max-depart-delay已经定义了,那么当车辆延迟时间超过最大值那么会被抛弃。
关于位置、速度和时间的精确插入需要考虑更多的因素(many parameters),同时也要考虑路网的现有状态。
3、影响驶入的全局参数
--random-depart-offset :随机延迟所有车辆的驶入时间;
--max-num-vehicles :限制车辆的全部数量,将会导致延迟插入
--max-depart-delay :当到达了时间将车辆从插入列表中删除
-eager-insert :试着去插入所有的延迟插入的车辆。一般,在第一个失败后插入停止;
4、其他
(1)车辆也可以通过校准器(calibrators)的使用来插入车辆;
(2)及时驶入前,车辆的更改路由可能被触发,通过使用device.rerouting(when using device.rerouting)
(3)驶入的车道可以在运行时决定,通过TAZ实现(Traffic AssignmentZones (TAZ))
关于车辆插入的参数:
可以指定插入的车道,最右侧为0,指定插入的车道位置,开始位置是0米。