动态优化——经济学和管理学中的变分法和最优控制_无人驾驶车辆控制理论中的描述...

根据上一节,模型预测控制在实现过程中有3个关键步骤,一般被称为3 项基本原理,分别是预测模型、滚动优化和反馈校正。以下分别对这3项基本原理进行介绍。

①预测模型:预测模型是模型预测控制的基础。其主要功能是根据对象的历史信息和未来输入,预测系统未来的输出。对预测模型的形式没有做严格的限定,状态方程、传递函数这类传统的模型都可以作为预测模型。对于线性稳定系统,阶跃响应、脉冲响应这类非参数模型,也可以直接作为预测模型使用。

②滚动优化:模型预测控制通过某一性能指标的最优来确定控制作用, 但优化不是一次离线进行,而是反复在线进行的。这就是滚动优化的含义,也是模型预测控制区别于传统最优控制的根本点。

③反馈校正:为了防止模型失配或者环境干扰引起控制对理想状态的偏离,在新的采样时刻,首先检测对象的实际输出,并利用这一实时信息对基于模型的预测结果进行修正,然后再进行新的优化。

基于这3个要素,模型预测控制的基本原理可以用下图来表示。控制过程中,始终存在一条期望参考轨迹,如图中曲线1所示。以时刻k作为当前时刻(坐标系纵轴所在位置),控制器结合当前的测量值和预测模型,预测系统未来一段时域内[,k+N。](也被称为预测时域)系统的输出,如图中曲线2所示。通过求解满足目标函数以及各种约束的优化问题,得到在控制时域[k,k+N。]内一系列的控制序列,如图中的矩形波4所示(从坐标系纵轴开始),并将该控制序列的第一个元素作为受控对象的实际控制量。当来到下一个时刻k+1时,重复上述过程,如此滚动地完成一个个带约束的优化问题,以实现对被控对象的持续控制。

c18541d038bfd77068278f67062dc2eb.png

模型预测控制原理框图如下图所示,包含了MPC控制器、被控平台和状态估计器这3个模块。其中,MPC控制器结合预测模型、目标函数和约束条件进行最优化求解,得到当前时刻的最优控制序列u'(t),输入到被控平台,被控平台按照当前的控制量进行控制,然后将当前的状态量观测值x(t)输入给状态估计器。状态估计器对于那些无法通过传感器观测得到或者观测成本过高的状态量进行估计。比较常用的方法有Kalman滤波、粒子滤波等。将估计的状态量(t)输入到MPC控制器,再次进行最优化求解,以得到未来一段时间的控制序列。如此循环,就构成了完整的模型预测控制过程。

根据所采用模型的不同,模型预测控制主要包括动态矩阵控制(Dynamic Matrix Control,DMC)、模型算法控制(Model Algorithm Control,MAC)、广义预测控制(Generalized Predictive Control,GPC)等。同时,在现代控制理论中广泛使用的状态空间模型,同样可以应用于模型预测控制中。

d1030f1e6d4ba0d4c74494b22c43089c.png

Ⅰ线性时变模型预测控制算法

线性时变模型预测控制算法是以线性时变模型作为预测模型的。这也是目前在模型预测控制领域中应用最为广泛的一种形式。相比于非线性模型预测控制,它的最大优点是计算较为简单,实时性好。对于无人驾驶车辆的运动控制来说,控制算法的实时性显然是至关重要的,因此线性时变模型预测控制是需要重点介绍的一种MPC控制方法。

(1)预测方程

首先,考虑以下的离散线性化模型:

bca88ef59adc0a0cffc60645578568a3.png

设定:

2cf914d29a33f2555dea5439b6f5ac4a.png

可以得到如下的新的空间表达式:

9aaf2c4991105007f1ce7c62446d5e1d.png

式中各矩阵的定义如下:

9c5c9c27c808347a24c524c2f241c144.png

实际上,系统的控制增量是未知的,只有通过设定合适的优化目标、并对其进行求解,才能得到控制时域内的控制序列。我们可以得到如下形式的目标函数:

2d70f8e4edc7074e1c85495d46a4b318.png

对于以上形式的优化目标,可以通过适当的处理将其转换为二次规划(Quadratic Programming,QP)问题。二次规划是一个典型的数学优化问题。它的优化目标是二次实函数,带有线性或者非线性约束。其常用的解法为有效集法(Active Set Method,ASM)和内点法(Interior Point Method,IPM)。有效集法适用于解决只有不等式约束的二次规划问题,而内点法适用于任何形式的二次规划问题。

以控制量作为目标函数中的状态量,结构简单,易于实现;但也存在一些缺点,比较显著的就是没法对控制增量进行精确约束。当系统对于控制量跳变要求较为严格时,这样的目标函数就无能为力了。此时,可以把控制增量作为目标函数的状态量,优化目标函数可以设为如下形式:

d959e2bfda52410a0f361ac239991a79.png

其中,第一项反映了系统对参考轨线的跟随能力,第二项反映了对控制量平稳变化的要求。Q和R为权重矩阵,整个表达式的功能是使系统能够尽快且平稳地跟踪上期望的轨迹。同时,在实际的控制系统中,往往需要满足系统状态量以及控制量的一些约束条件,一般如下:

控制量约束:

65d187314db46df56cdf7aafc24ade21.png

控制增量约束:

9756a932c79f96beb6db665c64f3ddca.png

输出约束:

04ec781d2e942632945e2e0eaf31fa28.png

Ⅱ非线性系统线性化方法

根据车辆系统建模的知识,我们知道,无论是运动学建模,还是动力学建模,得到的都是一个非线性系统。显然,这种系统是不能直接用于线性时变模型预测控制的。本节介绍如何将一般的非线性系统进行线性化处理,以得到需要的线性时变系统。

将一个非线性系统近似为线性时变系统有很多方法,大体可以分为近似线性化与精确线性化两类。近似线性化方法简单,适用性较强,缺点是在控制精度要求非常高的场合难以适用;精确线性化一般不具备普遍性,往往是需要针对单个系统进行具体分析。在模型预测控制中,一般采用近似的线性化方法。以下介绍两种常用的线性化方法。

Ⅲ存在参考系统的线性化方法

该方法的主要思想是假设参考系统已经在期望路径上完全通过,得到了路径上每个时刻的状态量和控制量。通过对参考系统和当前系统之间的偏差处理设计使模型预测控制器来跟踪期望路径。参考系统的任意时刻的状态和控制量满足如下关系:

1ef3e7f6be036290d6e40d04a3ebb76b.png

在任意点(5,u,)处进行泰勒展开,只保留一阶项,忽略高阶项,得到:

351e579741020de6cee3d88d1d144f6e.png

将两式相减可以得到:

4a1876c45394843ec2c085ef97fa8fc3.png

这样,就得到新的状态方程。该状态方程是连续的,不能直接用于模型预测控制器的设计,故有必要对其进行离散化处理。此处采用近似的离散化,即:

23b3703e458b788505d8f75f856f6bb5.png

至此,得到了非线性系统在任意一个参考点处线性化后的系统。该系统是设计线性模型预测控制算法的基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值