静脉中的行人模拟 (omnet++/sumo)

2023-12-01

我正在尝试在 omnet++ 中运行相扑行人模拟。为了保持简单(我是初学者)我决定使用Erlangen示例提供了静脉并用几个行人扩展它。我添加了相扑中的行人并运行它。它工作得很好:你可以看到这张照片中的行人和汽车

接下来我尝试在 omnet++ 中运行整个过程。我也设法做到了这一点,但没有显示行人。只是汽车。我读了这两个主题:

  • Veins 中汽车和行人之间的通信
  • 静脉 多种车辆类型的多种应用

并将这些行添加到omn​​etpp.ini示例的:

*.manager.moduleType = "vtype0=org.car2x.veins.nodes.Car ped_pedestrian=org.car2x.veins.nodes.Pedestrian"
*.manager.moduleName = "vtype0=carNode ped_pedestrian=pedestrianNode"
*.manager.moduleDisplayString = "vtype0=carNode ped_pedestrian=pedestrianNode"

我还改变了“节点”的每一个外观omn​​etpp.ini到“carNode”并为“pedestrianNode”创建新条目,我复制了Car.ned文件并将文件名更改为行人专用并将模块名称设置为“Pedestrian”。然后我再次运行整个过程,但除了汽车的图像(如模拟所示)变为灰色框之外,没有任何变化。

为什么没有显示行人? (我错过了什么?) 我是否必须告诉静脉(或相扑)将行人位置传达给 omnet++? 为什么模拟中的汽车图标变成了灰色方框?

以下是我添加/修改的文件:

  • omn​​etpp.ini
  • 行人专用

Edit:

我研究了TraCI 定义并调试了【静脉源代码】。我发现这些行完成订阅的代码:

{
    // subscribe to list of departed and arrived vehicles, as well as simulation time
    simtime_t beginTime = 0;
    simtime_t endTime = SimTime::getMaxTime();
    std::string objectId = "";
    uint8_t variableNumber = 7;
    uint8_t variable1 = VAR_DEPARTED_VEHICLES_IDS;
    uint8_t variable2 = VAR_ARRIVED_VEHICLES_IDS;
    uint8_t variable3 = commandInterface->getTimeStepCmd();
    uint8_t variable4 = VAR_TELEPORT_STARTING_VEHICLES_IDS;
    uint8_t variable5 = VAR_TELEPORT_ENDING_VEHICLES_IDS;
    uint8_t variable6 = VAR_PARKING_STARTING_VEHICLES_IDS;
    uint8_t variable7 = VAR_PARKING_ENDING_VEHICLES_IDS;
    TraCIBuffer buf = connection->query(CMD_SUBSCRIBE_SIM_VARIABLE, TraCIBuffer() << beginTime << endTime << objectId << variableNumber << variable1 << variable2 << variable3 << variable4 << variable5 << variable6 << variable7);
    processSubcriptionResult(buf);
    ASSERT(buf.eof());
}

{
    // subscribe to list of vehicle ids
    simtime_t beginTime = 0;
    simtime_t endTime = SimTime::getMaxTime();
    std::string objectId = "";
    uint8_t variableNumber = 1;
    uint8_t variable1 = ID_LIST;
    TraCIBuffer buf = connection->query(CMD_SUBSCRIBE_VEHICLE_VARIABLE, TraCIBuffer() << beginTime << endTime << objectId << variableNumber << variable1);
    processSubcriptionResult(buf);
    ASSERT(buf.eof());
}

我将其与相扑维基上的 TraCI 文档进行了比较:
* 模拟订阅的第一个区块:https://sumo.dlr.de/wiki/TraCI/Simulation_Value_Retrieval
* 车辆订阅的第二段代码:https://sumo.dlr.de/wiki/TraCI/Vehicle_Value_Retrieval

