【NS3】SUMO安装 (Linux+Windows)

2023-05-16

SUMO安装 (Linux+Windows)

文章目录

  • SUMO安装 (Linux+Windows)
    • Windows
      • 安装
      • OSMWebWizard 与NS3
        • 选项设置
        • 车辆与需求设置
        • 文件生成
    • Linux
      • 安装所需环境
      • 下载文件
      • 设置环境变量
      • 使用 cmake 构建 SUMO 二进制文件

Windows

安装

官网下载安装包,一件安装

OSMWebWizard 与NS3

要求python>=2.7

OSM Web 向导提供了从 SUMO 开始的最简单的解决方案之一。根据选择的 openstreetmap 地图摘录,您将能够配置随机流量需求,并在sumo-gui中运行和可视化场景。

在sumo\tools 下运行

python osmWebWizard.py

可以设定地图、车辆的细节

选项设置

地图细节

  • 默认情况下,选中“添加多边形”复选框并生成道路交通模拟,但也会导入所有类型的道路和铁路(自行车道、人行道、铁路等)
  • 如果启用“左手交通”复选框,则网络将使用左手交通规则构建。对于大多数需要此功能的地理区域,此功能将自动启用,但如果它不起作用,则可以使用此选项作为补救措施。
  • 如果启用**“仅限汽车网络”复选框,则仅包括允许乘用车通行的道路。这可用于减少网络规模,也有助于降低交叉路口的复杂性**
  • 如果启用了“导入公共交通”复选框,则将导出 busStops 和 trainStops。还将生成遵循 OSM 中定义的公共交通路线的公共汽车、有轨电车和火车(但它们将遵循综合时间表)。
  • 如果需求复选框“自行车”处于活动状态,那么额外的自行车道将添加到 OSM 包含此信息的道路
  • 如果需求复选框“行人”处于活动状态,则将生成人行道和人行横道

车辆与需求设置

选项

SUMO 支持各种运输方式。在需求生成面板上,您可以通过单击相应的复选框来激活/停用各个运输方式。对于每种运输方式,OSM Web 向导会根据一定的概率分布生成随机需求,该概率分布受两个参数的影响:

  • 每次生成新车辆时,OSM Web 向导都会随机选择车辆的出发和到达边缘。通过流量因子定义了与完全位于模拟区域内的边缘相比,选择模拟区域边界处的边缘更有可能出现多少倍。较大的通过流量因子值意味着许多车辆离开并到达模拟区域的边界,这对应于具有大量通过流量的场景。

  • Count

    参数定义每小时和车道公里产生的车辆数量。假设

    • 该网络包含 3 条边,总长度为 5 公里
    • 每个都有 2 条车道,允许当前的交通模式
    • 并且计数值设置为90,
    • 那么每小时将产生 5 * 2 * 90 = 900 辆汽车。这转换为 p=4 的 randomTrips 参数,这意味着每 4 秒在网络中的某处插入一辆新车。

文件生成

单击控制面板中的“生成场景”后,将自动生成完整的场景。场景生成需要几秒钟或几分钟(取决于场景的大小等)。一旦场景生成过程完成,sumo-gui 就会启动,并且可以通过按下Play按钮启动模拟。

OSM Web 向导将整个模拟场景 sumo 配置和中间文件存储在本地目录中,名称格式为 yyyy-mm-dd-hh-mm-ss。如果您的 SUMO 安装位置是可写的,则数据将存储在tools目录中。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-808z7uRF-1645792902960)(img\1.01.jpg)]

在该目录下执行

sumo -c osm.sumocfg --fcd-output trace.xml

将osm.sumocfg 导出为trace.xml

返回sumo\tools目录,同时把trace.xml放在该目录下,执行

 python traceExporter.py -i trace.xml --ns2mobility-output=mobility.tcl

获得ns3可以使用的tcl文件

在ns3中,对ns2-mobility-trace进行一些修改后,以tcl为本,运行。

