Python交通流仿真【含源码】.pdf

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Python交通流仿真 【含源码】 虽然交通并不总是畅通⽆阻,但汽车⽆缝穿越交叉路⼝,在交通信 灯处转弯和停车看起来相当壮观。这种沉思让我思考交通流对⼈类⽂明 的重要性。 在此之后,内⼼的书呆⼦特质让我忍不住思考⼀种模拟交通流的⽅法。我在⼀个涉及交通流量的本科项 ⽬上投⼊了⼏个星期的时间,深⼊到 不同的模拟技术,最终选择了⼀个。 在本⽂中,我将解释为什么交通流模拟很重要,⽐较不同的⽅法来模拟交通流,并呈现仿真结果 (以及源代码)。 1、为什么要模拟交通流? 模拟交通流的主要原因是在没有真实世界的情况下⽣成数据。你可以使⽤软件运⾏模型来预测交通流,⽽不需要在现实世界中安装传感器来 测试新的管理思路如何影响现实世界。这有助于加速交通流系统的优化和数据收集。仿真是实际测试更便宜、更快捷的替代⽅案。 训练机器学习模型需要巨⼤的数据集,这些数据集的收集和处理成本可能很⾼。通过模拟交通流在程序上⽣成数据可以很容易地适应所需的 数据类型。 2、建 模 要分析和优化交通系统,我们⾸先必须对交通系统进⾏数学建模。这种模型应根据输⼊参数 (路⽹⼏何、每分钟车辆、车速等)真实地表⽰ 交通流量。 交通流系统模型通常分为三类,具体取决于它们在哪个级别上运⾏ : 微型模型 :分别代表每辆车,并尝试复现驾驶员⾏为。 宏观模型 :从交通密度 (每公⾥车辆)和交通流量 (车辆每分钟)的⾓度描述车辆的整体移动。它们通常类似于流体的流动。 中观模型 :是结合微观和宏观模型特点的混合模型,将流量建模为车辆的包。 在本⽂中,我将使⽤微观模型。 3、微观模型 在微观模型中使⽤驾驶员模型描述单个驾驶员/车辆的⾏为。因此,它必须是⼀个多代理系统,即每辆车都使⽤来 ⾃其环境的输⼊ ⾃⾏运 ⾏。 在微观模型中,每辆车都编 为i。第i辆车跟随第 (i- 1)辆车。对于第i辆车,我们将⽤xi表⽰其沿路的位置,⽤vi表⽰其速度,以及li表⽰其 长度。每辆车都是如此。 我们将⽤si表⽰保险杠到保险杠的距离,⽤ Δvᵢ 表⽰第i辆车和前⾯的第i- 1辆车之间的速度差异。 4、智能驾驶员模型 (IDM) 2000年,Treiber, Hennecke 和 Helbing开发了智能驾驶员模型,它描述第i辆车的加速度是其变量和前⾯车辆的变量的函数。动态⽅程 的定义为 : 在我解释这个模型背后的直觉之前,我应该先解释下这些符 代表什么。 我们已经谈到了sᵢ, vᵢ, andΔvᵢ。其他参数包括 : s0i :是第i辆车和第i- 1辆车之间的最⼩期望距离。 v0i :是第i辆车的最⼤期望速度. δ:是加速度指数,它控制着加速度的平滑度。 Ti :是第i辆车的驾驶员的反应时间。 ai :是第i辆车的最⼤加速度。 bi :是第i辆车的舒适减速度. s* : 是第i辆车和第i- 1辆车之间的实际期望距离。 ⾸先,我们将看看s* ,这是⼀个距离,它由三部分组成。 s0i :如前所⾔,是所需的最⼩距离。 viTi :是反应时间的安全距离。这是车辆在驾驶员反应 (刹车)前⾏驶的距离。由于速度是随着时间推移⽽保持的距离,距离是速度乘 以时间。 (vᵢ Δvᵢ)/√(2aᵢ bᵢ) :这个有点复杂,这是⼀个基于速度差的安全距离。它表⽰车辆在⾮紧急刹车时 (减速度应⼩于bi),不撞到前⾯的 车辆的前提下所需的距离。 5、智能驾驶员模型的⼯作原理 车辆假定沿着⼀条直道⾏驶,并假定遵守以下⽅程 : 为了更好地了解这个等式,我们可以将其⼀分为⼆。我们有⼀个⾃由道路加速度和交互加速度。 ⾃由道路加速度是 ⾃由道路上的加速,即没有车辆的空路。如果我们绘制加速度作为速度vi的函数,可以得到 : 我们注意到,当车辆静⽌ (vi=0)时,加速是最⼤的。当车速接近最⾼速度时,加速变为 0。这表明,⾃由道路加速度将加速车辆到最⾼速 度。 如果我们绘制不同值的 δ的 v-a 图,我们会注意到它控制驾驶员在接近最⼤速度时减速的速度。这反过来⼜控制了加速度/减速度的平滑 度。 交互加速度与与前⽅车辆的交互有关。为了更好地了解它是如何⼯作的,让我们考虑以下情况 : 在 ⾃由路上 (si s*) : 当前⾯的车辆很远时,即si远远⼤于车辆之间所需的安全距离s* ,交互加速度⼏乎为0。这意味着车辆将受到⾃由道路加速的制约。 在⾼接近速率 ((Δvᵢ) : 当速度差很⼤时,交互

文档评论(0)

liuzhouzhong + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档