原文地址: https://blog.csdn.net/qtlyx/article/details/49622085
毕竟所有的网路信息,包括交通信号灯的默认设置信息都在里面,所以直接修改net.xml文件或许可以实现。
果不其然,在测试的net文件中,发现了下面这样一段代码:
很显然,这一段就是对node5节点上的交通信号灯的完全描述。
tlLgic节点中id就是node的id,所以说,交通信号灯其实适合node一一对应的。type就是交通信号灯的属性,是动态的还是静态的。动态的就是用API接口利用Phyton编程实现。这里我面用静态的。programID这个就是这段交通信号灯硬编码的id,也就是说,其实交通信号灯在仿真过程中是可以改变的,而就是根据这个programID来确定需要改变的方向。offset就是这段编码启动的时间。
接下来就是phase这个子标签了。
一个十字路口的红路灯的每一个不同情况都叫做一个相位,所有的相位按照顺序合在一起就是一个周期,所以说,对交通信号灯编辑,本质上就是编辑各个相位,并对其进行组合和时间设置(duration).
从上往下我们依次观察每一个相位如下:
改变相位时长(duration)就可以改变红绿灯改变的速率。改变相位状态,就可以控制每个相位信号灯的不同通行状况。