倒立摆作为控制入门的一个实验,常规方法是自己写拉格朗日方程,线性化,再用simulink仿真出系统,调pid、lqr计算k之类的。如果对simscape比较熟悉,可以不写拉格朗日方程,用simscape建立倒立摆模型之后,用matlab函数直接求出simscape模型的线性化方程,再进行控制。
整个步骤在一级倒立摆上进行过实验,自己推倒的方程与matlab线性化后的基本一致,可能出错的地方在于
1.输入的类型,如小车的位移还是力,有的还有用加速度进行输入,但对于simscape只能用位移和力做输入。输入类型要与自己写的拉格朗日方程一致
2.模型的一致性,如转动惯量的计算、重心的位置等。重点还是转动惯量,在simscape中质量及转动惯量都是通过坐标转换和intera模型给定的(或者point mass和给定密度的方法),要一致。
二级倒立摆不知道为啥没对上,也懒得整了(笑嘻了,fw是这样的)。
刚开始弄得时候就寻思应该有这种方法,但一直没找到,自己推完方程弄完了才发现,遂记录一下,防止后边忘了。原网址好像是个睿慕课上整的好像。