《控制之美(卷2)》--最优控制、线性二次规划与模型预测控制
<div class='showpostmsg'> 本帖最后由 dirty 于 2024-2-25 18:00 编辑<p> 本篇讲述第三至五章节 最优控制的基本概念,动态规划与线性二次型调节器 和模型预测控制,在此做学习笔记并理解及代码仿真实践。</p>
<p>一.最优控制</p>
<p>1.最优控制问题的组成</p>
<p>(1)系统的数学模型</p>
<p> 在最优控制中,系统的数学模型多使用状态空间方程表示,系统的运行过程是其状态变量转移的过程,状态变量的转移在状态空间中形成了一条轨迹(trajectory),控制算法所做的就是规范这条轨迹。</p>
<p>(2)目标值(参考值)</p>
<p> 根据不同的应用场景,目标值可能是固定的数值,也可能是一个集合,或者是一个动态变化的轨迹。</p>
<p>(3)性能指标(代价函数)</p>
<p> 性能指标(也称为代价函数)是最优控制的关键,它用于衡量系统表现的优劣。性能指标通常是一个标量函数,它量化了系统的性能、效率或质量等方面的表现。</p>
<p>(4)约束条件</p>
<p> 在最优控制中,约束可以施加在状态变量上,,也可以施加在控制量上。需要注意的是,在考虑约束条件时,需要保证最优控制算法能够在约束范围内找到可行的解,避免过于严格的约束导致问题无解。</p>
<p> </p>
<p>2.常见的最优问题</p>
<p> 常见的最优控制问题:最短时间问题,末端控制问题,最小控制量问题,轨迹追踪问题,综合问题。 在分析求解最优化问题的过程中,需要注意以下几点。</p>
<p>(1)最优控制策略的存在性</p>
<p>(2)最优策略的多样性</p>
<p>(3)在最优化问题的建模过程中,尽量将性能指标与约束条件设计为凸函数。</p>
<p> </p>
<p>二.动态规划与线性二次调节器</p>
<p>1.动态规划是一种针对最优控制问题的优化方法,它将问题分解为一系列子问题,并使用递归的方式求解这些子问题,最终得到最优解。贝尔曼最优化理论的英文原文是这样描述的:<br />
An optimal policy has the property that whatever the initial state and initial decisionare, the remaining decisions must constitute an optimal policy with regard to the stateresulting from the first decision.<br />
这段话主要包含两个重要部分:第一,不管初始状态是什么,也不管初始控制决策是什么;第二,剩余的决策一定要符合最优策略。</p>
<p> 书中用数值方法讲述了无人机高度控制问题。通过暴力算法、逆向分级求解方法、动态规划查表法展开了讲解。</p>
<div style="text-align: center;"></div>
<div style="text-align: center;">图1:无人机最短用时仿真结果 </div>
<p> 上图展示了(a)速度与高度(b)高度与系统输入(c)速度与时间(d)高度与时间(e)系统输入有时间关系。</p>
<p> </p>
<p>2.系统为线性且性能指标采用二次型的形式,控制目标是将状态变量稳定在0(调节问题)。符合这种要求的控制器被称为<span style="color:#e74c3c;">线性二次型调节器</span>(linear quadratic regulator,<span style="color:#0000ff;"><strong>LQR</strong></span>)。该分为离散型线性二次型系统和连续型线性二次型系统。书中讲到一个典型应用问题--弹簧质量阻尼系统。 </p>
<p> </p>
<p>三.模型预测控制</p>
<p><span style="color:#e74c3c;"> 模型预测控制(Model Predictive Control,</span><strong><span style="color:#0000ff;">MPC</span></strong><span style="color:#e74c3c;">)</span>是一种广泛应用于工业控制领域的高级控制策略。MPC的基本思想是利用当前时刻系统的状态及约束条件,对未来一段时间内的状态、输人变量进行预测,并求解出一组最优的控制输入序列。随后,只选取最优控制序列中的第一组结果,将其应用于系统中。在下一时刻,重复同样的操作,得到新的最优控制序列,直到系统达到期望状态。</p>
<p> MPC是一种滚动优化(receding horizoncontrol)的控制方法。在每个采样时刻,MPC会通过求解一个有限时间内的最优化问题来计算最优控制序列,这一有限时间称为<span style="color:#e74c3c;">预测区间</span>(prediction horizon)。<span style="color:#e74c3c;">二次规划问题</span>(quadratic programming,<strong><span style="color:#0000ff;">QP</span></strong>)与线性MPC有着密切的关系。在模型预测控制中,我们需要在每个时刻通过预测模型来计算未来一段时间内的最优控制输入,而这个过程就可以转化为一个带有约束的二次规划问题。</p>
<p><span style="color:#0000ff;">二次规划问题的标准形式</span>可以表达为 即寻找令性能指标J最小的u值,同时满足约束条件 。u是nX1向量;H是nXn对称正定矩阵。目标函数由两部分构成,第一部分是二次型,第二部分是线性项,其中f为nX1向量。约束条件可以包含等式约束和不等式约束,同时也包含了“的取值范围,其中LB代表下限(lower bound),UB个表上限(upper bound),都是nX1向量。书中讲解了一个无约束二次规划例题,Octave仿真如下</p>
<div style="text-align: center;">
<div style="text-align: center;"></div>
<p> </p>
</div>
<div style="text-align: center;">图2:无约束二次规划</div>
<p> 图中(a)展示了本例中性能指标的三维图像,它是一个“碗状”的抛物面,极小值出现在“碗底”位置。图中(b)是以u,为横轴、u,为纵轴的等高线图,每一个圆环的“高度”是-致的(J相同),最小值位置在图的中心点。</p>
<p> 书中章节结合数学公式、代码示例讲解了模型控制推到--无约束调节问题、轨迹追踪问题,软约束与硬约束的讨论、无人机高度控制等,信息量还是比较大的,需要好好消化。最后对MPC发展方向进行的探讨:非线性MPC,大规模MPC,基于数据的MPC,多目标MPC。可以看出模型预测控制是很有发展前景的。</p>
<p> </p>
<p> 通过此学习,更进一步深入了解学习了控制论方法。确实能感受到大佬们的深厚理论功底和结合数学理论、工具解决现实中问题能力,向他们看齐,并以自勉。</p>
<p> </p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> 控制之美1看了,真的还行,控制之美2值得期待呢,不知道有木有电子版的。 艾默生321 发表于 2024-2-25 20:51
控制之美1看了,真的还行,控制之美2值得期待呢,不知道有木有电子版的。
<p>去年9月出版,感觉没这快有电子档吧</p>
页:
[1]