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 ../..
完成后运行