问题标签 [traffic-simulation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
88 浏览

python - 使用 netconvert 在 SUMO 中进行模拟

我正在尝试使用 Python 中的 TRACI 使用 Sumo 运行模拟,作为在模拟中执行某些操作的一种方式。我所做的基本上是使用 netconvert 来提取地图的一部分。

netconvert --keep-edges.in-boundary minX,minY,maxX,maxY -s large.net.xml -o small.net.xml

所以基本上我正在尝试在原始网络(large.net.xml)中执行评估,并在模拟的某个时间点将车辆从原始模拟转移到我的小型网络(small.net.xml),并带有以下选项:

conn2.vehicle.add(vehID='0',routeID='R0',depart=time,departPos=conn1.vehicle.getLanePosition('0'),departSpeed=conn1.vehicle.getSpeed('0'))

其中时间是我原始模拟(conn1)中的模拟时间。这应该将车辆置于模拟 conn1 中并在 conn2 中启动该车辆(使用 small.net.xml 进行模拟)在与 conn1 中完全相同的位置,但似乎我的裁剪网络对该车道作为车辆具有不同的大小从一个有点不同的位置开始。有没有办法避免这些车道大小的变化?我已经尝试过将车辆转移到 conn2 中的同一原始网络,它出现在所需的位置。

0 投票
1 回答
181 浏览

c++ - 我的 c++ 应用程序中的经过时间从 0 增加到 60 太快(例如在一毫秒或一微秒内)

在我的交通模拟项目中,我想在一段时间内改变交通灯对象的状态(灯的颜色)。我编写了 TrafficLightGroup 类,将 7 个交通灯(T 灯)分成 3 组。在这个类中,有一个模拟()函数,可以将 t-light 添加到组中并在一段时间内更改它们的状态。这是 TrafficLightGroup 类:

如果您还想查看 TrafficLight 类,我在此处添加:

这是 main() 函数:

我想模拟 10 秒周期的 t 灯。在模拟()函数中,我在某个特定时间更改了 t 灯的状态。但是,当我运行应用程序时,我看不到这种变化,程序只是绘制了 t 灯。出于这个原因,我在模拟()函数中添加了一个 std::cout 命令,以查看经过的时间如何增加。然后,我看到经过的时间增加得太快了;因此我看不到 t 灯状态的变化。

我研究了 ctime 标头以找到适合我的功能,但我找不到任何解决此问题的方法。

如何解决这个时间问题以正确模拟红绿灯?

0 投票
1 回答
141 浏览

c# - 生成游戏对象具有相同的脚本但不同的行为?

我的拼贴画有一个统一的交通汽车模拟项目,项目要求之一是让用户输入汽车的数量,每辆汽车都应该像AI_Driver一样驾驶,我写了一个脚本来产卵具有实例化功能的汽车,我生成了 1000 辆汽车,当我生成汽车时,我正在进行一些更改,例如(生成的汽车在 y 轴上的位置),

问题是某些汽车已正确编辑,正是我想要的,但其他汽车没有应用位置的更改。

这是脚本:

请问有人可以帮忙吗??

0 投票
1 回答
54 浏览

simulation - 如何使用 CarSource 模块自动从 Excel 电子表格中捕获数据?

我有一个 Excel 电子表格中的数据,该数据表示几天内每天每小时通过红绿灯的车辆数量。24 列代表一天中的几个小时,每一行代表不同的一天。

我希望我在模拟中实现的每个 CarSource 块都可以捕获表中存在的车辆数量,并将其自动分配给 Arrival Time 属性,从 00:00 到 23:00。

对于模拟中经过的每一小时,到达时间属性必须使用从电子表格中获得的下一小时的相关信息进行更新。

有人对如何使用 AnyLogic(8.4.0 版)有任何建议吗?

0 投票
1 回答
94 浏览

python - 创建一个全局字典来跟踪迭代

我在 simpy 中创建了一个火车模拟,但为了跟踪前面的火车,我计划使用字典,其中键值可以充当“信号”状态。键基本上是信号编号。前面的列车可以检查下一个信号是否为绿色,反之亦然。但是,对于其余信号,代码似乎工作正常,但我想检查信号 0 和信号 1,以便火车不会生成或不离开。

我没有输入整个代码,因为它只会让它变得冗长。这只是为了让我了解我正在尝试做的事情。

这是示例代码 -

当我试图跟踪全局字典 signal_dict 时,火车生成器似乎无法看到其中的更新值。

0 投票
1 回答
159 浏览

python - Python VISSIM COM 接口 - Vissim.Net.Vehicles.GetMultipleAttributes("'EmissionsCO2'") 返回无

我正在尝试测量网络中所有车辆的排放和燃料消耗。我正在使用 AV 和人类驾驶车辆 (HDV) 进行一些模拟。我正在运行 python 3.7.6 并使用 COM API 与 VISSIM 交互。

基本上,我使用以下方法在循环中创建 X 个 HDV:

然后我控制我的 AV,最后尝试访问车辆排放、油耗和总行驶距离:

EmissionCO2、EmissionsNOx 和 FuelConsumption 返回 None,DistTravTotal 返回以米为单位的真实数字。那么,为什么我无法访问排放和油耗数据?我是否错过了 VISSIM 中的某些内容?

最好的问候,雅各布

0 投票
0 回答
31 浏览

mininet - 如何在 D-ITG Traffic Receiver 中使接收节点在一次连接后自动停止

我正在使用 D-ITG 在 mininet RYU 中的两个主机之间生成流量。我在接收端使用了 ITGRecv,在发送主机使用了 ITGSend。但我想要的是在节点之间的流程完成后,接收器应该关闭该连接。我的意思是 ITGRecv 应该只接受 oneflow。可行吗?

我知道使用带有“-P 1”标志的 iperf 可以做到这一点

0 投票
1 回答
52 浏览

simulation - 如何模拟停车场的边界?

我目前正在研究停车场模拟。在进入停车场之前,汽车必须越过边界。为了模拟这一点,我添加了一个“carMoveToBorder”块,汽车移动到停止线。然后我添加了一个服务块来模拟边界服务服务的时间。现在我有一个汽车网络,我真的不知道如何指定延迟的位置或服务块内的队列。我尝试通过输入 stopLine 的名称来指定延迟的位置,但我收到一条错误消息:类型不匹配:无法从 Agent 转换为 AnimationStaticLocationProvider

图片如下。帮助表示赞赏。

感谢您的时间。

边框 服务图片1 边框服务图片2

0 投票
1 回答
120 浏览

kubernetes - CockroachDB 在所有节点上分布式工作负载

我使用本指南在 Kubernetes 上部署了 CockroachDB 集群:

https://github.com/cockroachlabs-field/kubernetes-examples/blob/master/SECURE.md

我部署了它

这是我列出它时的样子$ helm list --namespace=thesis-crdb

这是我列出它时的样子$ kubectl get all --namespace=thesis-crdb

现在我想模拟到这个集群的流量。首先,我通过以下方式访问 pod:$ kubectl exec -i -t -n thesis-crdb k8crdb-cockroachdb-0 -c db "--" sh -c "clear; (bash || ash || sh)"

这让我进入了第一个 pod/node。

从这里我开始工作量

然后我运行工作负载 5 分钟

我知道我在一个节点上运行工作负载,但我的表达是工作负载将分布在所有节点之间?因为当我使用 cockroachDB 控制台监控性能时,我发现只有第一个节点在完成所有工作,其他节点处于空闲状态。

第一个节点 第二个节点

如您所见,第二个(和第三个节点)根本没有任何工作负载。这只是控制台中的视觉故障吗?或者如何运行工作负载,使其在集群中的所有节点之间均匀分布?

-更新-

是的,很高兴您提出了cockroachdb-client-securepod,因为那是我无法再遵循指南的地方。我像他们在指南中所做的那样尝试了:$ curl https://raw.githubusercontent.com/cockroachdb/cockroach/master/cloud/kubernetes/client-secure.yaml | sed -e 's/serviceAccountName\: cockroachdb/serviceAccountName\: k8crdb-cockroachdb/g' | kubectl create -f -

但它抛出了这个错误:

我也不知道我的证书是否被批准,因为当我尝试这个时: $ kubectl get csr k8crdb-cockroachdb-0 --namespace=thesis-crdb

我抛出这个:

当我尝试批准证书时:$ kubectl certificate approve k8crdb-cockroachdb-0 --namespace=thesis-crdb

它抛出:

知道如何从这里开始吗?

0 投票
2 回答
56 浏览

sumo - 马路左侧的巴士站

我对 SUMO 还很陌生,我一直在创建公交车站,但是我只能在边缘的右侧找到公交车站。是否可以在 SUMO 中创建孤岛平台(中心平台)?