使用 SUMO 场景的子集进行 OMNeT++ 网络模拟(使用 VEINS)

2024-03-17

我正在尝试使用 OMNeT++、Veins 和 SUMO 评估在车载网络上运行的应用程序。因为该应用程序依赖于现实的流量行为,所以我决定使用LuST场景 https://github.com/lcodeca/LuSTScenario,这似乎是此类数据的最新技术。但是,我想使用此场景的特定部分而不是整个场景(例如,高流量负载片段和低流量负载片段,也许还有其他片段)。尽管我最感兴趣的是从 SUMO 获取流量数据到我的模拟中,但保留 VEINS 提供的双向功能会很好。

实现这一点的一种明显方法是使用预热期。然而,我想知道是否有更有效的方法——模拟 8 小时的流量只是为了获得几分钟的片段,感觉效率低下,并且对于足够重复的模拟可能会出现问题。

VEINS 是否有一个内置的预热机制,主要是避免发送消息(这是迄今为止模拟中最耗时的部分),或者它是否有一种方法等待 SUMO 前进,例如,到特定的时间戳(这也避免了在 OMNeT++ 中创建车辆对象,从而避免创建所有启动代码)?

如果相关的话——我正在使用最新稳定版本的 OMNeT++ 和 SUMO(OMNeT++ 4.6 和 SUMO 0.25.0),我的代码库基于 VEINS 4a2(进行了一些更改,特别是接受 TraCI API 版本 10)。


您可以在此处执行以下两项操作来减少 Veins 中发送的消息数量:

  1. 按照所述使用 OMNeT++ 预热期here https://omnetpp.org/doc/omnetpp/manual/usman.html#sec407在手册中。基本上就是设置的意思warmup-period在你的.ini文件并确保您的代码使用以下命令检查此内容if (simTime() >= simulation.getWarmupPeriod())。用于结果收集的 OMNeT++ 信号知道这一点。

  2. The TraCIScenarioManager提供一个变量double firstStepAt @unit("s")您可以使用它来延迟它的开始。同样,这可以在.ini file.

  3. As the 静脉常见问题解答 http://veins.car2x.org/documentation/faq/各州TraCIScenarioManagerLaunchd提供两个变量来配置基于矩形或道路的感兴趣区域(string roiRoads and string roiRects)。为了减少模拟区域,可以将模拟限制在特定的矩形内;例如,*.manager.rioRects="1000,1000-3000,3000"模拟两个提供的坐标之间的 2x2km 区域。

