您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



文章 咨询 工具 课程  
会员   
   
软件架构设计方法、案例与实践
9月24日-25日 北京+线上
AI辅助软件测试方法与实践
9月26日-27日 北京+线上
SysML和EA进行系统设计与建模
11月19-20日 北京+线上
   
 
 订阅
大白话讲解自动驾驶技术之控制技术
 
作者: 大侠
  44  次浏览      5 次
 2025-9-17
 
编辑推荐:
本文主要介绍自动驾驶系统中的关键技术——控制技术,希望对您的学习有所帮助。
本文来自于大侠智能,由火龙果软件Linda编辑、推荐。

专业术语太多不好理解,咱就讲讲大白话,我们将为大家逐一聊聊自动驾驶系统中的关键技术。今天就来学学控制技术。

一、控制简介

控制指通过驱动车辆执行机构,使其在实际环境中行驶的策略。对于汽车而言,最基础的控制输入包括转向、加速和制动。通常情况下,控制器会接收由一系列路径点组成的轨迹信息,而控制器的核心任务就是通过调整上述控制输入,确保车辆沿这些路径点行驶。

车辆控制的核心要求主要有以下几种。

首先是准确性:控制器需避免车辆偏离目标轨迹,这一点对行驶安全至关重要。即使在路面标线为白色或道路急转的场景下,控制器仍需精准执行轨迹控制。

其次是可行性:控制策略必须符合车辆的物理特性。例如,若车辆正朝北行驶,想立即转向朝东,这种操作在游戏中或许可行,但在现实场景中无法实现(受车辆转向系统、动力学性能等物理限制)。

其三是平稳性:舒适的驾驶体验不可或缺。若车辆行驶状态不稳定(如频繁变向、加减速波动),乘客将不再愿意乘坐。

要实现舒适的控制效果,执行机构的动作必须连续,即需要避免突然转向、急加速或急刹车。

综上所述,车辆控制的目标是:采用切实可行的控制输入,最大限度减少车辆与目标轨迹的偏差,同时最大化乘客的乘坐舒适度。

在下面的学习内容中,我们将了解三种可实现上述目标的控制策略,分别是:

  • 比例-积分-微分控制(Proportional-Integral-Derivative Control,简称PID);
  • 线性二次调节器(Linear Quadratic Regulator,简称LQR);
  • 模型预测控制(Model Predictive Control,简称MPC)。

二、控制流程

控制器有两个输入信号,分别是目标轨迹和车辆状态。

其中,目标轨迹由规划模块生成。在轨迹的每个路径点上,规划模块都会设定一个目标位置和参考速度,并且该轨迹会在每个时间步长内更新。

我们还需要获取车辆状态信息,这其中包括车辆的当前位置(由定位模块计算得出)。此外,车辆状态还涵盖了从车载内部传感器获取的数据,例如车速、转向角度和加速度等。

通过这两类输入信号,我们能够计算出目标轨迹与车辆实际行驶轨迹之间的偏差。

控制器的输出则是三大控制输入的具体数值,即转向角度、加速度和制动力。当车辆偏离目标轨迹时,我们需要通过调整这些控制输入来修正偏差。

对于普通人工驾驶车辆,驾驶员会通过转动方向盘调整行驶方向、踩油门加速、踩刹车减速来实现轨迹修正,自动驾驶车辆的控制逻辑与此完全一致。

一旦这三个控制数值传递给车辆执行机构,车辆就能实现自主行驶。接下来,我们将了解不同的控制算法是如何计算出转向角度、加速度和制动力这三个输出值的。

三、PID控制

我们要了解的第一种算法是PID控制。这种控制器的优势在于原理非常简单,它只需获取车辆偏离目标轨迹的距离信息即可工作。

PID 控制器的第一个组成部分是 “P”,即比例项(Proportional)。设想一辆正在尝试跟踪目标轨迹的汽车,一旦车辆开始偏离轨迹,P控制器就会立即产生控制作用,将车辆拉回目标轨迹。

“比例”的含义是,车辆偏离轨迹的距离越远,控制器使车辆向目标轨迹回正的转向力度就越大。

但在实际应用中,P控制器存在一个问题,它很容易导致车辆“超调”目标轨迹,即车辆会越过参考轨迹后才反向调整。

因此,我们需要控制器在车辆接近参考轨迹时表现得更平稳。PID 控制器中的“D”项(微分项,Derivative)正是用于解决这一问题的,它会监测车辆的运动趋势。PD控制器在P控制器的基础上增加了一个“阻尼项”,能最大限度地减缓控制器输出信号的变化速度,从而抑制超调。