在我看来,行人不包括在那里,因为人/行人有不同的 api (https://sumo.dlr.de/wiki/TraCI/Person_Value_Retrieval)未在订阅页面列出(https://sumo.dlr.de/wiki/TraCI/Object_Variable_Subscription).

我在进行个人订阅的静脉源代码中遗漏了什么吗?

甚至可以订阅 TraCI 中的人员吗?


你是绝对正确的。从静脉 5a1 开始,行人 (PersonsVeins 不支持开箱即用的 SUMO 术语),这意味着用户需要编写额外的代码。

对于内部项目,我们只是克隆了处理车辆订阅的代码,在适当的情况下替换了类和变量名称

(i.e., CMD_SUBSCRIBE_PERSON_VARIABLE=0xde for ID_LIST,然后订阅VAR_POSITION等对于每个新人,并通过调用对这些变量的变化做出反应addModule and nextPosition).

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

静脉中的行人模拟 (omnet++/sumo) 的相关文章

  • SUMO交通仿真-核心概念和基础知识速览

    文章目录 sumo环境变量设置注意事项路网配置JOSM对地图进行 96 清洗 96 交通需求建模route amp trip输入数据方法流量路由分配 检测线圈车辆属性设置速度分布 特殊设置驾驶员状态事故仿真 仿真运行设置sumocfg 输出
  • Sumo 搭建交叉路口交通流仿真平台

    Sumo安装 注意事项 xff1a 需要工具的使用需要环境变量的设置 需要包含文件Sumo安装路径下的bin和tools Sumo配置文件 Sumo中项目的配置文件的组成如下所示 节点文件 图 1 节点及边的拓扑图 Node的属性主要有id
  • sumo设置公交车站_SUMO 中的交通信号灯设置

    引言 交通信号灯的控制是智能交通系统的核心问题之一 本文主要介绍 SUMO 中交通信号灯的设置方法和各参数含义 详细说明可以参考官网教程 基本设置 traffic light 可以在 netedit 中设置 xff0c 也可以通过 addi
  • SUMO 使用netconvert报错解决办法

    SUMO 使用netconvert报错 问题描述正确解决方法不适用的解决方法 问题描述 刚开始学习使用sumo xff0c 版本是sumo1 8 0 第一次使用netconvert转换地图时出现报错 xff0c 提示没有PROJ Libra
  • SUMO入门(三) - 抽象路网生成(NETGENERATE)

    SUMO入门 三 抽象路网生成 Networks Abstract Network Generation NETGENERATE允许生成三种类型的抽象网络 xff1a 网格grid xff0c 蜘蛛spider xff0c 随机random
  • SUMO入门(四) - 需求建模 车辆和路线的定义

    SUMO入门 四 需求建模 车辆和路线的定义 Demand Introduction to demand modelling in SUMO 在生成网络之后 xff0c 可以使用SUMO GUI来查看它 xff0c 但是没有汽车可以行驶 人
  • 仿真平台sumo:随机生成车流的randomTrips.py的较便捷使用方法(新手用)

    Step1 xff1a 首先把需要的地图文件 xff08 net xml xff09 放入自己认为方便操作的文件夹中 此处我的地图文件为demo net 我将其放在一个桌面新建的文件夹里 xff0c 该文件夹叫sumo random 图1
  • sumo教程 Hello World

    sumo教程 Hello World 注意事项 确保安装的sumo版本至少为1 4 0 以便能够使用本教程中显示的所有功能 要求 sumo gui和netedit的版本大于等于1 4 0 介绍 这个教程服务于第一次使用sumo的人员 我们准
  • SUMO输出文件设置

    1 fcd浮动车数据输出 轨迹数据输出 sumo c demo sumocfg fcd output fcd1 xml 2 设置E3检测器 E3检测器简介 Multi Entry Exit Detectors xff08 E3 xff09
  • SUMO学习

    SUMO学习 SUMO简介1 车道模型2 跟驰模型跟驰模型CACC 3 变道模型1 Strategic change 战略变道2 Cooperative change 协同变道3 Tactical change 战术变道4 Obligato
  • SUMO 设置速度后正常行驶

    先附上traci vehicle setSpeed vehID speed 的使用说明 xff1a setSpeed self vehID speed 在最后一步中为命名车辆设置速度 xff08 以 m s 为单位 xff09 以 spee
  • 【NS3】SUMO安装 (Linux+Windows)

    SUMO安装 xff08 Linux 43 Windows xff09 文章目录 SUMO安装 xff08 Linux 43 Windows xff09 Windows安装OSMWebWizard 与NS3选项设置车辆与需求设置文件生成 L
  • 将静脉坐标转换为 GPS

    我正在使用从以下位置导入的真实街道网络打开街道地图用于静脉模拟 例如卢森堡情景来自拉拉 科德卡 现在 为了准备可视化 使用 Google Earth 我想将模拟中的车辆位置从 SUMO 或 OmNET 坐标导出到 GPS 坐标 作为材料 我
  • 使用 omnet++ 查找内存分配错误

    我正在 omnet 和静脉 v2 0 rc1 下进行网络模拟 为此我实验了 4 个场景 每个场景都重复 20 次 在模拟第三个和第四个场景时 我遇到了一些错误 我猜这是一个内存分配错误 它们共享一个共同的功能 ack 对于相关模拟 它正常启
  • 在运行时更改一组特定车辆的传输信号强度

    我开始 大约一周以来 在 omnet 5 0 下使用静脉 4 4 我目前的任务是让车辆根据具体情况调整其传输范围 我确实阅读了很多像这样的问题 以及在其他主题 论坛中 ieee802 11p模块中的动态传输范围 车辆接收 RSU 范围外的信
  • 如何将标准容器作为字段添加到 OMNet++ 消息中?

    我正在尝试创建一个简单的消息定义包含一个使用实现的字段std vector 根据OMNet 5 5 手册第 1 章6秒 8 1 这看起来很简单 However I m using OMNet 6 0pre6 I can t figure o
  • 如何在 OMNeT++ 仿真过程中更改网络配置?

    我想修改element的一些参数 iniOMNeT 中的文件 例如模拟运行期间节点的传输速率 例如当节点收到一些控制消息时 我发现信息表明可以以某种方式循环配置 如下所示 一些变量 几个值 但是里面没有条件子句 ini文件 并且无法将来自
  • 如何在 OMNeT++ 中创建随机连接图?

    我正在尝试创建一个具有随机连接节点的图 节点应该随机连接 如果一个节点已经连接到另一个节点 则不应使用不同的连接再次连接到同一节点inout port 在文档中 https doc omnetpp org omnetpp manual se
  • 尝试使用 INET 引用创建新项目,在 .msg 文件中得到:“unexpected NAME, waiting $end”

    我创建了一个项目 其中包含我的链路层和模拟源代码 该项目以 INET 作为项目参考 在构建时 我收到此错误 错误 语法错误 意外的名称 期望 end 它来自消息文件 包含消息类型 import inet common INETDefs 我的
  • 有没有办法将多个 TraCI 模块连接到 OMNet++/veins 模拟?

    要启动任何静脉模拟 需要使用 Veins launchd 守护进程 它基本上采用 sumo 配置文件 找到未使用的端口 启动 sumo 并桥接 sumo 和 OMNet 之间的连接 现在 由于这是基于套接字的通信 我想连接一个单独的 Tra

随机推荐

  • 在QFileDialog pyqt5中选择文件或文件夹

    我的脚本当前使用 QtWidgets QFileDialog getOpenFileNames 让用户在 Windows 资源管理器中选择文件 现在我想知道是否有办法让他们也选择文件夹 而不仅仅是文件 有一些类似的帖子 但没有一个提供有效的
  • 如何在Web浏览器上部署swing应用程序?

    我开发了一个大型秋千应用程序 有几个类 每个类都创建自己的类JFrame同时关闭上一个称为此类的类 我希望将其部署到网络浏览器中 并了解我需要将其转换为小程序 我是否必须在每个类中添加用于创建小程序的代码 或者还有其他方法吗 在我目前的情况
  • 使用 SSO(例如 Keycloak),如何处理/同步自己数据库中的用户?

    考虑以下场景 您有一个 SSO 服务 比方说 Keycloak 和 X 应用程序 它们有自己的数据库 在每个数据库的某个位置 您引用一个user id 这要怎么处理呢 如何解决外来约束问题 是否应该同步 Keycloak 和应用程序 如何
  • Visual Studio Express 抱怨缺少“;”输入c程序后

    我的代码有什么问题 include
  • 计算本周星期一的日期

    目标 如果当前星期几是星期一以外的任何一天 则显示本周星期一的日期 如果本周的当天是星期一 则只需显示今天的日期 这是我写的 我认为它有效 但可能不是确定日期的最干净的方法 话虽如此 有没有人看到代码错误或不起作用的任何原因
  • 如何添加尚未在plugins.cordova.io上注册的cordova插件?

    喜欢这些插件 https github com ArchieGoodwin SilentShot https github com alongubkin phonertc 他们没有 tarball 网址 cordova plugin add
  • 如何将 Unity 与内部类一起使用?

    我有一个 Web API 应用程序 并使用 Unity 进行依赖项注入 该应用程序使用包含接口 IDoStuff 和实现该接口的类的库 internal interface IDoStuff void DoSomething interna
  • 将txt的特定行放入数组中

    我正在为我的 C 课程制作一个 谁想成为百万富翁 游戏 我有 15 篇文章 每篇有 3 个问题 答案 例子 Whats the capital of Brasil Rio de Janeiro Brasilia Sao Paulo Curi
  • 评估转义字符串

    我的文件中有一些已经转义的字符串 所以文件的内容如下所示 Hello nWorld This is tGreat 当我阅读该文件时 我得到 n作为两个不同的角色而不是一个 如何将转义字符串转换为非转义字符串 基于 deAtog的代码 我做了
  • 设置单元格 (n) 颜色索引等于单元格 (n - 1) 颜色索引

    我从这个宏中得到了一个奇怪的输出 宏应该使用上面的颜色填充空白单元格 创建一个颜色块 结果不是我所期望的 尽管Debug Print显示相同ColorIndex number 知道这里发生了什么吗 Option Explicit Sub C
  • 如何从 BigQuery 中的 Openstreet 地图数据集中提取所有国家/地区几何图形

    我正在使用此查询使用 OSM 提取所有国家 地区的几何形状 它工作正常 但我确信 它正在创建重复项 因为我使用国旗作为参考 有些地方有国旗 但它们并不是真正的国家 地区 SELECT feature type osm id osm time
  • 从 Eclipse 中使用自定义 Firefox 配置文件启动 Selenium

    我正在 Eclipse 中运行 Selenium 测试 但无法加载自定义 Firefox 配置文件 大多数消息来源建议我需要像这样启动 Selenium 服务器 java jar selenium server jar firefoxPro
  • 使用 Entity Framework 4 在运行时打开 SQL CE 文件

    我正在开始使用 Entity Framework 4 并创建一个演示应用程序作为学习练习 该应用程序是一个简单的文档生成器 它使用 SQL CE 存储 每个文档项目都有自己的 SQL CE 数据文件 用户打开这些文件之一来处理项目 EDM
  • 正确的用户输入 - x86 Linux 汇编

    所以我正在使用 NASM 为 Linux 开发一个 x86 汇编程序 该程序主要询问用户的姓名和最喜欢的颜色 执行此操作并将两个字符串存储在 bss 部分中声明的变量中后 程序会打印 No way用户名 最喜欢的颜色也是我最喜欢的颜色 我遇
  • 如何使用Python计算目录中的文件数量

    我如何只计算files在目录中 这将目录本身算作一个文件 len glob glob os listdir 会比使用稍微更有效glob glob 要测试文件名是否是普通文件 而不是目录或其他实体 请使用os path isfile impo
  • 在单独的页面中打印 Javascript? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我目前正在使用 PHP 并获取完整的用户详细信息并将其显示到 html 表中 我遇到的问题是 当我打印 3 个表格时 每个表格都完美地打印在每页上
  • 为什么在更改 main 的签名时会出现段错误?

    我试图涉足 C 语言 并编写了这个程序 在随机位置显示我的 RAM 的 kb 这是代码 并且运行良好 include
  • 哪个 DLL 具有 Windows.Devices.Gelocation 命名空间?

    我正在使用 VS 2012 我需要编写使用 Windows Devices Gelocation 命名空间中的类的代码 我下载了示例程序 但它无法在 VS2012 中加载 因为它需要 VS 2013 并且该类的文档没有指示该命名空间位于哪个
  • Android 有准确的重复闹钟系统吗?

    背景 I m currently developing an application for Android which revolves around an alarm that goes of on an user specified
  • 静脉中的行人模拟 (omnet++/sumo)

    我正在尝试在 omnet 中运行相扑行人模拟 为了保持简单 我是初学者 我决定使用Erlangen示例提供了静脉并用几个行人扩展它 我添加了相扑中的行人并运行它 它工作得很好 你可以看到这张照片中的行人和汽车 接下来我尝试在 omnet 中