郝晓杰-1367106331-单级倒立摆的PID控制

发布时间 : 星期五 文章郝晓杰-1367106331-单级倒立摆的PID控制更新完毕开始阅读

图3.4 直线一级倒立摆系统

我们需要设几个参数:M小车质量、m摆杆质量、b小车摩擦系数、l摆杆转动轴心到杆质心的长度、I 摆杆惯量、F加在小车上的力、x小车位置、φ摆杆与垂直向上方向的夹角、θ摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)。

图3.5是系统中小车和摆杆的受力分析图。 其中, N 和 P 为小车与摆杆相互作用力的水平和垂直方向的分量。注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如图所示,图示方向为矢量正方向:

图3.5 (a)小车隔离受力图 (b)摆杆隔离受力图

分析小车水平方向所受的合力,可以得到以下方程:

???F?bx??N (3.1) Mx

由摆杆水平方向的受力进行分析可以得到下面等式:

d2N?m2?x?lsin??t

??co??2sin??ml?xs?ml?? (3.2)即 : N?m?

把这个(3.2)代入(3.1)中,就得到系统的第一个运动方程: ?m??cos?2sin???bx??ml??M?x??l???F (3.3)

??为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,

可以得到下面方程:

d2P?mg?m2?lcos??dt

???2即:P?mg??ml?sin??ml?cos? (3.4)

?? 因力矩平衡方程如下: ?Plsin??Nlcos??I?

(3.5)

将(3.4)与(3.2)代入(3.5)中消去P和N,得到第二个运动方程:

?I???mglsin???mlx??cos? (3.6) ?ml2??设?????(?是摆杆与垂直向上方向之间的夹角,?是摆杆与垂直向下方向之间的夹角),假设φ与1(单位是弧度)相比很小,即φ《1,则可以

2?d??cossin? ? ?进行近似处理: ? ? ? 1 , ? , ? ? 0 。 我们将外作用力F看做输? dt? ???入u,输出有两个,一个是小车位置x,还有一个是摆杆角度?,线性化后两个运动方程如下:

???mgl??mlx?I?ml2???????u?????M?mx?bx?ml?? (3.7)

本设计在对倒立摆校正时,只取一个被控量?进行PID控制,对方程组(3.7)

??进行拉普拉斯变换,得到

?I?ml2??s?s2?mgl??s??mlX?s?s2?22????????M?mXss?bXss?ml?ss?U?s? ?

注意:推导传递函数时假设初始条件为0。

由于输出为角度?,求解方程组(3.8)的第一个方程,可以得到:

?? (3.8)

?I?ml2g?X(s)???2???s?s??ml (3.9)

??把上式代入方程组(3.8)的第二个方程,得到:

?I?ml2?I?ml2g?g?2?M?m???2???s?s?b?-2???s?s?ml??s?s2?U?s?s?s??ml?ml(3.10)

整理后得到传递函数:

????ml2s???sq?U?s?bI?ml23?M?m?mgl2bmgl4s?s?s?sqqq

??(3.11)

其中:

q???m?M??I?ml2???ml?2?

系统状态空间方程为

??AX?Buxy?CX?Dn ???,?x方程组(3.12)对?解代数方程,得到解如下:

??x?x(3.12)

?I?ml2bm2gl2I?ml2?????xx??u222I?M?m??MmlI?M?m??MmlI?M?m??Mml??????mlbmgl(M?m)ml?x???u222??IM?m?MmlI(M?m)?MmlI(M?m)?Mml (3.13) 整理后得到系统状态空间方程:

?????????01???x??(I?ml2)b??0?2????x??I(M?m)?Mml????0?0????-mlb??0???I(M?m)?Mml2?0mglI(M?m)?Mml2mgl(M?m)I(M?m)?Mml2022??0?02???x??I?ml0?????2?x?I(M?m)?Mml???????1??0??ml??????0?????2???I(M?m)?Mml?

(3.14)

在建立起倒立摆的数学模型后,那么就要对具体的实际的倒立摆进行仿真研究了,即通过具体给定的模型参数(如小车质量、摆杆质量。小车摩擦系数等)确定实际的被控对象,在本设计中,采用被控对象的传递函数(3.11)。

?x??????0??x??1000??xy???????????u?0010???0??????????ml2s??s?q?U?s?bI?ml23?M?m?mgl2bmgl4s?s?s?sqqq??

其中:

(3.11)

q???m?M?I?ml2??ml???2?

当倒立摆模型的参数给定以后,代入传递函数(3.11)即可确定被控对象的具体表达式,为了节省中间复杂的计算,如下图所示:

在命令窗口运行如下:

由运行结果确定倒立摆模型的传递函数为

??s?1.4650s?3U?s?s?0.1171s2?15.7926s?1.7228

4.2 simulink模型建立

在确定好了具体的倒立摆模型传递函数以后,就可以对倒立摆进行PID校正,于是可以再MATLAB的simulink界面下搭建倒立摆的闭环控制系统。

打开MATLAB,进入simulink,并搭建起倒立摆控制系统的方框图,如下图所示:

联系合同范文客服:xxxxx#qq.com(#替换为@)