PID控制器的最后一个组成部分是“I”项,即积分项(Integral)。这一项的作用是修正车辆可能存在的任何系统性偏差。例如,车辆的转向系统可能存在定位偏差(如方向盘“跑偏”),这会导致车辆在行驶中始终存在一个固定的转向偏移量,此时,即使想要直线行驶,也需要向一侧轻微转动方向盘才能实现。为解决这类问题,积分项会对系统累积的偏差(误差)进行“惩罚”,即随着偏差累积时间的增加,积分项产生的修正作用会逐渐增强。我们可以将比例项(P)、积分项(I)和微分项(D)这三个部分组合起来,构建出完整的 PID 控制器。

四、线性二次调节器

线性二次调节器(Linear Quadratic Regulator,简称LQR)是一种基于模型的控制器,它利用车辆状态来最小化误差。通常将LQR用于横向控制,其中包含四个组件,分别是:横向误差、横向误差变化率、航向偏差以及航向偏差变化率。其中,“变化率”与“导数”含义相同,我们在变量名称上方加一个点(·)来表示这一概念,并将这四个组件的集合称为x。除了该状态集合外,车辆还具备三个控制输入,即转向、加速和制动,我们将这三个控制输入的集合称为u。

LQR主要用于处理线性控制问题。这类模型可用方程“ẋ = Ax + Bu”来表示。式中,向量ẋ是向量x的导数或变化率,因此ẋ的每个分量恰好对应x中相应分量的导数。该方程描述了状态变化率ẋ如何同时受到当前状态x和控制输入u的影响。

之所以称其为“线性”方程,是因为当x变化Δx、u变化Δu时,ẋ的变化量仍满足该方程,这也解释了LQR中字母“L”(代表Linear,线性)的含义。

那么字母“Q”(代表Quadratic,二次)又该如何理解呢?

与常规控制问题类似,LQR的核心目标是最小化误差,但同时也需尽可能减少控制输入的使用(因为控制输入会产生成本,例如消耗燃油或电能)。为实现这两个目标的平衡,我们可以对误差和控制输入分别进行累积求和。例如,当车辆向右偏离过多时,将该偏差值计入误差总和;当车辆通过转向调整回左侧时,从控制输入总和中扣除相应数值。然而,这种方法存在明显缺陷,车辆向右的正偏差会与向左的负偏差直接抵消,控制输入的正负值也会出现类似问题。

为解决这一问题,我们可将状态变量x和控制输入u分别与自身相乘(即取平方),这样一来,负值经过平方运算后会转化为正值,这些平方项便被称为“二次项”。我们为每个二次项分配相应权重,再将它们相加,而最优的控制输入u需要能使该总和随时间的累积值最小化。

在数学中,这个需最小化的累积值被称为“成本函数”。通常,我们会将带权重的二次项随时间的累积和以简洁的矩阵形式表示,其中矩阵Q和R分别代表状态变量x和控制输入u的权重集合;Xᵀ(X的转置)和Uᵀ(U的转置)为转置矩阵,其元素与原矩阵X、U完全相同,仅通过行列重新排列以满足矩阵乘法规则。本质上,X与Xᵀ相乘、U与Uᵀ相乘,等同于矩阵自身的平方运算。

成本函数的最小化过程较为复杂,通常需要借助数值求解器来获取结果。以LQR为例,其控制规律可表示为“u = -Kx”,其中K是一个复杂的增益矩阵,它规定了如何根据状态x计算出控制输入u。因此,寻找最优控制输入u的问题,本质上就是寻找最优的增益矩阵K。目前,许多工具都支持在给定系统矩阵A(描述车辆物理特性)、输入矩阵B(描述控制输入与状态的关联)以及权重矩阵Q、R的前提下,便捷地求解出增益矩阵K。

五、模型预测控制概念

模型预测控制(Model Predictive Control,简称 MPC)是一种复杂度更高的控制器,其运行高度依赖数学优化方法。但MPC的核心逻辑本质上可归纳为三个步骤:建立车辆模型、利用优化引擎在有限时间域内计算控制输入、执行第一组控制输入。

MPC是一个循环迭代的过程:它会“预测未来”(即基于当前状态预测后续一段时间内的系统变化),计算出一系列控制输入,并对该序列进行优化。但实际上,控制器只会执行这一系列控制输入中的第一组,随后便再次开启“建模-优化-执行”的循环。

