自动驾驶汽车横向控制方法研究综述

ops/2024/10/9 6:08:44/
【摘要】 为实现精确、稳定的横向控制,提高车辆自主行驶的安全性和保障乘坐舒适性,综述了近年来自动驾驶汽车横向控制方法的最新进展,包括经典控制方法和基于深度学习的方法,讨论了各类方法的性能特点及在应用中的优缺点,并针对自动驾驶汽车横向控制方法的发展趋势进行了展望。
关键词:自动驾驶汽车 横向控制 经典控制方法 深度学习 多传感器融合

1 前言

随着计算能力的提高和传感器技术的发展,自动驾驶汽车在实现高精度定位、环境感知和智能决策方面取得了显著进展。然而,为了实现完全自动驾驶汽车需要在复杂的道路环境和多样化的驾驶任务中表现出高度的自主性和适应性。自动驾驶横向控制作为自动驾驶系统的关键部分,具有提高
驾驶安全性、减轻驾驶员疲劳、提高乘坐舒适性等功能,有助于提高道路通行效率、降低交通事故风险,并在自动泊车、车队协同等方面发挥重要作用。为实现车道保持、车道变更和紧急避障等功
能,横向控制需要克服复杂道路环境、不确定性工况和噪声等挑战。近年来,针对横向控制的研究受到越来越多的关注,在前人的工作基础上,本文对自动驾驶汽车横向控制方法的最新进展进行综述,包括经典控制方法和基于深度学习的方法,并讨论相关方法的优缺点和未来发展趋势。

2 自动驾驶横向控制方法的发展历史

