倒立摆——线性控制器设计——simulink仿真

没上过现代控制的课,想自己快速自学完,看了DR_CAN的课程,都很简短,都是干货。今天从状态空间表达到相图到LQR几乎快要看完了,仿真只做了这个倒立摆的线性控制器设计。
下面我以不同与原作者的方法实现了一下仿真。感兴趣的小伙伴可以看原视频,搜up名应该就能找到。同时也记录一下自己这一大半天观看的感受,自己对状态空间、现代控制的理解。
首先,状态空间是不同于经典控制传函的另一种系统的数学表达。当初学习经典控制的时候,对开环、闭环传函还没有什么特别清晰的认识。最近看过很多讲解后有了自己的理解:
传函或者状态空间都是对系统的数学描述,被控对象、传感器、控制器都可以建立数学模型,也就是根据已知的物理规律建立微分方程。拉氏变换后就是传函,确定状态量写成矩阵表达就是状态空间。
对各部件建立模型进行级联就可以组成整个系统,当然也可以先数学化简,使得只剩下一个传函或者没有反馈量的状态空间表达。
设计控制器的目的就是原系统性质不够好(不可控、不稳定、振动太大。。。)经典的PID控制就是赋予原系统惯性(D)、弹性(P)和阻尼(I),因为经典的mass-spring-damper模型只要参数合理就一定能达到期望性质,PID就是把各种各样的系统转化成mass-spring-damper

言归正传,倒立摆物理模型、数学模型:

状态空间及开环平衡点:

平衡点就是状态量导数为0的点,也就是常见的三种(山峰点、山谷点和转折点),这里角度平衡点是0°,也就是说角度为0是系统是稳定的。
设计期望为5°的控制器,使得系统在5°时是稳定的,当然这个可以是个变化的信号,达到跟踪期望值的效果。


利用Simulink状态空间模块仿真:






自己设计期望轨迹,观测跟踪效果:


其实设计控制器是只考虑了稳态响应,动态效应一般,响应比较慢。

之后可以考虑LQR设计提高其他性能