我们再次回到最初的问题:

我们有一个目标函数,我们基于动力学约束,状态和输入的约束,去求解优化问题

01-04介绍了从解析法和数值法两个思路的求解方法,06-09介绍了目标函数与约束的处理方法,还有一个问题我们没有讨论:动力学模型

从系统的角度分析:动力学表达了系统演化的动态规律

从统计意义来看:模型分为随机性模型和确定性模型

随机性模型有马尔可夫过程(MDP),高斯马尔可夫过程(GMM)等,而我们传统控制讨论的动力学模型都是确定性模型

在接下来的几篇中我们分别讨论确定性动力学模型的轨迹优化问题和随机性动力学模型的轨迹优化问题

今天我们主要讨论确定性模型:模型预测控制(MPC)

1. 模型预测控制的概念

Bemporad大佬在他的PPT里面提到了MPC的定义:用一个简化的(而不是完整的)动力学模型去预测未来有限的(而不是无限的)演化过程,以及选择一个有效的(而不是最好的)控制策略

(1)动力学模型:简化 VS 完整,这个话题我们在以后讨论

(2)演化过程:有限 VS 无限,我们只讨论解的有限步演化过程,而不讨论解的无限步演化过程

(3)控制策略:有效 VS 最好,我们只需要讨论有效策略,而不讨论最佳策略

综合(2)(3)可以得到MPC求解过程的特点:

讨论有限步动力学模型演化条件下的最优控制解集合,但仅使用首步解(多步优化,单步控制)

2. 线性MPC——无约束状态镇定

我们采用LQR问题中的状态镇定问题来定义线性MPC问题的目标函数

由于是离散模型,我们需要得到状态转移矩阵,进一步地,我们可以将N步状态与输入进行简单的推导,得到如下的矩阵形式:

我们讨论其解,可以得到:

3. 线性MPC——有约束状态跟踪

同样地,对输入和输出约束进行推导:

进一步地,将问题转化为标准的QP问题

4. 线性MPC——有约束输出跟踪

在推导过程中,我们引入了增广输入的概念

在最后推导的标准QP问题中,增加了参考轨迹与增广输入的约束

5. 线性MPC——有约束模型误差

在这里,我们仅讨论输出扰动引起的误差

可以发现,在最后推导的标准QP问题中,多了关于扰动的约束

6. MPC与LQR

结论一:无约束状态镇定问题的MPC等价于有限时域的LQR问题

结论二:有约束状态镇定的MPC问题等价于 局部 有限时域的LQR问题,可行域越大,越可以去掉“局部”

Reference

  1. Bemporad. Model Preditive Control. 2020.