使用这两种解决方案(最好结合使用),您仍然需要运行 SUMO - 但 Veins 几乎不消耗任何时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 SUMO 场景的子集进行 OMNeT++ 网络模拟(使用 VEINS) 的相关文章

  • 在Android模拟器中使用相机

    我希望使用网络摄像头在 Android 模拟器中模拟摄像头 基本上我只需要用模拟器中的相机拍照 不需要实时预览 即如果它使它更容易 我按照教程进行操作here这是我能找到的唯一一个接近我的要求的 但是该教程中使用的许多库 如 android
  • Matlab/CUDA:海浪模拟

    我学过 模拟海水 Jerry Tessendorf 的文章并尝试对统计波模型进行编程 但我没有得到正确的结果 我不明白为什么 In my program I tried only to create a wave height field
  • 使用 omnet++ 查找内存分配错误

    我正在 omnet 和静脉 v2 0 rc1 下进行网络模拟 为此我实验了 4 个场景 每个场景都重复 20 次 在模拟第三个和第四个场景时 我遇到了一些错误 我猜这是一个内存分配错误 它们共享一个共同的功能 ack 对于相关模拟 它正常启
  • omn​​et++/veins:连接inet和veins:TraCIScenarioManagerLaunchd中的TraCIMobility错误

    我正在尝试连接 inet 3 4 0 和静脉 4 4 以获得 Tcp Ip 支持 我已按照这些说明进行操作 静脉 INET 兼容性 甚至更多 但我在尝试运行模拟时遇到此错误 我不确定是否理解 TraCIMobility 函数 Error i
  • AnyLogic Attractor 奇怪的行为

    我的理解是 节点内的吸引子的容量应该为 1 从某种意义上说 在 3D 动画中 每个吸引子应该只有一个代理 当我运行模型时 我看到同一个吸引子上有两个代理形状 而其他吸引子是空的 这是正常行为吗 有没有办法防止这种情况发生 请注意 这种情况并
  • 模拟器还是仿真器?有什么不同?

    虽然我了解模拟和仿真的一般含义 但我几乎总是对它们感到困惑 假设我创建了一个模仿现有硬件 软件的软件 我应该称呼它什么 模拟器还是仿真器 谁能解释一下编程方面的区别吗 额外提示 这两个术语在英语中有什么区别 抱歉 我不是母语人士 仿真是模仿
  • 将 Matlab 函数结果缓存到文件

    我正在用 Matlab 编写一个模拟 我最终会运行这个模拟数百次 在每次仿真运行中 都有数百万个仿真周期 在每个周期中 我都会计算一个非常复杂的函数 该函数需要 0 5秒完成 函数输入是一个长位数组 gt 1000 位 这是一个数组0 an
  • 函数式语言对于飞行模拟器来说是一个不错的选择吗? Lisp 怎么样?

    我做面向对象编程也有几年了 函数式编程做的不多 我对飞行模拟器很感兴趣 并且对 Lisp 的函数式编程方面感到好奇 在面向对象的范例中 飞行模拟器或任何其他现实世界模拟器对我来说都是有意义的 这是我的问题 面向对象是表示现实世界模拟领域的最
  • 在Scheme(Fluent)中运行(do ...)内的代码与循环外的执行方式不同

    我的续集上一个问题 https stackoverflow com q 58906949 12388640 我正在使用 ANSYS Fluent 程序进行 CFD 模拟 该程序允许使用所谓的日志文件对模拟设置进行部分自动化 我刚刚知道该日志
  • 使用 Polars 生成运行记录,其中一个月的期末余额将成为下个月的期初余额

    我想在给定初始期初余额的情况下生成一段时间内的运行计数模拟 例如 一个虚构的企业从 1000 美元开始 在任何一个月内都会经历随机的盈利和亏损 12 个月后 这家企业可能会赚多少钱 我的问题是 我可以生成所需的列 但无法弄清楚如何在不破坏当
  • 一切都一样,在 C++ 中将数据输出到磁盘的最快方法是什么?

    我正在运行的模拟代码很大程度上受 CPU 速度的限制 我对将数据输入 输出到用户界面不感兴趣 只需在计算时将其保存到磁盘即可 减少开销的最快解决方案是什么 iostreams 打印 我之前读过 printf 更快 这取决于我的代码吗 如果不
  • 模拟抛硬币一周?

    这不是家庭作业 我有兴趣在 R 中设置抛硬币的模拟 我想运行该模拟一周 R 中是否有一个函数可以让我在一段时间内 例如一周 启动和停止模拟 如果一切顺利的话 我可能想增加模拟周期的长度 例如 x lt rbinom 10 1 1 2 所以要
  • 运动模拟游戏的动态如何运作?

    我想制作一款棒球模拟游戏 这些体育管理游戏是靠运气吗 完全靠运气的管理游戏并不公平 但也不能太可预测 这些游戏背后的逻辑是如何运作的 这都是关于概率和统计的 您根据指定的某些属性设置某事发生的机会 然后在游戏过程中加入随机因素 使事情变得更
  • 资源规格和代理跟踪

    我需要解决一个问题 但由于缺乏 Java 培训 我无法解决该问题 要编写什么代码来跟踪获取资源的代理 让我更好地解释一下 我有一系列房间 每个进入该结构的特工都会占用一个房间 并在整个住宿期间保留该房间 我想实时查看哪些房间被占用以及由哪个
  • 群体行为问题

    昨天我看到了克雷格雷诺兹的Boids http www red3d com cwr boids 随后我想尝试一下用 Java 实现一个简单的 2D 版本 我已经根据以下内容整理了一个相当基本的设置康拉德 帕克的笔记 http www ver
  • C++ 绘图包 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个关于 c 绘图包的问题 过去几年我一直在使用 python 和 matplotlib 现在我使用
  • 如何为ListBox(值)索引或树视图节点设置相同的按钮事件?

    我有 C Win form 如下所示 我也有一些数组作为列表框的菜单 public string ArrayMain 1 Water 2 Air 3 Soil 4 Fire public string ArrayWater 1 Salty
  • 使用参与者模型进行基于时间的模拟

    我们有一个单线程应用程序 可以模拟数十万个对象随着时间的推移与共享内存模型的交互 显然 它无法在多 CPU 硬件上进行扩展 在阅读了一些有关基于代理的建模和函数式编程 参与者模型的内容后 我正在考虑使用消息传递范例进行重写 这个想法非常简单
  • 如何在真实设备上模拟来电? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 出于测试目的 我想在真实的 Andr
  • 如何在Python中计算输出的均值、众数、方差、标准差等?

    我有一个基于概率的简单游戏 每天我们抛一枚硬币 如果正面朝上 我们就赢了 我们会得到 20 美元 如果我们抛硬币 反面朝上 那么我们会在月底损失 19 美元 28 天 我们可以看到我们失去或赚了多少 def coin tossing gam

