完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
对于可镇定的线性系统:
写成闭环形式,也就是 我们的做法是通过选择反馈增益k来改变闭环矩阵 A c l 的特征值,从而控制系统的表现。 那么 什么样的反馈增益k才是最好的呢? 在优化理论中,引入cost function的概念,来帮助选择反馈增益k。 找到一个k,使得在满足镇定系统的同时,最小化cost function。 这里,矩阵Q和R都是对角正定矩阵,他们的每一个对角元素的值都代表着对每一个对应的状态 矩阵对角元素的值越大,表示对该状态或输入的惩罚越厉害。那么体现在最终系统的表现上就是,该状态或输入的值越小。 视频中,老师对倒立摆进行建模,得到其状态空间方程下的系统矩阵:A,B 然后利用simulink对其进行仿真:(这里目的主要是学习一下simulink仿真时,如何从0进行建模与simulink仿真) 第一次选择Q=[100 0; 0 1]; R=.01,在MATLAB中用 k=lqr(A,B,Q,R) 命令得到该cost function下的最有反馈增益k。其内部主要是通过求解Riccati方程得到k。 得到如下仿真曲线 可以看到状态最终能够被镇定到0,但是控制输入u太大。 那么接下来,可以尝试将和u相关的矩阵R的值给大一点。对u的值惩罚大,从而得到的仿真结果中,u的计算结果就相对要小一点。同时将Q矩阵中的元素值给小一点,表示不是很关心状态的收敛速度。 第二次选择Q=[1 0; 0 1]; R=100,在MATLAB中用 k=lqr(A,B,Q,R) 得到新的k,仿真得到如下对照曲线。(为了便于观察,复制了一份刚刚的系统,作为对照) 可以看到,蓝色的线条是第二组的仿真结果。收敛速度变慢了,但是控制输入u的值相对的变小了。这样更加符合实际情况,因为有时会考虑到执行器饱和的问题。 总结 这里主要是复习一下LQR的相关知识,并且系统的学习一下,对一个实际的问题进行建模、simulink仿真的过程。 simulink搭建一个模型的时候,主要考虑以下步骤: 将状态空间方程分别写成单个状态的表达式 用n个积分器由 x ˙ 得到 x ,从而得到各个状态,注意积分器要置初值,默认0 搭建控制输入u,构成闭环系统 必要时,对模块化的子系统创建subsystem,便于观察。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
4130 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
3221 浏览 1 评论
2747 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
2175 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
14939 浏览 2 评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
3084浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
1894浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
2064浏览 3评论
1976浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
2166浏览 3评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 04:19 , Processed in 0.648700 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1425