有限条件下编队协同驾驶的仿真开发(三)——Plexe论文详读以及关于其可行性讨论

本文详细解读了Plexe在协同驾驶仿真中的角色,尤其是CACC模型的应用,以及在处理复杂交通流背景下的加入编队任务。作者探讨了Plexe如何扩展Veins,实现实时数据交互和控制器模型,以及面临的挑战和未来研究方向。

Plexe论文详读

在闷头自己写了几天程序后,发现自己对于底层的不熟悉还是严重的影响到了进度。因此,最近开始对Plexe的论文和sumo的指导手册进行解读。

需要注意的是,因为主要是面对项目进行学习,所以只取所需,主要集中在对交通流造成的影响,而忽略了关于网络、协议、传输等内容。因此,部分内容可能并不完整,敬请谅解。更多内容可以自己阅读相关文献。

Introduction

编队协同驾驶技术包含通信与网络、车辆控制理论、车辆动力学、运动预测等多个领域的知识,且对于安全性有着极高的要求。在此情况下,分析模型过于粗糙而无法捕获所有细节,真实场景测试对资金、时间、人力等方面的要求极高,仿真模拟成为了研究人员评估协同驾驶系统的最佳选择。

Plexe是什么?

Plexe是基于Veins开发的一个开源、考虑到车辆动力学、通信与网络障碍以及车辆间通信的、模拟真实场景的仿真软件。

Plexe能干什么?

Plexe在Veins的基础上,通过TraCI接口进一步扩展了交互,实现了从Sumo中更便捷的获取车辆数据来发送给其他车辆,供给队列协议和应用程序使用。

框架如图所示(OMNeT++是Veins的基础)
模拟的结构示意图

Plexe-Sumo中的队列实现

在Plexe中,编队的实现即指一种新的车辆跟随框架,能够实现开环或闭环加速度控制的纵向控制,以及简化的横向控制(转向),以适应地改变车道并服从队列动力学。

Sumo中常见的汽车跟随模型是IDM或Krauss两类,但在plexe-sumo中采用的是新的汽车跟随模型巡航控制器(Cruise Control, CC)。根绝需求不同,该模型可以通过修改参数实现其它CC/CACC模型。在默认条件下,CC使用Krauss模型来驾驶汽车()

现在Sumo中的CC模型包括标准CC(定速巡航)、ACC(自适应巡航)、CACC(协同自适应巡航)还有一个发动机驱动滞后。通过TraCI接口,可以访问模型以更改车辆行为并检索不同的信息,其他功能请参考SUMO指导文档。

关于上述CC模型,可以设置所需速度、车头时距和所需的距离间隙。

当CACC模型设置成功时,可以向它提供通过车间通信交互的数据。此外,由于存在可以使用从任意车辆接收到的数据来改进性能的控制器,接口中还提供了一个向控制器提供队列中任何车辆数据的模块。

控制器模型

车辆纵向运动的独立控制参数是通过油门控制所驱动的需求加速度 x ¨ \ddot x x¨。但受限于动力系统引起的滞后,驱动并不是立刻的。

Plexe采用一阶低通滤波器来对此驱动滞后进行建模,也就是说实际加速度的计算应该被表示为
x ¨ [ n ] = β ⋅ x ¨ d e s [ n ] + ( 1 − β ) ⋅ x ¨ [ n − 1 ] β = Δ t τ + Δ t , \ddot x[n] = \beta \cdot\ddot x_{des}[n] + (1-\beta) \cdot\ddot x[n-1]\\ \beta = \frac{\Delta_t}{\tau + \Delta_t}, x¨[n]=βx¨des[n]+(1β)x¨[n1]β=τ+ΔtΔt,
也就是说当前时刻的加速度是基于期望加速度(控制器给到的)和前一时刻加速度计算得到的。其中,默认状况下 τ = 0.5 s \tau = 0.5s τ=0.5s,而 Δ t \Delta_t Δt是Sumo更新的步长,默认为1s。

下面对几个跟随模型的控制方案进行介绍:

定速巡航控制CC

x ¨ d e s = − k p ( x ˙ − x ˙ d e s ) + η \ddot x_{des} = -k_p(\dot x - \dot x_{des}) + \eta x¨des=kp(x˙x˙des)+η

k p k_p kp表示比例控制器的增益(默认为1); η \eta η是考虑到制动器和速度测量的随机扰动(不精确,默认为0)。

自适应巡航控制ACC

x ¨ i _ d e s = − 1 T ( ε ˙ i + λ δ i ) δ i = x i − x i − 1 + l i − 1 + T x ˙ i ε ˙ i = x ˙ i − x ˙ i − 1 \ddot x_{i\_des} = -\frac{1}{T}(\dot \varepsilon_i + \lambda\delta_i)\\ \delta_i = x_i - x_{i-1}+ l_{i-1} + T\dot x_i\\ \dot \varepsilon_i = \dot x_i - \dot x_{i-1} x¨i_des=T1(ε˙i+

评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值