【NS3】SUMO安装 (Linux+Windows)

SUMO安装 (Linux+Windows)

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 ../..

完成后运行

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值