讲课15模型预测控制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

16.323讲课15

模型预测控制

z Allgower,F.,和A.Zheng,非线性模型预测控制,Springer-Verlag,2000。z Comacho,E.,和C.Bordons,模型预测控制,Springer-Verlag,1999。

z Kouvaritakis,B.,和M.Cannon,非线性预测控制:理论和实践,IEE出版社,2001。

z Maciejowski,J.,有约束的预测控制,Pearson Education POD,2002.

z Rossiter,J.A.,基于模型的预测控制:实践方法,CRC出版社,2003。

MPC

z 在讲课7的计划是有效“开环”

- 使用一个假设的模型和约束集设计控制输入序列u()t 。

- 问题是有模型误差与/或扰动时,这些输入不能产生期望的系统响应。 z 需要“闭环”策略补偿这些误差。

- 方法称作模型预测控制 - 也就是知名的滚动时域控制

z 基本策略:

- 在时刻k ,由当前状态x()k 使用系统模型的知识设计一个有限范围N 长的输入序列

u(|1),u(|2),u(|3),,u(|)k k k k k k k k N ++++…

- 实现输入序列的一部分,通常就是第一步。 - 在时间1k

+,对状态x(1)k +重复上述步骤

参考

旧输出

旧输入

过去当前未来时间

未来输入,没有控制

“最优的”未来输入

未来输出,没有控制

“最优的”未来输出MPC :基本思想(来自Bo Wahlberg )

MIT OCW 供图

z 注意控制算法是基于在每一步数值求解一个最优化问题

- 典型的有约束优化

z MPC 的主要优势:

- 明确说明系统约束。

不只是设计控制器使得系统远离约束。

- 可以容易处理非线性和时变对象动态,因为控制器是可以实时(和计划时间)修改的模型的显函数

z 许多商业应用的时间可以追溯到20世纪70年代早期,见

/~qin/cptv/cptv14.html

- 很多这些工作是过程控制 — 是非线性动态,但是变化不是特别快。

z 随着计算机速度的增长,应用该方法到更快的时间尺度引起了很多新的研究

兴趣:航天系统的轨道设计。

MIT OCW 供图

噪声

对象输出

对象

输出

噪声

轨道生成

轨道生成

参考

参考

反馈补偿

MPC 的实现结构(来自Mark Milam )

基本公式

z 给定一个对象动态集(假设线性)

x(1)x()u()

z()x()

k A k B k k C k +=+=

代价函数为

{

}zz

uu

z(|)

u(|)

(x(|))N

R R j J k j k k j k F k N k ==+++++∑

-

xx

z(|)

R k j k +是状态加权范数的缩写,与早期的工作一致,可以取

zz

zz z(|)

z(|)z(|)T R k j k k j k R k j k +=++

-

(x(|)F k N k +是终端代价函数

z 注意如果N →∞,而且z 和u 没有附加的约束,则这就是在3-14页解过的

离散LQR 问题。

- 注意本来是写为输入控制序列,但是这里看成线性状态反馈。 - 注意在标称的情况下,这两者没有区别。 - 但是有模型误差和扰动,状态反馈形式更不敏感。

⇒这是使用反馈的主要原因。

z 问题:当x 和u 限制增加的时候,不再能找到解析形式的通用解⇒必须用

数值求解。

z 尽管如此,对于很长的输入序列:

- 如果期望模型是错误的与/或有扰动,则求解是没有意义的,因为最终的计划实现不太可能(在那之后可以开始一个新的) - 较长的计划有更多的自由度,而且需要更长的时间计算。

z 一般使用较小的N 设计⇒短计划不能完成所有的目标。

- 经典的难题是N 到底需要多大?

- 如果计划不能达到目标,则必须开发一个残余的代价函数。

z 典型问题叙述:对于有限的N (0F

=)

{

}zz

uu

min z(|)

u(|)

N

R R u

j J k j k k j k ==+++∑

s.t. x(1|)x(|)u(|) x(|)x() z(|)x(|)

k j k A k j k B k j k k k k k j k C k j k ++=+++≡+=+ 而且 u(|)m k j k u +≤

z 考虑转化为更标准的优化问题。

z(|)x(|)k k C k k =

z(1|)x(1|)(x(|)u(|)) =x(|)u(|)

k k C k k C A k k B k k CA k k CB k k +=+=++

21z(2|)x(2|)

(x(1|)u(1|))

=(x(|)u(|)u(1|) =x(|)u(|)u(1|) z(|)=x(|)u N N k k C k k C A k k B k k CA A k k B k k CB k k CA k k CAB k k CB k k k N k CA k k CA B −+=+=+++++++++++

(|)u((1)|)

k k CB k N k +++−

z 组合这些方程为下列形式:

2

123

z(|)z(1|)=x(|)z(2|)z(|)0

000u(|)000u(1|)+00u(1|)N

N N N k k C k k CA k k k k CA k N k CA k k CB k k CAB CB k N k CA B CA B CA B CB −−−⎡⎤⎡⎤⎢⎥⎢⎥+⎢⎥⎢⎥

⎢⎥⎢⎥+⎢⎥⎢⎥

⎢⎥⎢⎥

⎢⎥⎢⎥+⎣⎦⎣⎦

⎡⎤⎡⎤⎢⎥⎢

⎢⎥+⎢

⎥⎢⎥⎢

⎥⎢⎥⎢⎥

⎢⎥+−⎣⎦⎢⎥⎣⎦

相关文档
最新文档