随机推荐

  • 如何在Python中使用比较和“如果不是”?

    在我的一个程序中 我怀疑我是否正确使用了比较 我想在做某事之前确保 u0 if not u0 lt u and u lt u0 step u0 u0 step change the condition until it is satisfi
  • 如何在 Ionic 中实现媒体查询

    我想为我的离子应用程序添加完整的背景图像 并为每个设备添加不同的图像 这是我的 CSS 代码 iPhone 6 媒体查询 media max width 750px and max height 1334px pane view backg
  • 在Doctrine 2.2中体现MySQL多态关联

    我将 Doctrine 2 2 0 与 Codeigniter 一起使用 我是 Doctrine 或者一般的 ORM 的新手 我正在基于 YAML 文件设置实体和代理类 效果很好 我在 Doctrine 类中反映数据库中的多态关联时确实遇到
  • 如何在Java游戏中播放声音?

    我使用以下代码成功在 Java 1 5 小程序游戏中播放声音 get an available clip to play it Clip clip null for Clip clipTemp players if clipTemp isO
  • 如何将seaborn轴添加到带有子图的matplotlib图形中?

    我有一个返回seaborn 情节的函数 我想通过循环将多个seaborn图添加到一个图形中 我找到了答案here https stackoverflow com questions 6309472 matplotlib can i crea
  • 使用 .net 紧凑框架进行本地化

    我正在使用 NET Compact Framework 3 5 和 MS Visual Studio 2008 为移动设备 Windows CE 5 0 预装 NET Compact Framework 2 0 开发应用程序 我正在使用内置
  • 无法在 pandas 中使用 dropna 删除 NAN

    我将 pandas 导入为 pd 并运行下面的代码并得到以下结果 Code traindataset pd read csv Users train csv print traindataset dtypes print traindata
  • Javascript 中的多行警报

    这段代码 alert Hello again This is how we n add line breaks to an alert box 不起作用 Firefox JavaScript 控制台将错误命名为 未终止的字符串文字 并指向
  • 以编程方式设置 grunt 任务的选项?

    我有一个繁琐的任务 查看选项grunt option foo 如果我从以下位置调用此任务grunt task run my task 我怎样才能改变这些论点 我正在寻找类似的东西 grunt task run my task foo bar
  • 在条件执行之前从 NHibernate 条件获取 SQL 查询

    我有一个 NHibernate 标准 我需要从中获取 SQL 查询 我尝试了各种方法here https stackoverflow com questions 554481 how to get sql from hibernate cr
  • Polars 从日期时间对象中添加/减去 UTC 偏移量

    我想添加 减去UTC极坐标中日期时间对象的偏移量 通常以小时为单位 但我似乎没有找到实现此目的的方法 鉴于日历年中存在夏令时 UTC 偏移量可以是动态的 例如 EST EDT 映射到 5 4 小时UTC分别偏移 from datetime
  • 创建可以通过拖动背景区域中的任意位置来移动的非矩形表单

    我想通过左键单击并按住背景区域来移动表单窗口 就像我们通常使用标题栏一样 然后我还想将应用程序的表单窗口 即矩形窗口 更改为自定义设计的图形窗口 我在许多其他应用程序中看到过这种类型的窗口 所以我相信这是可能的 问题一 要允许在拖动其客户区
  • 如何使用 Cordova 处理文件?

    注意 此问题被重新发布 因为无论出于何种原因 原始发布者决定在提供并接受答案后将其删除 因此 我再次添加它以保存知识 原问题 我尝试在混合应用程序中使用 apache cordova api 从 localhost 8080 filenam
  • 如何从 CoNLL 格式转换为 spacy 格式

    我目前正在研究 NER 模型 我有一堆以 CoNLL 格式存储的数据 需要转换为 Spacy 格式 在 CoNLL 中 句子的每个单词旁边都有一个标签 在 Spacy 中 标签仅显示给具有实际标签的单词 我如何从下面的这种格式转换 CoNL
  • 为什么 clang 发出 32 位 float ps 指令来获取 64 位 double 的绝对值?

    clang为什么会转fabs double into vandps代替vandpd 就像海湾合作委员会那样 示例来自编译器资源管理器 https gcc godbolt org z TsfW9hrjT include
  • UTC 和 Etc/UTC 时区之间有区别吗?

    在 PHP 文档中 支持的时区列表 http php net manual en timezones others php UTC被列出两次 UTC Etc UTC 这两者之间有概念上的区别吗 或者它们只是同义词 简短回答 NO 有没有不同
  • JCL 安装到 Delphi 10 西雅图时出错

    我正在尝试将 JCL JVCL 安装到 Delphi 10 Seattle 中 我收到以下错误 使用 Embarcadero RAD Studio 10 西雅图 Embarcadero Delphi for Win32 编译器版本30 0
  • PHP 浮动使用的最佳实践

    我读过浮点指南 http floating point gui de languages php 关于在 PHP 中使用 float 类型 答案是使用 BC Math 扩展 使用字符串可以将浮点数表示为精确类型 并防止浮点数和整数问题 同时
  • 从 VBA 中的不同模块调用子例程

    是否可以从一个函数调用一个函数Module到另一个 我有以下代码 Sub MAIN Call IDLE End Sub MAIN位于Module1 IDLE位于Module2并定义为 Sub IDLE 在调用前加上 Module2 前缀 例
  • 使用 SUMO 场景的子集进行 OMNeT++ 网络模拟(使用 VEINS)

    我正在尝试使用 OMNeT Veins 和 SUMO 评估在车载网络上运行的应用程序 因为该应用程序依赖于现实的流量行为 所以我决定使用LuST场景 https github com lcodeca LuSTScenario 这似乎是此类数