自动驾驶控制的目标:驾驶舒适平顺

自动驾驶控制的目标:驾驶舒适平顺

引言

在自动驾驶中,控制研究如何使车辆能够平稳按照既定轨迹行驶。为了达到这个目的,需要对车辆的油门、制动和转向进行自动控制。控制理论主要有基于反馈调节的经典控制理论和基于状态空间的现代控制理论。目前在自动驾驶领域使用的控制策略主要有比例积分微分控制器PID、线性二次型调节器LQR和模型预测控制MPC。

附赠自动驾驶最全的学习资料和量产经验:链接

控制概述

控制是一门古老而又复杂的学科。1782年瓦特发明蒸汽机,1868年麦克斯韦把蒸汽机调速器的运动状态用微分方程来描述,开启了自动控制的学科历史。随后劳斯、赫尔维茨和李雅普诺夫等人发表了一系列重要的控制系统稳定性判据,奈奎斯特和伯德提出用图解法在频域分析控制系统,还有伊万斯的根轨迹法等构筑了经典控制理论的基石。进入20世纪,美国人维纳创立控制论,1948年发表的《控制论》不仅涉及自动控制,还包含了电子技术、无线电通讯、计算机技术、生物学、信息学许多深刻的思想。20世纪60年代,人造地球卫星等空间技术的发展,控制系统多变量、非线性、高精度的特点使得自动控制发展出基于状态空间的现代控制理论,利用矩阵计算方法研究最优控制以及前面提到的卡尔曼滤波都属于现代控制理论的范畴。

研究控制理论需要运用数学工具,比如将控制系统描述成微分方程,状态空间法的各种矩阵变换,最优控制常见的线性二次型等。**卡尔曼曾曰:首先要使所研究的问题有正确的物理意义,之后就全是数学的事情了。**可见,如果要学好控制理论,数学要扎实。而在实际工程应用中,目前(可能)八成左右都是基于经典控制理论的PID类控制器,掌握高等数学的微积分基础就可以理解PID控制策略。

反馈是所有控制方法最核心的概念,传感器实时检测控制目标的某些参数(如车速、位置),与控制目标(如车速巡航在80km/h、车辆保持在车道线中间)相比,得到控制偏差。将这个偏差经过某些运算反馈叠加到输入端,就可以达到特定的控制目标。从数学上说,反馈通过改变原动态系统微分方程的特性来实现控制要求。

**对控制系统的基本要求可以概括为稳定性、快速性、准确性三个方面。**稳定性是指动态过程的振荡倾向和系统能否恢复平衡状态的能力,是系统工作的首要条件。快速性是指当系统输出量与给定量之间产生偏差时,消除这种偏差过程的快慢程度。准确性是指在调整过程结束后输出量与给定量之间的偏差,也叫静态精度,是衡量系统工作性能的重要指标。对于自动驾驶车辆来说最重要是需要平稳,不能有突然转向、急加速和急刹车,没有乘客愿意乘坐舒适性差甚至会引起恐慌的自动驾驶车辆。其次车辆的行驶轨迹不能和目标轨迹有太大偏差,比如车辆在道路上左右振荡也是不能接受的。总之,自动驾驶车辆最完美的控制效果应该像稳重老司机开车的感觉。

根据不同的分类标准,控制系统有不同的类型:按有无反馈信号可以分为开环控制系统和闭环控制系统,闭环控制系统又叫反馈控制系统;按控制系统元件是否为线性元件可分为线性控制系统和非线性控制系统;按系统信号为模拟信号或数字信号可分为连续控制系统和离散控制系统;按系统输入输出变量数可分为单变量系统和多变量系统。汽车上控制系统类型丰富,各种控制系统具有不同的特点,可以完成不同要求的任务。

目前,汽车电子控制系统中广泛采用的PID(比例微分积分)控制理论,是用于单输入/输出、线性定常系统的经典控制理论。由于汽车中的控制对象往往具有很强的时变和非线性,输入和输出参数越来越多,因此有时也采用以状态空间为基础、用于多输入/输出、非线性时变系统的现代控制理论,例如最优控制、自适应控制、模糊控制、鲁棒控制等。

以下对常见的控制方法做简单的介绍

PID

PID是非常广泛使用的控制算法,由比例微分积分三项组成,尽管非常简单,但是常常都可以达到控制要求。当无法得到被控对象的精确模型时,PID也可以使用。PID控制公式如下:

image

