道路交通仿真方案【SUMO + TraCI + Python】

news2024/12/24 18:20:33

“城市交通模拟”(SUMO)是一个开源、高度可移植、微观和连续的交通模拟包,旨在处理大型网络(SUMO 文档)。

TraCI 是“交通控制接口”模块的简称,它可以访问正在运行的道路交通模拟,以检索模拟对象的值并“在线”操纵其行为(TraCI 文档)。

在这里插入图片描述

1、安装Python

从这里下载并安装 Python。
在这里插入图片描述

2、安装SUMO

从这里下载并安装 Windows 版SUMO。

3、准备SUMO配置文件

在此练习中,在 user1 主目录中创建文件夹 SUMO(osm.net.xml、osm.passenger.trips.xml、osm.poly.xml、osm.sumocfg.xml 和 osm.view.xml)
在这里插入图片描述

4、安装所需的包

我们需要 TraCI 包来访问 SUMO。

我们还需要 sumolib 包来帮助我们找到主机中的 sumo 二进制文件位置。

pip install traci sumolib

5、运行 TraCI

import sumolib
sumobin=sumolib.checkBinary('sumo')
traci.start([sumobin,'-c','osm.sumocfg'])

在这里插入图片描述

还可以通过 Jupyter 运行 TraCI(使用命令 pip install jupyterlab 安装 Jupyter,然后运行命令 jupyter lab):
在这里插入图片描述

6、使用谷歌Colab

注:这是一个实验。

安装SUMO:

# install SUMO
!add-apt-repository ppa:sumo/stable -y
!apt-get update -y
!apt-get install sumo sumo-tools sumo-doc
#Install Traci
!pip install traci
!pip install sumolib
#Declare the environment variable, SUMO_HOME
#import os
#os.environ['SUMO_HOME'] = "/usr/share/sumo"

运行TraCI:

import sumbolib
import traci

# Connect to SUMO simulation
sumobin=sumo
traci.start([sumobin,'-c','osm.sumocfg'])

# Simulation loop
step = 0
while step < 1000:
    traci.simulationStep()
    # Your simulation logic here
    step += 1

# Close TraCI connection
traci.close()

原文链接:用SUMO进行交通模拟 — BimAnt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1207209.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

理疗养生服务预约小程序要如何做

不少人面对身体症状疼痛&#xff0c;往往不会选择去医院&#xff0c;而是去理疗养生馆&#xff0c;选择艾灸、拔罐、中药贴敷等方式治疗改善或减轻疼痛。随着人们对中医信赖度增强&#xff0c;理疗养生市场增长迅速。 而在增长的同时&#xff0c;我们也注意到理疗养生馆经营痛…

点燃初冬!中海达亮相第一届中国测绘地理信息大会

11月8日&#xff0c;第一届中国测绘地理信息大会在浙江德清国际展览中心拉开帷幕。中海达携“海陆空、室内外”产品以及解决方案亮相展会&#xff0c;受到了与会领导、业界同仁、行业用户的高度关注。 ▲第一届中国测绘地理信息大会开幕式现场 本届大会以“科技引领&#xff0c…

电商平台api接口对接电商数据平台,获取商品详情页面实时信息须知

随着互联网的发展和普及&#xff0c;电商平台已成为人们日常生活中不可或缺的一部分。而为了保证电商平台的正常运行&#xff0c;平台与开发者之间需要进行数据交互&#xff0c;这便涉及到了电商平台API接口对接的问题。本文将详细介绍电商平台API接口对接的须知事项。 一、了解…

【原创】java+swing+mysql车辆维修管理系统设计与实现

摘要&#xff1a; 车辆维修管理系统是一个用于管理和追踪车辆维修过程的系统&#xff0c;它能够提高效率&#xff0c;减少错误&#xff0c;并提供详细的车辆历史记录&#xff0c;可以帮助车辆维修企业实现信息化管理&#xff0c;提高工作效率和客户满意度&#xff0c;降低运营…

RabbitMQ 核心部分之简单模式和工作模式

文章目录 一、Hello World&#xff08;简单&#xff09;模式1.导入依赖2.消息生产者3.消息消费者 二、Work Queues&#xff08;工作&#xff09;模式1.抽取工具类2.启动两个工作线程3.启动一个发送线程4.结果 总结 一、Hello World&#xff08;简单&#xff09;模式 在下图中&…

东北水利水电杂志东北水利水电杂志社东北水利水电编辑部2023年第11期目录

规划设计 导流泄洪洞射流-旋流梯级内消能工竖井出口体型优化 李金宝; 1-371 粉细砂地层防洪结构新形式研究 李泽鑫; 4-6《东北水利水电》投稿&#xff1a;cnqikantg126.com 引绰济辽工程鱼道进鱼口位置选择 银佳男;于月鹏;张鹏; 7-82471 大藤峡水利枢纽工程长期…

CRM销售管理软件哪个好,如何选?(二)

