控制算法
记系统状态为X=(x1,x2,x3,x4)=(x,dx/dt,phi,dphi/dt),则摆杆自然下垂位置为(0.5,0,3.1416,0).
要通过控制输入u(t)使得摆杆稳定在(a,0,0,0)或(a,0,6.2832,0)处,其中a为(-0.5,0.5)区间内任一点.
u(t) 为控制输入,在摆起阶段,当摆杆加速度大于零时,取u=+6;当摆杆加速度小于零时,取u=-6.这是仿真图中的Sign切换.
这里需要加入一个限制小车左右运动幅度过大而"撞墙"的控制,但是不知道应该怎么加,还请赐教.
小车来回运动几次后,当摆杆运动到倒立平衡点左右0.2弧度范围内,即摆角大于6.0832或小于0.2000时,控制输入切换为变结构控制输入:
u(t)=KX-k0*sat(S)=-96.7900x1-47.8962x2-150.2499x3-22.2593x4 - 0.3*sat(S),其中k0=0.3,sat(S)为饱和函数,
S=-7.1042x1+400.3580x2+2.0254x3-751.7869x4为滑模切换函数.这是仿真图中的Switch切换.
该控制方法来源于姚丽娜等<<倒立摆系统的变结构控制方案>>(控制理论与应用,2004/10,vol.21 No.5),但是该文只研究了稳定控制的方法,没有摆起阶段.
而且在倒立平衡点附近进行了线性化,简化了系统模型.我应用该文方法将极点配置在[-20,-16,-3+4j,-3-4j]处,然后得到了相应的反馈矩阵K和切换函数S.
另外,还有一个脉冲输入-pulse generator,它用于在初始稳定状态下触发摆起,一旦摆杆摆起即将该脉冲输入切断.
倒立摆系统的动态过程微分方程为:
[J0*d^2(phi)/dt^2]+mLcos(phi)*d^2x/dt^2=-C*d(phi)/dt+mLgsin(phi) 摆杆方程
M0*d^2x/dt^2+mLcos(phi)*d^2(phi)/dt^2=-(KT^2*Kg^2/Rar^2)*dx/dt+mLsin(phi)(d(phi)/dt)^2+(KT*Kg/Rar)*u(t) 小车方程