发明名称 一种无需物理参数的倒立摆自适应滑模控制方法
摘要 本发明一种无需物理参数的倒立摆自适应滑模控制方法,它有六大步骤:步骤一:获取倒立摆系统模型信息;步骤二:获取倒立摆的输出信息;步骤三:将设计好的控制律,作为输入信号,输入到倒立摆系统中;步骤四:查看控制效果;步骤五:判断是否需要对参数进行调整;步骤六:设计结束。该控制方法不仅能够对倒立摆系统实现很好的稳定性控制,还能在倒立摆系统物理信息未知的情况下得到对应的控制律。本发明使得该控制方法能够具有更为广泛的实用性,它在控制理论技术领域里具有广阔地应用前景。
申请公布号 CN102566418A 申请公布日期 2012.07.11
申请号 CN201210035926.5 申请日期 2012.02.17
申请人 北京国电蓝天节能科技开发有限公司 发明人 刘奕宁;徐则林;刘金琨
分类号 G05B13/00(2006.01)I 主分类号 G05B13/00(2006.01)I
代理机构 北京慧泉知识产权代理有限公司 11232 代理人 王顺荣;唐爱华
主权项 1.一种无需物理参数的倒立摆自适应滑模控制方法,其特征在于:该方法具体步骤如下:步骤1:获取倒立摆系统模型信息一阶车载式倒立摆系统由小车和摆杆构成,小车在有限导轨上作直线运动,摆杆与小车连接在一起,在竖直平面内作半圆周运动;根据牛顿-欧拉法,对该倒立摆系统进行数学分析,便得到其如下的数学模型:<maths num="0001"><![CDATA[<math><mrow><mfenced open='{' close='' separators=''><mtable><mtr><mtd><mi>F</mi><mo>=</mo><mrow><mo>(</mo><msub><mi>m</mi><mi>c</mi></msub><mo>+</mo><msub><mi>m</mi><mi>p</mi></msub><mo>)</mo></mrow><mover><mi>x</mi><mrow><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mrow></mover><mo>+</mo><msub><mi>m</mi><mi>p</mi></msub><mi>l</mi><mover><mi>&theta;</mi><mrow><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mrow></mover><mi>cos</mi><mi>&theta;</mi><mo>-</mo><msub><mi>m</mi><mi>p</mi></msub><mi>l</mi><msup><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msup><mi>sin</mi><mi>&theta;</mi><mo>+</mo><mi>b</mi><mover><mi>x</mi><mo>&CenterDot;</mo></mover></mtd></mtr><mtr><mtd><msub><mi>m</mi><mi>p</mi></msub><mi>gl</mi><mi>sin</mi><mi>&theta;</mi><mo>-</mo><mrow><mo>(</mo><mi>I</mi><mo>+</mo><msub><mi>m</mi><mi>p</mi></msub><msup><mi>l</mi><mn>2</mn></msup><mo>)</mo></mrow><mover><mi>&theta;</mi><mrow><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mrow></mover><mo>=</mo><msub><mi>m</mi><mi>p</mi></msub><mi>l</mi><mover><mi>x</mi><mrow><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mrow></mover><mi>cos</mi><mi>&theta;</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中各个参数所表示的意义为:小车质量m<sub>c</sub>,摆杆质量m<sub>p</sub>,摆杆重心到支撑点的长度l,重力加速度g,小车位置x,摆杆偏移角度θ,作用在小车上的驱动力F;对模型信息(1)进行相应变换,并令x<sub>1</sub>=θ、<img file="FDA0000136314460000012.GIF" wi="144" he="60" />得:<maths num="0002"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mn>1</mn></msub><mo>=</mo><msub><mi>x</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mtext>g</mtext><mrow><mo>(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>)</mo></mrow><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msub><mo>=</mo><mi>u</mi><mo>+</mo><msub><mi>&phi;</mi><mn>2</mn></msub><mi>tan</mi><msub><mi>x</mi><mn>1</mn></msub><mo>-</mo><msub><mi>&phi;</mi><mn>3</mn></msub><msubsup><mi>x</mi><mn>2</mn><mn>2</mn></msubsup><mi>sin</mi><msub><mi>x</mi><mn>1</mn></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中:<maths num="0003"><![CDATA[<math><mrow><msub><mi>&phi;</mi><mn>1</mn></msub><mo>=</mo><mrow><mo>(</mo><msub><mi>m</mi><mi>c</mi></msub><mo>+</mo><msub><mi>m</mi><mi>p</mi></msub><mo>)</mo></mrow><mo>[</mo><mfrac><mrow><mi>I</mi><mo>+</mo><msub><mi>m</mi><mi>p</mi></msub><msup><mi>l</mi><mn>2</mn></msup></mrow><mrow><msub><mi>m</mi><mi>p</mi></msub><mi>l</mi></mrow></mfrac><mo>]</mo><mo>,</mo></mrow></math>]]></maths>φ<sub>2</sub>=(m<sub>c</sub>+m<sub>p</sub>)g,φ<sub>3</sub>=m<sub>p</sub>l,u=-F,g(x<sub>1</sub>)=φ<sub>1</sub>secx<sub>1</sub>-φ<sub>3</sub>cosx<sub>1</sub>;而φ<sub>1</sub>、φ<sub>2</sub>、φ<sub>3</sub>就是未知的倒立摆系统物理参数信息;步骤2:获取倒立摆的输出信息根据倒立摆系统的模型信息,确定倒立摆系统的输出信息;倒立摆系统的输出信息需包括:摆杆的角度信息和摆杆的角速度信息;步骤3:将设计好的控制律,作为输入信号,输入到倒立摆系统中根据模型信息,通过Lyapunov稳定性理论设计出所对应的控制律,所设计的V函数为,V=V<sub>1</sub>+V<sub>2</sub>;其中:<maths num="0004"><![CDATA[<math><mrow><msub><mi>V</mi><mn>1</mn></msub><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>g</mi><mrow><mo>(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>)</mo></mrow><msup><mi>s</mi><mrow><mn>2</mn><mo>,</mo></mrow></msup></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><msub><mi>V</mi><mn>2</mn></msub><mo>=</mo><mfrac><mn>1</mn><msub><mrow><mn>2</mn><mi>&gamma;</mi></mrow><mn>1</mn></msub></mfrac><msup><mrow><mo>(</mo><msub><mi>&phi;</mi><mn>1</mn></msub><mo>-</mo><msub><mover><mi>&phi;</mi><mo>^</mo></mover><mn>1</mn></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><mfrac><mn>1</mn><msub><mrow><mn>2</mn><mi>&gamma;</mi></mrow><mn>2</mn></msub></mfrac><msup><mrow><mo>(</mo><msub><mi>&phi;</mi><mn>2</mn></msub><mo>-</mo><msub><mover><mi>&phi;</mi><mo>^</mo></mover><mn>2</mn></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><mfrac><mn>1</mn><msub><mrow><mn>2</mn><mi>&gamma;</mi></mrow><mn>3</mn></msub></mfrac><msup><mrow><mo>(</mo><msub><mi>&phi;</mi><mn>3</mn></msub><mo>-</mo><msub><mover><mi>&phi;</mi><mo>^</mo></mover><mn>3</mn></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></math>]]></maths>通过对V函数进行收敛性分析,得到所要的控制律,而最终设计出的控制律,包括两个部分:自适应调整律和控制输入律;而两者的表达式分别由以下两式给出:<maths num="0006"><![CDATA[<math><mrow><mfenced open='{' close='' separators=''><mtable><mtr><mtd><msub><mover><mover><mi>&phi;</mi><mo>^</mo></mover><mo>&CenterDot;</mo></mover><mn>1</mn></msub><mo>=</mo><msub><mi>&gamma;</mi><mn>1</mn></msub><mrow><mo>(</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>s</mi><mn>2</mn></msup><msub><mi>x</mi><mn>2</mn></msub><mi>sec</mi><msub><mi>x</mi><mn>1</mn></msub><mi>tan</mi><msub><mi>x</mi><mn>1</mn></msub><mo>+</mo><mi>s</mi><mi>sec</mi><msub><mi>x</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>c</mi><mover><mi>e</mi><mo>&CenterDot;</mo></mover><mo>-</mo><msub><mover><mi>&theta;</mi><mrow><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mrow></mover><mi>d</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mover><mover><mi>&phi;</mi><mo>^</mo></mover><mo>&CenterDot;</mo></mover><mn>2</mn></msub><mo>=</mo><msub><mi>&gamma;</mi><mn>2</mn></msub><mi>s</mi><mrow><mo>(</mo><mi>tan</mi><msub><mi>x</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>]</mo></mtd></mtr><mtr><mtd><msub><mover><mover><mi>&phi;</mi><mo>^</mo></mover><mo>&CenterDot;</mo></mover><mn>3</mn></msub><mo>=</mo><msub><mi>&gamma;</mi><mn>3</mn></msub><mrow><mo>(</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>s</mi><mn>2</mn></msup><msub><mi>x</mi><mn>2</mn></msub><mi>sin</mi><msub><mi>x</mi><mn>1</mn></msub><mo>-</mo><msubsup><mi>sx</mi><mn>2</mn><mn>2</mn></msubsup><mi>sin</mi><msub><mi>x</mi><mn>1</mn></msub><mo>-</mo><mi>s</mi><mi>cos</mi><msub><mi>x</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>c</mi><mover><mi>e</mi><mo>&CenterDot;</mo></mover><mo>-</mo><msub><mover><mi>&theta;</mi><mrow><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mrow></mover><mi>d</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0007"><![CDATA[<math><mrow><mi>u</mi><mo>=</mo><mo>-</mo><mi>&eta;sgn</mi><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mo>-</mo><msub><mover><mi>&phi;</mi><mo>^</mo></mover><mn>1</mn></msub><mrow><mo>(</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>sx</mi><mn>2</mn></msub><mi>sec</mi><msub><mi>x</mi><mn>1</mn></msub><mi>tan</mi><msub><mi>x</mi><mn>1</mn></msub><mo>+</mo><mi>sec</mi><msub><mi>x</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>c</mi><mover><mi>e</mi><mo>&CenterDot;</mo></mover><mo>-</mo><msub><mover><mi>&theta;</mi><mrow><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mrow></mover><mi>d</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>-</mo><msub><mover><mi>&phi;</mi><mo>^</mo></mover><mn>2</mn></msub><mi>tan</mi><msub><mi>x</mi><mn>1</mn></msub></mrow></math>]]></maths>(4)<maths num="0008"><![CDATA[<math><mrow><mo>-</mo><msub><mover><mi>&phi;</mi><mo>^</mo></mover><mn>3</mn></msub><mrow><mo>(</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>sx</mi><mn>2</mn></msub><mi>sin</mi><msub><mi>x</mi><mn>1</mn></msub><mo>-</mo><msubsup><mi>x</mi><mn>2</mn><mn>2</mn></msubsup><mrow><mi>sin</mi><msub><mi>x</mi><mn>1</mn></msub><mo>-</mo><mi>cos</mi></mrow><msub><mi>x</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>c</mi><mrow><mover><mi>e</mi><mo>&CenterDot;</mo></mover><msub><mrow><mo>-</mo><mover><mi>&theta;</mi><mrow><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mrow></mover></mrow><mi>d</mi></msub></mrow><mo>)</mo></mrow><mtext></mtext><mo>)</mo></mrow></mrow></math>]]></maths>其中滑模面<img file="FDA0000136314460000026.GIF" wi="207" he="41" />与理想位置误差e=x<sub>1</sub>-θ<sub>d</sub>,θ<sub>d</sub>为理想位置指令,η为干扰的上界;需要调节的几个参数为:c、γ<sub>1</sub>、γ<sub>2</sub>、γ<sub>3</sub>和η;其中,c:表示滑模面中对误差的调节增益;γ<sub>1</sub>、γ<sub>2</sub>、γ<sub>3</sub>:表示自适应调节律的调节增益;η:表示干扰的上界值;将控制律作为倒立摆系统的输入信号,输入到倒立摆系统中,实现对倒立摆系统的控制;步骤4:查看控制效果根据输入的控制律,得到在该组参数下所对应的控制效果,将控制效果以图表的形式表现出来,查看控制效果的响应速度、超调量是否满足要求;步骤5:判断是否需要对参数进行调整如果控制效果不能够满足要求,返回到步骤3,继续调节控制律中的参数,直到控制效果达到要求;如果控制效果能够满足要求,则保留该组参数,一直到设计结束;步骤6:设计结束整个设计过程重点考虑了三个方面的要求,首先是针对倒立摆系统的稳定性;其次是控制律设计中无需倒立摆系统的物理信息;最后,要保证控制效果能够满足发明要求;第一步中,需要确定倒立摆系统的数学模型;第二步中,需要得到倒立摆系统的输出信息;第三步中,需要得到无需物理参数的控制律;第四步和第五步,都是对之前所设计出的控制律进行参数调整。
地址 100081 北京市海淀区大柳树富海中心3号楼1501