你可能会疑惑,为何不直接执行完整的控制输入序列?这是因为我们对车辆状态的测量结果以及计算过程都存在一定近似性。若直接执行完整序列,车辆实际运行状态与模型预测状态之间的偏差会急剧扩大。因此,更优的做法是在每个时间步长下,持续重新评估并计算最优的控制输入序列。

六、时间范围与车辆模型

模型预测控制(MPC)的第一步是定义车辆模型。该模型对车辆的物理特性进行近似模拟,具体而言,它能预测在对车辆施加一组控制输入的情况下,车辆会产生怎样的运动状态变化。

接下来,需要确定MPC的“预测时域”(即希望MPC预测未来多长时间内的车辆状态)。通常来说,预测时域越长,控制器的决策精度理论上越高;但与此同时,更长的预测时域会导致计算耗时增加。因此,我们需要在“预测精度”与“计算速度”之间进行权衡,计算结果得出得越快,就能越快根据实际车辆状态更新控制输入,从而更好地应对实时路况变化。

第三步是将建立好的车辆模型输入至优化引擎,由优化引擎搜索最优的控制输入。该优化引擎的工作原理是在密集的数学解空间中筛选最优解;而为了缩小搜索范围、提升计算效率,优化引擎会依赖车辆模型中内置的“约束条件”(例如车辆最大转向角度、最大加速度等物理限制)。

七、MPC优化

优化引擎可以间接评估控制输入,通过控制输入为车辆模拟生成一条行驶轨迹,再基于成本函数对该轨迹进行评估。其中,成本函数的核心考量因素是与目标轨迹的偏差,次要考量因素则包括加速度、乘客舒适度指标等其他参数。

为提升乘客舒适度,对控制输入的调整幅度应尽可能小,因为控制指令(如转向、加速)的大幅变化会让乘客产生不适感。根据实际场景需求,我们可能还需要纳入更多成本因素,并为这些因素设计相应的成本函数。

最终,车辆模型、约束条件与成本函数会被整合在一起,转化为一个优化问题进行求解。我们可以选用多种不同的优化引擎中的任意一种,来寻找该优化问题的最优解(即最优控制输入)。

八、MPC的优劣势

MPC控制会将车辆模型纳入考量,因此其精度高于PID控制。该控制方法还能与不同的代价函数配合使用,这样我们就能在不同场景下对各类代价进行优化。

不过另一方面,相较于PID控制,MPC控制的结构更复杂、响应速度更慢,且实现难度更高。但在实际应用中,自动驾驶汽车对控制的重要性要求以及可扩展性需求,意味着模型预测控制的实施成本往往是值得的。因此,模型预测控制最终成为了自动驾驶汽车领域中一种至关重要的控制方法。

 

   
44 次浏览       5
相关文章

中央计算的软件定义汽车架构设计
汽车电子控制系统中的软件开发过程
一文读懂汽车芯片-有线通信芯片
OTA在汽车上有哪些难点痛点?
相关文档

汽车设计-汽车的整体结构及动力系统
自动驾驶汽车软件计算框架
SysML在汽车领域的应用实践
电子电气架构-大陆汽车系统架构平台
相关课程

AutoSAR原理与实践
功能安全管理体系(基于ISO26262)
MBSE(基于模型的系统工程)
基于SOA的汽车电子架构设计与开发

最新活动计划
基于 UML 和EA进行分析设计 9-9[北京]
软件架构设计方法、案例实践 9-24[北京]
AI辅助软件测试方法与实践 9-26[北京]
代码质量标准与评审方法 11-6[北京]
OCSMP认证:OCSMP-MBF 11-18[北京]
Web应用安全、入侵检测 12-11[北京]
 
 
最新文章
ASPICE中配置管理是个什么东西?
了解软件安全分析与组件鉴定
掌握Autosar ComStack的精髓!
基于整车功能的正向诊断需求开发
搞定Autosar SWC开发秘籍,码住!
汽车OTA更新的系统性威胁评估
最新课程
基于SOA的汽车电子架构设计与开发
Auto SAR原理与实践
AUTOSAR架构与实践(从CP到 AP )
AUTOSAR架构建模方法与工具(EA)
ASPICE4.0核心开发过程指南
MBSE(基于模型的系统工程)
更多...   
成功案例
某知名车企 AUTOSAR应用设计与开发
吉利汽车 MBSE工程体系汽车建模及评估
某整车企业 《功能需求分析与设计》
富奥汽车零部件 建模工具EA
零跑汽车 建模工具EA及服务
北汽福田 建模工具EA
小鹏汽车 建模工具EA
更多...