SUMO 中车辆动力学模型包括两方面
longitudinal model : 纵向动力学模型,描述车辆加速和减速
lateral model :横向动力学模型,描述车辆换道
在 longitudinal model 方面,由于 SUMO 主要用于研究车辆的外部行为、多车交互和交通流,对于单个车辆建模精度要求不高,可以近似看作质点,采用比较简单的 car-following model (跟车模型) 来描述车辆速度和位置变化规律。car-following model 中包含两种情况:无前车和有前车。
在 lateral model 方面,SUMO 采逗滚备用 lane changing model ( 参考文献 )。简单地说就是以决策树的方式设定诸多换道条件,只要满足某些条件,就进行相应的换道 *** 作。
默认的 lane changing model 是瞬间换道,即在一个 simulation step 中完成换道,直观地看就是车辆在两个车道之间瞬移。
更加精细的模型包括:
具体设置可以参考 https://sumo.dlr.de/wiki/Simulation/SublaneModel#Sublane-Model
本文主要介绍 car-following model.
要了解 SUMO 中默认使用的改进 Krauss model,需要先了解一下原始的 Krauss model 的建模思想。
Krauss model 来自文献:
假设 为 leader 与 follower 车间距,其中 为车身长度。
如果要求车辆不相撞,需要满足
其中
为了计算 , 需要给出速度与刹车距离的函数表达式和。下边用 函数在 处的 Taylor 展开近似替代 函数,忽略高阶项得到
下边的问题就是如何计算导数 .
假设刹车时加速度为 ,则有
其中的积分项对应了刹车加速度为 情况下的刹车距离。
一般我们在计算距离时习惯将积分区间设定为时间,而被积函数为速度。这里是将积分区间设定为速度的变化区间,对时间进行积分。这样积分之后得到关于速度的函数,以便后续的 *** 作。
将式带入式中得
上述表达式右边 含有 ,所以需要再整理一下,得到 的显式表达为
其中原本的 也替换为了最大刹车加速度 .
上述式子就是 SUMO 中 original Krauss model 的安全跟车速度表达式,部分 程序源码 如下:
这里式右边就是安全跟车速度,记做 。但是,这一速度还不是最终车辆采用的跟车速度。与无前车情况类似,我们也要保证跟车速度不能超过允许的最大速度,因此要取安全速度和允许最大速度中的较小值,即
其中备昌 为最大加速度, 为仿真更新步长。
另外,可以引入随机因子,表示车辆并不一定按照上述安全跟车速度行驶,可以取更小的值,即
其中 为外部设定的 imperfection parameter,表征了偏离 的程度。
总结算法步骤:
尽管 SUMO 中包含了上述原始 Krauss model,但是没有作为默认 car-following model,而是做了较大改动。改进模型与原始的 Krauss 模型的出发点是相同的:在保证不碰撞的前提下,车速尽量的快。但在计算安全速度方面,与原始 Krauss 完全不同。
改进的 Krauss model 依然基于上述公式 ,但并没有采用泰勒展开方式近似表达刹车距离函数 ,而是直接数值计算。步骤与源码实现如下:
上式中为前车速度减到山毁 0 需要的时间。
在 SUMO 源码中通过 brakeGapEuler 函数 实现上述计算过程。
这里需要注意的是,SUMO 默认采用 Euler 数值积分方式 ,在计算位置时公式如下:
即 时刻的位置等于 时刻的位置加上 时刻的速度造成的位置变化。
明白了这种积分方式才能更好的理解源码中的计算公式。
得到安全跟车速度之后,其余部分与原始的 Krauss model 类似的,要与允许的最大速度比较,并且考虑随机因素。具体在 followSpeed 函数 和 dawdle2 函数 中实现。
每一轨道在看不见的地方都会有一个可以动的机关,轨道得到转换的信号,渐渐地的就会进行融汇成需要进行转换的轨道。
火车车轮的内侧是有轮缘,它卡在两条钢轨的内侧,既能约束火车的运行,又能防止火车发生脱轨,特别是变轨的时候能够很好的预防跑轨。
轮缘还有一个目的就是控制火车运行的方向,想要实现火车变轨,改变轮缘的位置即可。想要控制轮缘的位置就需要使用到道岔。
扩展资料:人类历史上最重要的机具,早没蠢衫期称为蒸汽机车,有独立的轨道行驶枯腔。铁路列车按载荷物,可分为运货的货车和载客的客车,亦有两者一起的客货混运车。
火车是人类利用化石能源运输的典例。1804年,由英国的矿山技师德里维斯克利用瓦特的蒸汽机造出了世界上第一台蒸汽机车,时速为5至6公里。
因为当时使用煤炭或木柴做燃料,所以人们都叫它“火车”,于是一直沿用至今。1840年2月22日,由康瓦耳的工程师查理礠里维西克所设计了世界上第一列真正在轨上行档旦驶的火车。
⒈打开/疯狂/赛车/的文件夹⒉打开/date/
⒊高州打开/Model/
⒋打开/car/(只讲下换车森局好了,换人物、等级和换彩装方法类似。)
⒌打开/MODEL/
下面就是主要了,有很多后缀是.dff的文件,举例教下吧。
因为现在车比较贵,大部分玩家都开不上好的属性车,就先变下劳斯莱斯幻影。
拿什么车变呢?随便你戚春蔽。有飞猪号的用飞猪号变,有木通车的就用木通车变,当然,用劳斯莱斯蓝鸟也可以变。
控制飞猪号属性的文件是最前面的5个文件,也就是以11010开头的5个文件
控制劳斯莱斯幻影的文件是以11580开头的5个文件
把11580开头的5个文件拖到桌面
重命名桌面上的5个文件,把11580改为11010,注意(后缀别变,只改数字)
改好之后,把桌面上的5个文件拖回去,问你是否覆盖时,点全部。
好了,就这么简单,重进游戏会发现自己的飞猪号已经变成了劳斯莱斯幻影,呵呵,也许有人会问,“我的幻影怎么是花色的???”原因是你飞猪号上的彩装给幻影喷上了,换个原装飞猪号就可以了。
我说几个比较常用车的代码,免的大家还要去一个一个的试:
13020(木通车)
11010(飞猪号)
11020(青蛙号)
11580(劳斯莱斯幻影)
11570(劳斯莱斯蓝鸟)
11560(这个车还没出,黑色的劳斯莱斯敞棚,车牌号为CK00001,个人认为是下一个要出的天价车)
如果换的不过瘾可以换下人物、等级和彩装,在后面几个文件里,方法一样。还有其他文件是控制地图,道具什么的,别乱改,以免玩不成游戏。
就说这么多,如果盛☆大以后会把这个封掉,那以前就知道这个方法的朋友别怪我,我只是想让大家都可以玩的开心。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)