赞
踩
在sumo中,车辆在执行换道指令之前,需要先判断目标车道上的车辆间的间距是否满足安全的换道间距,如果满足,则换道,否则等待换道间距满足后再换道。目前没有相关文档描述具体的安全间距的计算方法,本人通过对sumo的源码进行阅读总结了安全间距的具体计算方法。
在SUMO中,车辆执行换道动作时,需要先计算secureFrontGap和secureBackGap,然后再根据实际的FrontGap和BackGap来决定车辆是否可以执行换道动作。如果FrontGap大于secureFrontGap且BackGap大于secureBackGap,车辆可以执行换道动作,否则,车辆不能执行换道动作。
在SUMO中,车辆的换道行为使用laneChangeModel来模拟,车辆在进行换道时,需要满足一定的安全距离,其安全距离计算公式如下:
requiredGap=secureBackGap+followerMinGap+egoLength+egoMinGap+secureFrontGap
其中secureBackGap is computed by calling the carFollowModel of the follower vehicle;secureFrontGap is computed by calling the carFollowModel of the ego vehicle; followerMinGap是follower vehicle的最小停车间距(2.5m);egoLength是ego vehicle的长度(5m);egoMinGap是ego vehicle的最小停车间距(2.5m)。followerMinGap、egoLength和egoMinGap都是常数,secureBackGap和secureFrontGap的值与车辆的速度、车头时距和最大舒适减速度有关,其计算公式如下:
在sumo中,可以通过设置laneChangeModel的lcAssertive参数来改变安全间距的大小,实际的安全间距等于按上述方法计算的安全间距除以lcAssertive。具体参考换道参数
注意:上述的内容均是基于SUMO1.3.0版本,是本人学习的总结,若存有问题可以在评论区指出或者私信本人。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。