问题标签 [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 回答
505 浏览

java - 使用 Traci4j 在 SUMO 中获取车辆的角度

我想与 SUMO 和 OMNeT++ 一起工作以创建 VANET 模拟。为此,我使用了用于 Java 的 Traci4j 库(可在https://github.com/egueli/TraCI4J获得),它允许从远程端口与 SUMO 进行交互。

首先,我想声明我知道 Veins 存在,但我强烈需要使用 Java 作为我的本科 Tesis 的一部分

目前,我能够获取在我的网络中行驶的所有车辆,并获取它们的速度和位置 (X,Y)。但是,我也想知道这辆车移动的方向(角度)。

我一直在查看 Traci4j 中包含的不同方法,但我没有找到任何东西。我发现的唯一相关部分代码在常量类中:

但我真的不明白这有什么用。你认为有可能从车辆中获得这个属性吗?

我将不胜感激任何帮助。谢谢!

0 投票
1 回答
176 浏览

traffic-simulation - 在 SUMO 上模拟真实世界的汽车

Aoa,有没有办法通过使用SUMO上任何 android 设备的 GSM 值来模拟 android 硬件的纬度和经度。

0 投票
2 回答
221 浏览

c# - C# 和 SUMO - 与套接字的通信不成功

我正在尝试使用 C# 脚本与交通模拟器 SUMO 进行通信。SUMO 启动侦听端口并等待客户端连接。连接成功。然后,我尝试做一个模拟步骤,发送相应的命令,然后接收响应。

但是,当我尝试接收响应时,我的程序在尝试执行此行时被阻止:

paramDataInputStream一个在哪里BinaryReader。我知道这种方法 ReadInt32 正在阻塞系统,因为没有可读取的数据,这使我得出以下结论:正在发生以下情况:

  • 命令未正确发送。
  • 套接字定义不明确
  • 因为我拿了一些Java代码并试图翻译它,也许有一些错误

SUMO 的网页中,他们定义了通信协议。是这样说的:

TCP 消息充当命令或结果列表的容器。因此,每条 TCP 消息都包含一个小的标头,该标头给出了整个消息的大小和一组放在它后面的命令。每个命令的长度和标识符放在命令的前面。该容器的示意图如下所示:

以“仿真步长命令”为例,标识为0x02,内容为时间步长对应的整数(点击这里查看更多详细信息)。

在提供更多关于我发送消息的方式的代码之前,我对我定义套接字的方式有一个疑问,这可能是原因。尝试从 Java 转换为 C# 时,我在 Internet 上查看,发现:

而在Java源代码中,socket只定义如下:

由于通信协议看起来并不完全像 TCP(在我的情况下,标头是总长度之一,而 TCP 的标头要复杂得多),也许我定义套接字的方式不正确。

如果评论/答案表明这不是问题,我将使用更多代码进行更新。

编辑

我花了一整天的时间进行试验,最后没有任何效果。最后,我做了一个非常简单的代码,这对我来说似乎是合乎逻辑的,但也不起作用:

我发送的字节对应:4字节(1个整数)总长度(10字节),1字节命令长度(6字节),1字节命令标识符(0x02),4字节(1 个整数)用于命令的内容,在这种情况下为 0,因为我只想提前 1 个时间步长。

我已经嗅探通信以检查字节是否正确发送,我什至从 SUMO 接收和确认,但时间步长没有改善,我没有收到服务器的答案。

0 投票
1 回答
297 浏览

java - 在 MATSim 中计算最安全的路线

我有兴趣使用 MATSim API 根据流量模拟的链接权重计算路线。每个链接都有一个安全指数属性,计算出的路线应该代表最安全的路径。Dijkstra 路由算法计算最短路径。使用它是完美的,只要我可以指定算法应该考虑安全指数而不是长度。我不知道是否可以在 MATSim 中做到这一点以及如何做到这一点。或者也许在 MATSim 中实现的其他路由算法更适合。

谢谢!

0 投票
1 回答
1404 浏览

random - SUMO - 如何在不使用最短路径算法的情况下生成路线?

SUMO当在类似网格的网络上使用生成的路线运行模拟时duarouter,经过一定时间后,由于路线是使用最短路径生成的,因此车辆开始集中在网格的中间和交叉路口算法(、dijkstraastar)。如何生成不是用最短路径算法创建的随机路线,并且不让车辆以这种方式运行?CHCHWrapper

0 投票
1 回答
2094 浏览

simulation - 如何在 SUMO 模拟中保持恒定的车辆数量?

我是相扑的新手。有人可以帮助我如何在整个模拟期间(例如 1 小时)内保持车辆数量不变,即密度不变。在这篇文章中,他们说使用选项--begin、--end。我不明白如何使用该选项。

此外,据说“您可以使用选项 --max-num-vehicles 来设置所需的数量”

在哪里执行这个选项?是用netconvert吗?有人可以举个例子指导我吗?我的意思是完整的命令。太感谢了。

PS:我使用的是 SUMO 0.26.0 模拟器,windows 10 64bit。

编辑:

根据 Micheal 的建议,我能够限制模拟中的车辆总数,但无法保持相同的数量。因为一些车辆正在离开模拟。谁能指导我如何维护相同数量的车辆?

这篇文章中,他们提到了使用 Rerouter。但是没有得到我应该在哪里写 retoure 属性。

我应该手动编辑我的 cars.rou.xml 文件并为 vechile 属性添加更多边吗?有人请指导我。谢谢你。

0 投票
2 回答
308 浏览

omnet++ - Veins/Omnett 检索交通灯信息

我是 Veins 和 omnett 的新手,我正在开展一个项目,该项目将使用交通灯来绘制十字路口。http://www.sumo.dlr.de/wiki/TraCI/Traffic_Lights_Value_Retrieval#Command_0xa2:_Get_Traffic_Lights_Variable显示可以检索ID 列表,但我无法获取该信息。我尝试使用命令:trafficlight(1).idlists; 我包括了#include“veins/modules/mobility/traci/TraCICommandInterface.h”。错误显示为“未在此范围内声明交通灯”。我试图在 BaseWaveAppLayer.cc 中调用这个函数。任何帮助都会很棒。谢谢!

0 投票
1 回答
185 浏览

xml - 如何使用 netconvert 成功转换 .net.xml?

我是 SUMO-GUI 及其命令行的新手。我试图创建道路网络,为此我创建了 .con.xml、.edg.xml、.nod.xml、.typ.xml 和 netc.cfg 文件。现在我尝试 在存储文件文件的位置运行“ netconvert –c quickstart.netccfg”命令,但遇到了附加图像的错误。我正在使用 Windows 8 平台。任何人都可以提供帮助。我真的遇到了大麻烦。这是显示错误的命令行输出同一文件夹中的文件列表

注意:我参考了 sumo 用户文档来创建网络。

0 投票
1 回答
149 浏览

anylogic - AnyLogic - 道路交通库背后的模型

发布了吗,anyligic仿真软件的道路交通库背后的数学模型是什么?

0 投票
1 回答
439 浏览

simulation - AnyLogic - 在仿真时动态创建对象

是否可以在运行时动态创建对象或修改它们?例如,单击按钮、创建另一个按钮或更改道路的行数?当我为按钮操作编写此代码时,在运行时

我收到以下错误:

root: road123: 标记元素已经启动,不能修改。请使用不带参数的构造函数,执行设置,最后调用initialize() .function