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

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

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/embedded/125559.html

相关文章

开发常用编辑器,你知道几个?

以下是 Python 最受欢迎的 10 个编辑器: pyCharm 由捷克公司 JetBrains 开发,是使用最广泛的 Python IDE 之一。它分为社区版和专业版,社区版免费且功能足够满足日常基本需求,专业版功能更强大但需付费。 优势在于智能代码补全、…

2024年最佳平替电容笔对比:西圣、摩米士、倍思,哪款更适合你?

作为一位专注于数码产品的博主,我深知近年来平替电容笔在消费者中的热度不断攀升。这种电容笔以其亲民的价格和卓越的书写体验引起了广泛关注,尤其适合那些需要用iPad学习和办公的无纸化爱好者。 西圣这款自带充电仓的电容笔备受关注,尤其因…

【PostgreSQL】实战篇——用户管理、角色和权限控制的高级用法及技巧

数据库中用户管理、角色和权限控制不仅仅是基础的安全措施,更是实现复杂应用需求和优化数据库性能的重要手段。 通过深入理解这些概念,数据库管理员可以更有效地管理用户访问、确保数据安全,并优化系统性能。以下是对这些概念的详细介绍以及…

vue3的知识整理

1. vue3的生命周期 vue3的生命周期一般有2种形式写法,一种是基于vue2的options API的写法,一种是vue3特有的Composition API options API的生命周期 基本同vue2的生命周期基础,只是为了与生命周期beforeCreate和created对应,将bef…

VScode连接远程服务器踩坑实战(新版离线vscode-server安装)

想要用VScode连接远程服务器,但远程服务器并没有连接外网,因此需要离线手动安装vscode-server但网上的方法都是旧版本的安装,没有新版本的配置。因此记录一下我都踩坑实战。 1、VScode扩展安装与配置 (1)vscode扩展安…

微信小程序——音乐播放器

一、界面设计 播放页面: 显示当前播放歌曲的封面图片、歌曲名称、歌手名称。有播放 / 暂停按钮、上一首、下一首按钮。进度条显示播放进度,可以拖动进度条调整播放位置。音量调节滑块。 歌曲列表页面: 展示歌曲列表,包括歌曲名称、…

Vue.js 中<teleport> 组件,<Suspense> 组件

一、&#xff1c;teleport&#xff1e; 组件 在 Vue.js 中&#xff0c;<teleport> 是一个非常强大的内置组件&#xff0c;用于将子组件或元素“传送”到 DOM 中的不同位置&#xff0c;而不仅限于它们在父组件中的结构。这可以帮助解决许多布局和样式方面的问题&…

zotero主页面显示的标签名与信息处的标签名不一致

问题描述&#xff1a;我在网页导入了论文之后&#xff0c;自动匹配了一些该论文的信息&#xff0c;但是很多都是空的&#xff0c;最大的问题就是找不到出版物的信息&#xff1b; 解决&#xff1a;最后发现在信息中是叫刊名&#xff0c;其中年对应的是在日期部分&#xff1b; 极…