现本科毕业生毕设需要做城市平面交叉口的vissim8.0学生版仿真,探究不同自动驾驶汽车渗透率下的通行效益。请问各位,在vissim里面如何设置自动驾驶车的占比从0~100%(步长为10%),最后得到如图的结果啊。如果可以用到其他版本软件,请详解,若有效果,将追加酬金
“Devil组”引证GPT后的撰写:
参考GPT的回答内容,在VISSIM中设置自动驾驶汽车的渗透率需要进行以下步骤:
1.在VISSIM中选择菜单“文件(File)”>“新建(New)”>“网络模型(Network)”,创建新的VISSIM模型。
2.在VISSIM模型中创建一个交叉口模型。
3.在VISSIM模型中选择菜单“模型(Model)”>“编辑模型(Edit Model)”>“车辆类型(Vehicle Types)”,创建一个新的车辆类型,命名为“自动驾驶汽车(AV)”。
4.在VISSIM模型中选择菜单“模型(Model)”>“车流量(Traffic)”>“生成(Generate)”,在交叉口模型中生成车流。
5.在VISSIM模型中选择菜单“模型(Model)”>“参数(Parameters)”>“模型参数(Model Parameters)”,设置车流中自动驾驶汽车的占比为0%。
6.在VISSIM模型中选择菜单“模型(Model)”>“参数(Parameters)”>“模型参数(Model Parameters)”,设置其他相关参数,如车流量、车速、红绿灯时序等。
7.运行VISSIM模型,并记录自动驾驶汽车的平均总出行时间(Avs总出行时间)。
8.重复步骤5和步骤7,每次增加自动驾驶汽车的占比10%,直到占比为100%。
9.记录不同自动驾驶汽车渗透率下的Avs总出行时间,并计算出高峰、平峰和低峰时段的值。
回答不易,还请采纳!!!
以下答案由GPT-3.5大模型与博主波罗歌共同编写:
在Vissim中设置自动驾驶车的占比可以通过修改路段中车辆类型的分布来实现。我们可以使用Vissim COM来实现这一操作。
以下是实现步骤:
首先,我们需要导入Vissim COM库:
import win32com.client as com
然后,我们需要连接到Vissim:
#创建Vissim对象
Vissim = com.Dispatch("Vissim.Vissim.1100")
#设置仿真文件路径
Filename = r"C:\...\filename.inpx"
#打开仿真文件
Vissim.LoadNet(Filename)
接下来,我们需要找到我们想要修改的路段:
#找到路段编号为5的路段
segment = Vissim.Net.SegmentByNumber(5)
然后,我们可以使用segment.VehCompDistribution
属性获取当前路段上各车辆类型的分布。该属性返回一个与车辆类型对应的数组,表示每种车辆类型在此路段上的占比。例如,以下代码显示第5个路段上,各车辆类型的当前分布:
distribution = segment.VehCompDistribution
for i, d in enumerate(distribution):
print("Vehicle type", i, "has distribution", d)
接下来,我们可以修改这个分布,以制定不同自动驾驶汽车渗透率下的车辆百分比。例如,以下代码设置批量修改自动驾驶汽车的渗透率 (车辆编号为2):
#由于占比是从0~100%(步长为10%),因此我们将从0到10循环10次
for i in range(0,11):
#设置自动驾驶车辆的占比
distribution[2] = i/10
#更新路段上各车辆类型的分布
segment.VehCompDistribution = distribution
#运行模拟
Vissim.Simulation.RunContinuous()
...
#记录下通行效益的数据
在此过程中,您可以记录下不同自动驾驶汽车渗透率下的通行效益数据,以便后续分析。
完整的代码示例如下:
import win32com.client as com
#创建Vissim对象
Vissim = com.Dispatch("Vissim.Vissim.1100")
#设置仿真文件路径
Filename = r"C:\...\filename.inpx"
#打开仿真文件
Vissim.LoadNet(Filename)
#找到路段编号为5的路段
segment = Vissim.Net.SegmentByNumber(5)
#设置仿真时间步长为0.1秒
Vissim.Simulation.SetAttValue("SimResSeconds",0.1)
#由于占比是从0~100%(步长为10%),因此我们将从0到10循环10次
for i in range(0,11):
#设置自动驾驶车辆的占比
distribution = segment.VehCompDistribution
distribution[2] = i/10 #车辆类型2代表自动驾驶汽车
segment.VehCompDistribution = distribution
#运行模拟
Vissim.Simulation.RunContinuous()
#记录下通行效益的数据
travel_time = Vissim.Net.Descriptor.ResultsTravelTime.GetValue()
avg_speed = Vissim.Net.Descriptor.ResultsSpeed.GetValue()
...
#关闭Vissim
Vissim = None
如果我的回答解决了您的问题,请采纳!
在vissim中如何设置自动驾驶车辆比例从0到100%?
打开VISSIM软件,点击工具栏中“Network”按钮,在弹出的“Network Editor”界面中构建所需的道路网络结构。
在“Vehicle Types”窗口中,添加不同类型的车辆,包括自动驾驶车辆和非自动驾驶车辆。
按下“Ctrl + Shift + V”键,打开“Vehicle Dialog”界面,选择要添加的车辆类型,设置车辆的属性和行驶行为参数。
在“Dynamic Assignment”窗口中,设置不同的自动驾驶车辆比例,可以从0%-100%进行设置,步长为10%。
点击“Run”按钮,开始模拟仿真过程,通过“Result Browser”窗口可以查看仿真结果。
分析仿真结果,得到不同自动驾驶车辆比例下的交通通行效益数据,并进行比较和分析。
根据分析结果,提出改进建议,为提高城市交通运行效率和安全性提供参考依据。