LQR控制器
LQR控制器是一种常用的控制器,相比较直接设置特征值的控制器来说有很多优点。
一般来说,我们需要从以下这几个维度来评估控制器:
- 超调量
- 使系统达到稳定的时间
- 系统稳定后误差是否收敛
LQR控制器可以通过设置一个代价函数,将设计控制器转化为一个优化问题,通过这种方法可以直接影响输入输出误差以及控制量,从而达到最优控制。
该代价函数由两部分组成(实际上可以对不同要求通过自己设计代价方程来实现更复杂多样的控制器),第一部分为对输出的优化函数:
可以看出,该函数为输出和设定值的差的积分,具有以下特性:
- 输出震荡时间越长,误差越大,J值越大
通过状态方程将其变为:
在这里,我们可以设权重矩阵
。
第二部分为对输入的优化函数,可以实现对输入功率的设置要求:

本文介绍了如何在MATLAB中设计LQR控制器,并应用于双摆系统的仿真。LQR控制器通过优化代价函数影响输入输出误差和控制量,以达到最优控制。文章详细阐述了代价函数的组成部分,状态方程,以及如何设置权重矩阵。在MATLAB中,使用内置函数求解Riccati方程得到控制器系数。接着,文章展示了如何将LQR控制器应用到双摆系统的线性化模型上,并使用S Function进行仿真,观察不同Q阵对控制器性能的影响。
最低0.47元/天 解锁文章
849

被折叠的 条评论
为什么被折叠?