自动驾驶横向控制方法的研究始于 20 世纪 80年代。在早期阶段,研究者主要关注传统的控制方法,如比例- 积分 - 微分( PID )控制 和模糊控制 。这些方法在自动驾驶横向控制中取得了一定的成果,奠定了自动驾驶控制系统的基础 进入 21世纪,随着计算能力的提高和传感器术的发展,自动驾驶横向控制方法开始涉及更复杂的算法。预瞄控制 、滑模控制 和神经网络控制 等方法逐渐成为研究热点。
预瞄控制( Preview Control )常用于自动驾驶系统,其基本思想是通过预测车辆的未来轨迹,确定当前时刻的控制指令。它利用车辆模型和环境信息,通过计算车辆在未来一段时间内的轨迹,来规
划和生成控制指令。这种控制方法可以考虑到车辆动力学和运动约束,提供较好的轨迹跟踪性能。近年来,深度学习[6] 、强化学习 [7] 和模型预测控制(Model Predictive Control MPC [8] 等先进的控制方法在自动驾驶横向控制领域取得了显著进展。这些方法通过大量数据和复杂的算法来实现高度自适应和智能化的横向控制。尤其是深度学习和强化学习方法,可以从大量的驾驶数据中学习控制策略,提高控制性能和泛化能力。与此同时,MPC 在处理系统的不确定性和约束方面具有优势,为自动驾驶横向控制任务提供了更精确的实时解决方案。
随着驾驶场景的多样化发展和交通场景控制难度的提高,研究人员逐渐意识到单一的控制策略很难满足各种驾驶场景的需求。因此,混合控制方法[9] 应运而生。这些方法通常将不同类型的控制算法相结合,以充分发挥各自的优势,如:将模糊控制与神经网络控制相结合,可以提高系统的鲁棒性和自适应性;将深度学习与 MPC 相结合 ,可以实现更精确的实时横向控制;将纯跟踪(Pure Pursuit )算法与斯坦利(Stanley )算法相结合,可大幅提升跟踪平滑性。

3 经典控制方法

经典控制方法在自动驾驶汽车横向控制领域广泛应用。这些方法具有简单、易于实现的优点,但在复杂场景中可能表现出较低的适应性。

3.1 PID控制器

如图 1 所示的 PID 控制器是一种常见的经典控制方法,其中,r 为参考输入或期望值, e 为误差信号,K p 为比例增益, T ds 为导数时间常数, T is 为积分时间常数。该控制器的输出控制信号是误差项的比例、积分和微分 3 个部分加权结果的加和。在自动驾驶汽车横向控制中,PID 控制器可以根据车辆与期望轨迹间的偏差来调整转向盘转角。PID 控制器的主要优点是简单、易于实现,但其性能会受到系统参数变化、非线性和不确定性的影响
针对 PID 控制存在的问题,研究人员提出了多种改进方法,最常见的改进方法为模糊 PID 控制 [14]和自适应 PID 控制 [15] 。其中模糊 PID 控制结合了模糊逻辑控制与传统 PID 控制的优点,能够有效解决非线性和时变问题。模糊PID 控制通过模糊逻辑对PID 参数进行在线调整,以适应系统的动态变化。其不足之处是需要设计合适的模糊控制规则,且计算复杂度较高,可能导致系统响应速度降低。自适应 PID 控制是一种在线调整 PID 参数的方法,它通过实时监测系统的误差和性能来自动调整控制参数,使系统在不同工况下保持良好的控制性能。其不足之处为算法实现相对复杂,可能导致计算负担加重,以及自适应调整可能引入不稳定性,需要仔细设计以确保系统稳定性。

3.2 模糊逻辑控制器

如图 2 所示,模糊逻辑控制器是一种基于模糊集合论和模糊推理的控制方法,可以处理不确定性和模糊性问题。模糊逻辑控制器通过将输入变量(如车辆与期望轨迹的偏差和车速)映射到输出变量(如转向盘转角)来生成控制信号[16] 。模糊逻辑控制器的优点是对系统参数变化和非线性具有较好的鲁棒性,但其性能可能受到规则库设计和推理机制的影响
针对模糊控制存在的问题,研究人员提出了多种改进方法。其中最常见的方法为模糊神经网络控制[18] 和模型预测控制 [19-20] 。其中,模糊神经网络控制结合了模糊控制和神经网络的优点,能够更好地应对非线性和时变问题。模糊神经网络控制通过训练神经网络来自动调整模糊控制规则和参数,以适应系统的动态变化。其缺点为计算复杂度较高,可能导致系统响应速度降低,且需要大量的训练 据和合适的训练方法以实现有效控制。 MPC 是种基于优化的控制策略,它利用系统模型预测未来一段时间内的系统行为,并根据预测结果计算最优控制输入。MPC 可以处理多输入多输出问题,同时考虑系统约束和非线性特性。其缺点是计算复杂度较高,对实时性要求较高的系统可能存在响应速度问题,同时,需要准确的系统模型。

3.3 遗传控制算法

遗传算法( Genetic Algorithm GA )是一种启发式搜索和优化算法,它模拟了自然界中的生物进化过程,可用于自动驾驶横向控制中的参数优化或策略优化,以实现更好的控制结果。
遗传算法可对控制器参数进行优化,通过对不同参数组合的个体进行遗传操作(如选择、交叉和变异),逐代搜索出最优参数组合。除控制器参数外,遗传算法还可用于优化控制策略。例如,在特定的驾驶场景下,可以通过遗传算法搜索最佳的路径规划策略或车道保持策略,以实现更安全和高效的横向控制。
如图 3 所示,遗传算法的基本步骤包括:
a. 初始化种群。随机生成一组初始个体,代表参数或策略的不同组合。
b. 适应度评估。对每个个体应用横向控制算法,并评估其性能,通常使用目标函数或评估指标来度量控制结果的优劣。
c. 选择操作。根据适应度评估结果,选择较优秀的个体作为下一代的父代。
d. 交叉操作。对选定的父代个体进行交叉操作,生成子代个体,将父代的某些特征组合起来。
e. 变异操作。对子代个体进行变异操作,引入随机性,增加种群的多样性。
f. 重复步骤 b~ 步骤 e ,直到满足终止准则,如达到最大迭代次数或达到期望的优化目标。

通过迭代进化的过程,遗传算法能够搜索出较优的控制参数或策略,其优点包括:全局搜索能力强,利用种群的多样性和全局搜索能力,可以在复杂的搜索空间中找到全局最优解;并行性,可以轻松应用并行计算,加速搜索过程;适应性强,适用于不规则、非线性和高度动态的问题;对于大规模问题有效,相对于一些传统优化算法,在处理大规模问题时表现较好。
遗传算法的缺点在于,收敛速度相对较慢、参数选择敏感、不能保证全局最优解,以及对于某些问题,特别是具有明显结构的问题的有效性不如其他优化方法。
针对多目标优化问题,研究者提出了许多改进的多目标遗传算法,如多目标粒子群算法等,也有研究人员尝试将遗传算法与其他优化算法相结合,形成混合算法,以提高性能。针对参数选择敏感的问题,自适应遗传算法的研究受到了关注,可通过动态调整参数来提高算法性能。同时,随着算力的提升,研究者对并行遗传算法的研究也在不断深入。

http://www.ppmy.cn/ops/123029.html

相关文章

道路积水检测数据集 1450张 路面积水 带分割 voc yolo

道路积水检测数据集 1450张 路面积水 带分割 voc yolo 分类名: (图片张数, 标注个数) puddle:(1468,1994) 总数:(1468,1994) 总类(nc): 1类 道路积水检测数据集介绍 项目名称 道路积水检测数据集 项目概述 本数据集包含1450张带有标注的图像&#x…

Linux驱动学习——内核编译

1、从官网下载适合板子的Linux内核版本 选择什么版本的内核需要根据所使用的硬件平台而定,最好使用硬件厂商推荐使用的版本 https://www.kernel.org/pub/linux/kernel/ 2、将压缩包复制到Ubuntu内进行解压 sudo tar -xvf linux-2.6.32.2-mini2440-20150709.tgz 然…

Oracle 闪回版本(闪回表到指定SCN)

1.创建目录 mkdir /u01/app/oracle/flash 2.配置FRA alter system set db_recovery_file_dest_size15G; alter system set db_recovery_file_dest/u01/app/oracle/flash; 3.设置闪回参数--确保可以闪回48h内的数据库 alter system set db_flashback_retention_target2880; 4…

mikrotik ROS container 容器可用的URL

## 配置使用(Beta) 镜像地址 https://docker.1ms.run 修改 /etc/docker/daemon.json {"registry-mirrors": ["https://docker.1ms.run"]} 重启服务 systemctl daemon-reload systemctl restart docker

记录一次docker报错无法访问文件夹,权限错误问题

记录一次docker报错无法访问文件夹,权限错误问题 1. 背景 使用docker安装photoview,为其分配了一个cache目录,用户其缓存数据。在运行过程中,扫描文件后显示如下错误 could not make album image cache directory: mkdir /app/c…

k8s的简介和部署

一、k8s简介 在部署应用程序的方式上面,主要经历了三个阶段: 传统部署:互联网早期,会直接将应用程序部署在物理机上优点:简单,不需要其它技术的参与缺点:不能为应用程序定义资源使用边界,很难合理地分配计算资源&…

微知-如何查看Bluefield DPU安装的BFB镜像版本?如何查看DPU中OS的版本?内核版本等信息?(cat /etc/mlnx-release)

关键命令 cat /etc/mlnx-release背景 本文主要介绍在Bluefield DPU的OS上查看系统版本以及所烧录的镜像名字等信息。BFB镜像,就好比在普通服务器装机用的系统iso文件。(BFB全称是BlueField boot stream file ) 命令与实操 Bluefield DPU在…

【CSS in Depth 2 精译_045】7.1 CSS 响应式设计中的移动端优先设计原则(上)

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对…