./waf --run "scratch/ns2-mobility-trace --traceFile=/home/kali/Desktop/mobility.tcl  --nodeNum=30 --duration=60.0 --logFile=ns2-mob.log"

生成一个xml文件,该文件可用NetAnim运行。

(NetAnim的安装见另一篇文章https://blog.csdn.net/qq_42817577/article/details/123138959)

Linux

安装所需环境

 sudo apt-get install git cmake python3 g++ libxerces-c-dev libfox-1.6-dev libgdal-dev libproj-dev libgl2ps-dev python3-dev swig default-jdk maven libeigen3-dev

下载文件

git clone --recursive https://github.com/eclipse/sumo

设置环境变量

假设你将 SUMO 放在文件夹“ /home//sumo- ”中,如果您只想为当前会话定义,请在控制台中键入

export SUMO_HOME="/home/<user>/sumo-<version>"

可以检查 SUMO_HOME 是否已成功设置

echo $SUMO_HOME

控制台显示“/home//sumo-”

使用 cmake 构建 SUMO 二进制文件

在sumo的根文件夹中为cmake创建一个文件夹

mkdir build/cmake-build
cd build/cmake-build

使用cmake构建sumo

cmake ../..

完成后运行

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

【NS3】SUMO安装 (Linux+Windows) 的相关文章

  • SONAR - 使用 Cobertura 测量代码覆盖率

    我正在使用声纳来测量代码质量 我不知道的一件事是使用 Cobertura 测量代码覆盖率的步骤 我按照以下步骤操作http cobertura sourceforge net anttaskreference html http cober
  • 在 Linux 上的 Python 中使用受密码保护的 Excel 工作表

    问题很简单 我每周都会收到一堆受密码保护的 Excel 文件 我必须解析它们并使用 Python 将某些部分写入新文件 我得到了文件的密码 当在 Windows 上完成此操作时 处理起来很简单 我只需导入 win32com 并使用 clie
  • 如何在子 shell 中运行 cmd.exe 批处理文件

    我有一个批处理文件 通常像这样调用 longjob cmd gt result txt 2 gt 1 这工作正常 但脚本在执行过程中更改了目录 将我的 shell 留在该目录中 这很麻烦 有没有办法在子 shell 中运行命令 同时仍然允许
  • PHP 致命错误:未找到“MongoClient”类

    我有一个使用 Apache 的网站 代码如下 当我尝试访问它时 我在 error log 中收到错误 PHP Fatal Error Class MongoClient not found 以下是可能错误的设置 但我认为没有错误 php i
  • Boost + Visual Studio 2010 + Windows 平台 SDK 7.1

    有人可以告诉我 bjam 的命令行开关或其他可以使用新的 Windows Platform SDK 7 1 工具链使用 VS2010 进行 boost 编译的东西吗 您可以在普通的视觉工作室项目中设置该选项 默认值是 v100 是平台 7
  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • 在 Mac OS X 上构建 Linux 内核

    我正在做一个修改Linux内核的项目 我有一台桌面 Linux 机器 在上面构建内核没有问题 不过 我要去旅行 我想在途中工作 我只有一台 MacBook 当我尝试构建 Linux 内核时 它抱怨说elf h was not found 我
  • 如何使用 python 在 Windows 中禁用/启用特定 USB 端口? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想在图形窗口中创建一个切换开关 可以使用 python 禁用 启用 Windows 中的特定 USB 端口 我可以使用哪个外部命令或
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • Elasticsearch 无法写入日志文件

    我想激活 elasticsearch 的日志 当我运行 elasticsearch 二进制文件时 我意识到我在日志记录方面遇到问题 无法加载配置 这是输出 sudo usr share elasticsearch bin elasticse
  • 创建 jar 文件 - 保留文件权限

    我想知道如何创建一个保留其内容的文件权限的 jar 文件 我将源代码和可执行文件打包在一个 jar 文件中 该文件将在使用前提取 人们应该能够通过运行批处理 shell 脚本文件立即运行示例和演示 然后他们应该能够修改源代码并重新编译所有内
  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs
  • 强制卸载 NFS 安装目录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 跟踪 Linux 程序中活跃使用的内存

    我想跟踪各种程序在特定状态下接触了多少内存 例如 假设我有一个图形程序 最小化时 它可能会使用更少的内存 因为它不会重新绘制窗口 这需要读取图像和字体并执行大量库函数 这些对象仍然可以在内存中访问 但实际上并没有被使用 类似的工具top它们
  • 如何使用 xterm.js 创建基于 Web 的终端以 ssh 进入本地网络上的系统

    我偶然发现了这个很棒的图书馆xterm js https xtermjs org 这也是 Visual Studio Code 终端的基础 我有一个非常普遍的问题 我想通过基于网络的终端 不在网络中 可能位于 aws 服务器上 访问本地网络
  • 如何使用 PowerShell 扩展 ZIP 存档(UTF-8 文件名)

    我的 zip 存档有一个文件 P re No l txt 该 zip 可以通过 Windows 文件资源管理器 7 Zip 或我尝试过的任何其他工具很好地扩展 但我不知道如何从 PowerShell 中做到这一点 显然我已经尝试过展开 存档
  • Rails Windows Vagrant 响应时间非常慢

    我在跑 Vagrant 1 7 1 Rails 4 1 4 Thin 1 6 1 Windows 7 每个静态文件的发送时间都超过一秒 在我的 PC 上加载一个页面可能需要大约 20 秒 而在同事的 Linux 机器上则只需瞬间 有一些帖子
  • 串行 I/O 与 Windows/Windows CE 重叠/不重叠

    抱歉 这不是一个大问题 但更多的是帮助那些在这些特定问题上遇到问题的人 我正在解决的问题需要使用串行 I O 但主要在 Windows CE 6 0 下运行 然而 最近有人问我该应用程序是否也可以在 Windows 下运行 所以我开始着手解
  • 在Windows 7上安装curl后缺少libcurl-4.dll

    按照这个人的安装curl后指示 https stackoverflow com a 28757477 1186038 除了第 2 步 已安装Win64 OpenSSL v1 0 1u 轻型相反 因为下载页面中缺少版本 k http slpr
  • 如何创建向后兼容 Windows 7 的缩放和尺寸更改每显示器 DPI 感知应用程序?

    我是 WPF 和 DPI 感知 API 的新手 正在编写一个在 Windows 7 8 1 和 10 中运行的应用程序 我使用具有不同每个显示器 DPI 设置的多个显示器 并且有兴趣将我的应用程序制作为跨桌面配置尽可能兼容 我已经知道可以将

随机推荐

  • pyqt5 嵌于主界面状态栏的进度条

    写在前面 放在状态栏处的进度条 本想放在主界面 xff0c 但是没找到相关代码 代码 span class token comment coding utf 8 span span class token keyword from span
  • 分布式文件系统-HDFS

    主要内容 xff1a HDFS是什么 xff1f HDFS优点HDFS架构副本机制 1 HDFS是什么 xff1f 是由Hadoop实现的一个分布式的文件系统 xff08 Hadoop Distributed File System xff
  • 让我们来做一个属于自己的浏览器主页吧!

    对于我们程序员来说每天最常用的就是浏览器 因为像google 百度 火狐 必应这些浏览器的主页不太美观壁纸也很少 xff0c 所以我做了一个浏览器主页 xff0c 目前做的功能比较少后续会慢慢完善 xff0c 先给大家展示一下 废话少说我们
  • 卷积的过程

    span class token comment usr bin env python span span class token comment coding utf 8 span span class token comment aut
  • 使用Realsense D435i运行VINS-Fusion并建图

    1 安装VINS 到github xff1a VINS xff0c 按照说明安装依赖和编译vins ceres别装2 0版本 xff0c 装1 4 开始装的2 0遇到错误error integer sequence is not a mem
  • 使用AT命令获取本机号码

    我之前认为手机号码与SIM卡是一一对应的 xff0c 后来想想不对 xff0c 因为有换卡不换号的情况啊 xff0c 所以SIM卡应该只是一个电话号码的储存介质 xff0c 而与SIM卡一一对应的是另一个编码 IMSI xff08 国际移动
  • linux系统中的临时文件

    1 什么是临时文件 下载和安装 39 卸载软件 打开电子邮件和即时消息程序中的文件或传输文件时创建 通常 xff0c 创建临时文件的程序会在完成时将其删除 xff0c 但有时候这些文件会被保留 一段时间后 xff0c 这些废弃的临时文件 x
  • linux中的网络配置之网关

    1 网关 网关 Gateway 又称网间连接器 协议转换器 网关在网络层以上实现网络互连 xff0c 是复杂的网络互连设备 xff0c 仅用于两个高层协议不同的网络互连 网关既可以用于广域网互连 xff0c 也可以用于局域网互连 网关是一种
  • python网络爬虫(爬取bilibili一位up的视频标题,评论数量等基本信息)

    对爬虫还挺有兴趣的 xff0c 但是一直没有尝试过 xff0c 今天看了几篇写得非常好的博客 xff0c 学到了一丢丢 xff0c 自己也写了个简单的爬虫娱乐娱乐 1 分析需求 需求 xff1a 爬取b站up主王老菊所有视频投稿的编号 xf
  • Python面向对象结合第三方库pygame的练习----贪吃蛇小游戏

    今天看到几个关于pygame模块的博客和视频 xff0c 感觉非常有趣 xff0c 这里照猫画虎写了一个贪吃蛇小游戏 xff0c 目前还有待完善 xff0c 但是基本游戏功能已经实现 xff0c 下面是代码 xff1a 导入模块 impor
  • Python实现爬取全国疫情数据和地区疫情查询

    一个小小的爬虫程序 xff0c 练练手 xff0c 没什么实际作用 xff0c 希望疫情赶快过去 1 获取url 以腾讯的疫情动态作为来源 xff0c 寻找包含疫情数据的url xff1a 经过寻找 xff0c 发现包含疫情数据的url为
  • 部署LNMP并利用LNMP搭建wordpress论坛

    1 LNMP是什么 xff1f LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写 L指Linux xff0c N指Nginx xff0c M一般指MySQL xff0c 也可以指MariaDB xff0c P一般
  • Redis(一)redis实现主从复制以及sentinel模式部署

    1 什么是redis redis是一个key value存储系统 和Memcached类似 xff0c 它支持存储的value类型相对更多 xff0c 包括string 字符串 list 链表 set 集合 zset sorted set
  • Redis(二)搭建redis集群

    1 为什么需要redis集群 xff1f 单个redis存在不稳定性 当redis服务宕机了 xff0c 就没有可用的服务了 单个redis的读写能力是有限的 2 redis集群概述 redis集群中 xff0c 每一个redis称之为一个
  • 部署Harbor私有镜像仓库

    1 什么是Harbor Harbor的中文意思是港湾 xff0c 在这里它指的是一个用于存储Docker 镜像的企业级Resitry服务 xff0c 它是由VMware公司开源的Docker Registry管理项目 xff0c 包括权限管
  • sumo入门-保姆级教程

    SUMO学习 入门篇 1 安装SUMO 在sumo官网 xff08 https sumo dlr de docs Downloads php xff09 安装即可 xff0c 为省略不必要的困扰 xff0c 推荐安装在C盘 xff0c xf
  • CAS 服务端的搭建

    上文讲了CAS客户端 xff0c 本文记录CAS Server的搭建步骤 CAS Server的版本一定要选好 xff0c 我选的是CAS5 3 xff0c Java版本用的8 xff0c 目前最新的CAS6 5的Java版本最低是11了
  • SUMO 换道设置,靠右行驶

    vType中设置换道参数 xff0c 解决仿真中车辆一直靠右行驶和无脑逮着一个进口道走等情况 lt vType id 61 34 type1 34 accel 61 34 0 8 34 decel 61 34 4 5 34 sigma 61
  • 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