以自动驾驶车辆横向控制为例,PID方法不需要知道车辆的动力学模型,只要能得到系统偏差即可,这个偏差可以是位置偏差、速度偏差或偏航角度误差。

P比例控制处理当前误差,车辆路径和目标路径有误差,比例控制立即起作用,用来减少误差。偏差越大,比例作用越强。比例作用若设置太大,系统容易有振荡(超调overshoot)。

I积分主要用来消除静态误差,当由于某些系统内在(转向系统不平衡)或环境(横风)导致车辆路径和目标路径在一个时间段内存在误差,积分作用会不断累加,用来克服静态偏差,使得车辆行驶轨迹在车道中间。

D微分有“预测”的作用,看的是“偏差变化率”。在车辆有偏离的趋势时就开始施加回中控制,而且偏离趋势越快,微分作用会越强。若系统偏差有噪声,那么微分作用会对系统稳定性产生不利的影响,需要谨慎使用。

在PID长期发展过程中,为了适用不同的场合,还形成了各种各样变体,比如死区PID(小偏差时不控)、主副PID、可变系数PID、前馈+PID。入门PID不难,但是深入了解PID原理并在实际控制系统中运用得恰到好处,则需要大量的思考和实践。

PID是单变量控制器,对于多变量控制目标,可能就得使用多个PID控制器或基于状态空间的现代控制理论。

LQR/MPC

LQR(Linear Quadratic Regulator)线性二次型调节器是基于状态空间的最优控制方法。

LQR控制是基于模型的控制方法,目前常用的车辆动力学模型是两自由度自行车动力学模型(可参考相关资料,此处不作介绍)。因此首先需要建立系统状态方程:

image

LQR不仅需要考虑偏差最小化,还需要同时考虑控制量,换句话说,**LQR的目标是在控制量适度尽可能小的情况下,系统偏差趋于最小。**用较小的控制来实现控制目标,这是出于控制舒适性的考虑。因此建立成本函数为如下格式:

image

其中Q和R是状态量和输入量的权重矩阵。为了求得最优控制u,通过状态反馈将控制量和状态量建立关联:

image

LQR求解过程就是最小化成本函数的过程,利用数值计算工具(黎卡提方程)可求得最优控制的状态反馈矩阵K。

MATLAB有现成的函数

image

因此,只要知道系统状态方程(A,B),设置合适的权重Q和R,就可以算出二次型最优控制矩阵K。矩阵相关的数值运算可以离线完成,因此LQR控制方法可以不用太多的资源消耗就可以在嵌入式系统上运行。

LQR也有其缺点:首先是系统矩阵A和B怎么来?由于LQR依赖模型的准确度,仅适用于线性系统,两自由度自行车模型对一些动力学特性的简化可能影响控制效果。其次,权重矩阵Q和R的选取依靠经验,目前似乎没有严格的计算获取规律。最后,成本函数没有考虑系统约束条件,导致控制量u可能会得到一个超过门限的不合理数值,因此需要对LQR得到的最优解进行相关检查和调整。这些都是LQR控制中需要考虑的问题。

MPC(Model Predict Control)模型预测控制最早是在化工领域开始应用的优化控制类方法,适用于有约束的线性系统和非线性系统。LQR在一个固定的时域上求解,而MPC在一个滚动时间窗口内求解最优解。在每个滚动时间序列求取一组控制序列,只执行第一个控制指令。然后进入下一个时间序列的求解,如此循环。由于车辆系统和实际外界环境的复杂性,在每个时间序列重新求解能够使得控制更加精确。

那么这个时间滚动窗口如何选取?时间窗口设置较小,计算较快,但是“格局较小”,小范围局部最优;时间窗口较大,计算量较大,但是控制着眼点远一些。

MPC控制效果和适用范围在理论上要优于LQR,但是由于需要在线计算最优解,因此若在嵌入式系统实现,资源消耗较大。

MATLAB提供现成的MPC Toolbox,有兴趣的可以去使用一下,先有一个直观的感觉,再去深入了解具体的理论推导。

结语

无人车之父Sebastian Thrun说过:控制是复杂的,可能需要10年的潜心学习,才能拿到一个博士学位,然后才能成为该领域的教授。控制是古老又处于不断发展中的学科,目前流行的深度学习等方法也在渗透自动控制领域。如何利用控制工具,使得自动驾驶车辆更加安全和舒适是需要持续思考和实践的主题。

愿大家都能从学习中获得乐趣!

参考资料

[1] http://apollo.auto/devcenter

[2] https://en.wikipedia.org/wiki/F

  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值