1. 旋转倒立摆系统概述
旋转倒立摆是控制理论研究中经典的欠驱动非线性系统,由一个可旋转的水平臂和自由摆动的垂直摆杆组成。这个看似简单的机械结构蕴含着丰富的控制理论挑战,包括非线性动力学、欠驱动特性、强耦合性和开环不稳定性等核心问题。
在实际操作中,我们通常使用直流电机驱动水平臂旋转,通过编码器测量旋转角度,另配摆杆角度传感器。系统状态变量一般包括:水平臂角度θ、角速度θ'、摆杆角度α和角速度α'。控制目标是通过调节电机电压,使摆杆保持垂直倒立状态,同时水平臂回到原点位置。
注意:旋转倒立摆与直线倒立摆的主要区别在于执行机构——前者通过旋转运动控制,后者通过直线位移控制。这导致两者的动力学方程和控制策略存在显著差异。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统建模与动力学分析
2.1 拉格朗日方程推导
采用拉格朗日力学方法建立系统动力学模型。定义拉格朗日函数L=T-V,其中T为系统总动能,V为总势能。对于旋转倒立摆:
- 水平臂动能:T_arm = (1/2)J_armθ'²
- 摆杆动能包含平动和转动分量:
T_pend = (1/2)m_pend[ (l_pend*α'cosα)² + (l_pendα'sinα + r_armθ')² ] + (1/2)J_pendα'² - 系统势能:V = m_pendgl_pend*cosα
通过拉格朗日方程d/dt(∂L/∂q') - ∂L/∂q = Q,得到非线性微分方程组:
J_eqθ'' + B_armθ' + m_pendr_arml_pend*(α''cosα - α'²sinα) = K_tu
(4/3)m_pendl_pend²α'' - m_pendgl_pendsinα + m_pendr_arml_pendθ''cosα = 0
其中J_eq = J_arm + m_pend*r_arm²为等效转动惯量,K_t为电机转矩常数,u为输入电压。
2.2 状态空间线性化
在平衡点(θ=0, α=0)附近进行泰勒展开,忽略高阶项,得到线性化模型:
状态向量x = [θ; α; θ'; α']
输入u = 电机电压
状态方程:
x' = Ax + Bu
输出方程:
y = Cx + Du
其中系统矩阵A、B可通过符号计算得到:
A = [ 0 0 1 0;
0 0 0 1;
0 a32 a33 a34;
0 a42 a43 a44 ]
B = [0; 0; b3; b4]
具体参数表达式涉及系统物理参数,如质量、长度、惯量等。
3. 控制策略设计与实现
3.1 PID控制器设计
基础PID控制器采用角度误差反馈:
u = Kp*(α_ref - α) + Ki*∫(α_ref - α)dt + Kd*(α'_ref - α')
参数整定步骤:
- 先设Ki=Kd=0,增大Kp
