自学内容网 自学内容网

基于直线一阶倒立摆的控制(一)——倒立摆建模

一、基于小车模型 被控对象的数学建模

        参考如下情景假设构建倒立摆系统:在无外力作用时,倒立摆安装在小车上不能保持垂直状态而左右倾斜,为此需要给小车在水平方向上施加适当的作用力。为简化问题,一般忽略摆杆质量、伺服电动机惯性,以及摆轴、轮轴与接触面之间的摩擦力和风力,假设其位移可测。控制目标是为保持倒立摆垂直且使小车可停留在任意给定但可变更的位置上

        在进行系统建模时相关变量及含义分别如下表所示:

        

        我们可以观测的状态量为:x,q,\dot{x},q\dot{},分别为小车位移,旋转角度,小车速度,旋转速度,控制量为小车水平方向上受力:F。假设此处

        这里做一个替换,因为建模的时候,我选择了旋转坐标系,所以我的Z坐标为纵向坐标。小车的质心位置:(x,z),小车的速度:( \begin{array} {cc}\dot{x}, & \dot{z} \end{array}),对于小车而言,z 方向不做运动,所以小车的速度\dot{\boldsymbol{y}} 为一个常量 0。

        对于倒立摆部分,当前的模型假设无摆杆自身重力影响,重物的质心位置:

                                        ​​​​​​​        ​​​​​​​        x_m=x-lsin(q)

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​            y_m=y+\frac{h_{cart}}{2}+lcos(q)

        摆杆的位置是在车的顶部,所以高度为需要加上一半的车高,但如果为中心或者高度够小,就可以直接省略。倒立摆的重物速度:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        \dot{x}_m=\dot{x}-lcos(q)\dot{q}

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​  \dot{y}_m=-lsin(q)\dot{q}

二、动力学分析

        为了建立动力学方程,用到拉格朗日法来推导系统的运动方程。拉格朗日法通过定义系统的动能T与势能V来获得方程。拉格朗日量 = 系统动能 T - 系统势能 V。

2.1 动能

        小车的动能有两部分:

(1)小车的动能:                                  T_{\mathrm{cart}}=\frac{1}{2}M\dot{x}^2

(2)摆杆的动能:具有两个方向的动能

 · 摆杆沿着小车的运动方向移动 x :   \frac{1}{2}m\left(\dot{x}-l\dot{q}\cos(q)\right)^2

·  摆杆的重力方向 z:        ​​​​​​​        ​​​​​​​        ​​​​​​​     \frac{1}{2}m(-lsin(q)\dot{q})^2

·  得到系统总动能 T :        T=\frac{1}{2}(M+m)\dot{x}^2+\frac{1}{2}ml^2\dot{q}^2-mlcos(q)\dot{q}\dot{x}

2.2 势能

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        V=0+mglcos(q)+\frac{h_{cart}}{2}

2.3 拉格朗日方程

        结合得到:\mathcal{L}=\frac{1}{2}(M+m)\dot{x}^2+\frac{1}{2}ml^2\dot{q}^2-mlcos(q)\dot{q}\dot{x}-mglcos(q)

        小车在 x 方向上有F的力,但是旋转关节不受任何控制,得到

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​     \frac{d}{dt}\frac{\partial\mathcal{L}}{\partial\dot{x}}-\frac{\partial\mathcal{L}}{\partial x}=F

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​      \frac{d}{dt}\frac{\partial\mathcal{L}}{\partial\dot{q}}-\frac{\partial\mathcal{L}}{\partial q}=0

省略求导过程(可以用别的工具算),得到:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        (M+m)\ddot{x}+mlsin(q)\dot{q}^2-mlcos(q)\ddot{q}=F

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​             ml^2\ddot{q}-mlcos(q)\ddot{x}-mglsin(q)=0

        其实这里问题最多的就是符号问题,前面的过程得到的位置不同,这里的符号也会不同。

先假设 q趋近为0,那么得到 sin(q) = 0, cos(q)=1,得到局部线性化的模型:

                                                 \begin{bmatrix} & (M+m)\ddot{x}-ml\ddot{q}=F \\ & ml^2\ddot{q}-ml\ddot{x}-mglq=0 \end{bmatrix}

        这个系统是连续非时变系统,所以只有得到一个最优解就可以直接代入。得到矩阵如下:

        ​​​​​​​        ​​​​​​​        \frac{d}{dt} \begin{bmatrix} x \\ q \\ \dot{x} \\ \dot{q} \end{bmatrix}= \begin{bmatrix} 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & mg/M & 0 & 0 \\ 0 & (m+M)g/(Ml) & 0 & 0 \end{bmatrix} \begin{bmatrix} x \\ q \\ \dot{x} \\ \dot{q} \end{bmatrix}+ \begin{bmatrix} 0 \\ 0 \\ 1/M \\ 1/(Ml) \end{bmatrix}

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        output= \begin{bmatrix} x \\ q \\ \dot{x} \\ \dot{q} \end{bmatrix}= \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ q \\ \dot{x} \\ \dot{q} \end{bmatrix}+ \begin{bmatrix} 0 \\ 0 \\ 0 \\ 0 \end{bmatrix}


原文地址:https://blog.csdn.net/ArtoriaLili/article/details/144229752

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!