书接上回&#xff0c;我们从软件功能和厂商实力为大家介绍了CRM销售管理软件哪个好&#xff1f;该如何选型的难题&#xff0c;除了以上两点还有那些不容忽视的要素呢&#xff1f; 灵活性 CRM销售管理软件是企业信息化建设的中心&#xff0c;需要和其它企业管理应用进行集成实…

Python使用Mechanize库完成自动化爬虫程序

Mechanize是一个Python第三方库&#xff0c;它可以模拟浏览器的行为&#xff0c;实现自动化的网页访问、表单填写、提交等操作。下面是一个使用Mechanize库编写的爬虫的例子&#xff0c;它可以爬取百度搜索结果页面的标题和链接&#xff1a; import mechanize from bs4 import …

将铜互连扩展到2nm的研究

晶体管尺寸在3nm时达到临界点&#xff0c;纳米片FET可能会取代finFET来满足性能、功耗、面积和成本目标。同样&#xff0c;正在评估2nm铜互连的重大架构变化&#xff0c;此举将重新配置向晶体管传输电力的方式。 芯片制造商也可能会在2nm节点开始用钌或钼在一定程度上取代铜。…

一寸证件照排版工具,在线将证件照排版在相纸上

证件照是我们经常使用到的一种办事资料&#xff0c;考试报名和办理个人证件都是需要的&#xff0c;很多时候需要纸质照片&#xff0c;如果我们手头有打印机的话就很方便了&#xff0c;但相纸都是固定尺寸的例如5寸、6寸相纸&#xff0c;而数码证件照的尺寸则不固定&#xff0c;…

第二证券:被举牌一般会有几个涨停?

跟着股市的昌盛&#xff0c;越来越多的人初步查验出资&#xff0c;而其中一个备受注重的策略就是“举牌”。举牌是指某个股东对股票达到了必定比例的控制权&#xff0c;并告诉公司的一种行为。这种行为除了会对公司股价构成影响之外&#xff0c;还可以让股民猜疑和进一步价格走…

蓝牙特征值示例1-迈金L308自行车尾灯夜骑智能表情尾灯的

了解商品级蓝牙特征值 1 服务器&#xff08;设备&#xff09;描述 0x02-01-06 05-03-0F180A18 09-FF-FFFF166B001C0101 0A-09-4C3330385F37393937 01设备标识 03服务UUID FF厂商自定义数据(厂家编号&#xff1a;FFFF-166B001C0101) 完整设备名称&#xff1a; L308-7997 2 服…

Vue 3.0 + vite + axios+PHP跨域问题的解决办法

最后一个Web项目&#xff0c;采用前后端分离。 前端&#xff1a;Vue 3.0 viteelement plus 后端&#xff1a;PHP 运行时前端和后端是两个程序&#xff0c;前端需要时才向后端请求数据。由于是两个程序&#xff0c;这就会出现跨域问题。 比如前端某个地方需要请求的接口如下…

51单片机+DS1302设计一个电子钟(LCD1602显示时间)

一、前言 电子钟是一种能够准确显示时间的设备&#xff0c;广泛应用于家庭、办公场所和公共场所&#xff0c;为人们提供了方便和准确的时间信息。本项目设计一个基于51单片机的电子钟&#xff0c;使用DS1302作为RTC时钟芯片&#xff0c;LCD1602作为显示屏&#xff0c;并通过串…

安装MinGW并在codeblocks下使用

一、下载安装MinGW 1.下载MinGw安装器&#xff0c;下载地址 2. 安装 下载下来的知识一个安装器&#xff0c;我们双击安装会帮我们自动下载好相关文件 安装完成后会打开一个安装管理工具&#xff0c;在这个工具中我们选中想要安装的软件包然后安装到本地 选好以后在菜单栏选…

员工电脑监控的方法有哪些

有人在后台问&#xff0c;员工电脑监控的方法有哪些&#xff1f; 其实主要包括以下几方面&#xff1a;1&#xff09;安装监控软件 2&#xff09;使用操作系统自带的工具 3&#xff09;部署网络监控设备 4&#xff09;定期检查电脑 5&#xff09;制定严格的规章制度 因为内容比…

DISSECT

XAE 学习架构 OGB means ‘Orthogonal Gate Block’&#xff0c;shared (A ∗ ^∗ ∗, B ∗ ^∗ ∗) and unshared (A ⊥ ^⊥ ⊥, B ⊥ ^⊥ ⊥) information&#xff0c;Φ是编码器&#xff0c;Ψ是解码器 辅助信息 作者未提供代码

【ERROR】ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND No package.json

1、报错 启动项目的时候&#xff0c;报这个错误&#xff0c;是因为根目录错误&#xff0c;查看&#xff0c;根目录是否错误。

Java系列之 查看某一部分代码执行时间长短

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 System.currentTimeMillis();//获取当前的总…

【运维 监控】Grafana + Prometheus,监控Linux

安装和配置Grafana与Prometheus需要一些步骤&#xff0c;下面是一个简单的指南&#xff1a; 安装 Prometheus&#xff1a; 使用包管理器安装 Prometheus。在 Debian/Ubuntu 上&#xff0c;可以使用以下命令&#xff1a; sudo apt-get update sudo apt-get install prometheus在…