基本模型
电机模型:
Vm=iaRa+Ladtdia+Eb
反电动势 (emf) Eb 与角速度 φ˙ 相关。
Eb=Kbφ˙
因为:La<<Ra
所以:
ia=RaVm−Kbφ˙
电机转矩 τ 和反电动势 (emf) 有关:
τ=Ktia=KtRaVm−Kbφ˙(公式4)
符号 | 单位 | 定义 |
---|
θ | rad | 摆杆角度 |
φ | rad | 惯性轮角度 |
J₁ | kg.m² | 包括电机定子的摆杆转动惯量 |
J₂ | kg.m² | 包括电机转子的轮子转动惯量 |
c₁ | N.m.s/rad | 摆杆摩擦系数 |
c₂ | N.m.s/rad | 轮子摩擦系数 |
m₁ | kg | 摆杆和定子的质量 |
m₂ | kg | 轮子和转子的质量 |
l₁ | m | 从原点到摆杆重心的长度 |
l₂ | m | 从原点到轮子重心的长度 |
Kb | V/(rad/s) | 反电动势常数 |
Kt | N.m/A | 电机扭矩常数 |
Ra | Ω | 电枢绕组电阻 |
- 平动动能 Translational kinetic:
T1=21m1(l1θ˙)2+21m2(l2θ˙)2(公式6)
T2=21J1θ˙2+21J2(θ˙+φ˙)2(公式7)
系统的动能:
T=T1+T2=21(m1l12+m2l22+J1+J2)θ˙2+J2θ˙φ˙+21J2φ˙2(公式8)
以O点作为势能的基准。因此,势能为:
V=(m1l1+m2l2)gcos(θ)(公式9)
平面倒立摆的拉格朗日函数为:
L=T−V=21(m1l12+m2l22+J1+J2)θ˙2+J2θ˙φ˙+21J2φ˙2−(m1l1+m2l2)gcos(θ)(公式10)
耗散能量:
R=21c1θ˙2+21c2φ˙2(公式11)
从拉格朗日方程得到的关于 θ 的旋转轴上的力矩为,这个公式是最后一个公式需要用的:
dtd(∂θ˙∂L)+∂θ˙∂R−∂θ∂L=0(公式12)⇔(m1l12+m2l22+J1+J2)θ¨+J2φ¨+c1θ˙−(m1l1+m2l2)gsin(θ)=0(公式13)
从拉格朗日方程得到的关于 φ 的旋转轴上的力矩为:
dtd(∂φ˙∂L)+∂φ˙∂R−∂φ∂L=0(公式14)⇔J2(θ¨+φ¨)+c2φ˙=τ(公式15)
τ 是电机的扭矩。
因为:
τ=Ktia=KtRaVm−Kbφ˙(公式4)
由公式4和公式15可以得到:
J2(θ¨+φ¨)+c2φ˙=KtRaVm−Kbφ˙(公式16)
由公式13和公式16,平面倒立摆的非线性模型为:
[m1l12+m2l22+J1+J2J2J2J2][θ¨φ¨]+[c100RaKtKb+c2][θ˙φ˙]+[−(m1l1+m2l2)gsin(θ)0]=[0RaKt]Vm(公式17)
给IWP的参数:
Symbol | Value | Symbol | Value |
---|
J₁ | 0.01186 (kg·m²) | l₁ | 0.1053 (m) |
J₂ | 0.0005711 (kg·m²) | l₂ | 0.14 (m) |
c₁ | 0.04 (N·m·s/rad) | K_b | 0.0987 (V/(rad/s)) |
c₂ | 0.0001 (N·m·s/rad) | K_t | 0.0987 (N·m/A) |
m₁ | 0.826 (kg) | R_a | 1.5562 (Ω) |
m₂ | 0.583 (kg) | | |
- 电压输入 Vm 是控制变量
- 四个状态变量分别是 θ,θ˙,φ 和 φ˙
- 输出扭矩 τ 根据方程 (4) 计算
控制变量法-Vm 分析
从Simulink模型中,电压输入 Vm 以10V、15V和20V的步进形式施加。电压输入引起了车轮和摆锤的运动,如图8所示。
仿真结果表明:
- 在图8.a中,车轮的速度在约0.5秒时达到稳态。同时,直流电动机在车轮上产生一个力矩,如图8.b所示,惯性轮以一定的加速度旋转,如图8.c所示。摆锤被力矩驱动并围绕平衡位置摆动。从图8.d可以看出,较高的 Vm 使得摆锤角度的振幅更大,这表明在摆锤上生成的力更大。然而,摆锤的振荡频率在所有情况下都是相同的,这意味着 Vm 不影响摆锤的振荡频率。
- 当车轮速度进入稳态时,如图8.b所示,电机无法长时间维持转子力矩。在这个状态下,该力矩将等于摩擦力矩,车轮的加速度为零,摆锤仅受重力影响,并逐渐回到平衡位置 oscillates gradually back to equilibrium position。
控制变量法-l2 分析
在图 9.a、9.b、9.c 中,所有情形的响应都是相同的,这意味着 l2 对惯性轮运动的响应没有影响。然而,当 l2 改变时,摆的角度是不同的。在给电机相同电压的情况下,较大的 l2 会导致摆角幅度较小,这意味着作用在摆上的总力较小。此外,振荡频率较低且更稳定。
摆的长度会影响作用于摆上的力。选择适合 l2 的电机是有用的。较大的 l2 对摆角响应有负面影响。
控制变量法-J2 分析
另一个重要的IWP参数是飞轮的惯性矩J2。与l2的情况相同,直流电机将接收到20V的阶跃输入Vm。J2的值在0.0005kg.m²、0.002kg.m²和0.005kg.m²之间变化。其他参数保持与表2中一致。仿真结果显示:
-
在图10.a中,飞轮速度的定常时间随着J2的增加而变长,但稳态值在所有情况下都相同。在短时间内,电机扭矩在0秒时相同,但随着J2的增加,其影响时间也变长,如图10.b所示。在图10.c中,飞轮的加速度在0秒时不同:惯性矩较小的飞轮在起始时的加速度较高,但更快趋于零。
-
因此,在图10.d中,摆角的振幅在J2较大时也较大,这是因为电机扭矩的影响时间更长。
-
J2对电机的加速过程有积极影响,因此较大的J2有助于保持摆动的动量,但系统的质量也会增加。
控制变量法-质量m2分析
最后一个要模拟的参数是飞轮的质量m2。与l2、J2相似,直流电机将接收到20V的阶跃输入Vm,并将m2的值改变为0.5kg、0.8kg和1kg。其他参数保持不变。仿真结果显示:
- 从图11.a、11.b、11.c可以看出,所有m2的情况下,飞轮的速度、加速度和电机扭矩相同。因此,飞轮的质量对上述物理参数的响应没有影响。
- 从图11.d可以看出,较大的m2使得摆角的振幅较小,这是由于重力的影响。
- m2对系统的性能有负面影响。
对公式17的理解
动能与势能公式:
T=21(m1l12+m2l22+J1+J2)θ˙2+J2θ˙φ˙+21J2φ˙2
V=(m1l1+m2l2)gcos(θ)
拉格朗日方程导出:
(m1l12+m2l22+J1+J2)θ¨+J2φ¨+c1θ˙−(m1l1+m2l2)gsin(θ)=0
J2(θ¨+φ¨)+c2φ˙=τ
τ=KtRaVm−Kbφ˙
矩阵方程:
[m1l12+m2l22+J1+J2J2J2J2][θ¨φ¨]+[c100RaKtKb+c2][θ˙φ˙]+[−(m1l1+m2l2)gsin(θ)0]=[0RaKtVm]
结合矩阵形式,含有状态方程 θ 和 φ 的运动方程可以理解为:
使用矩阵表示:
A[θ¨φ¨]=−B[θ˙φ˙]+C
其中:
A=[m1l12+m2l22+J1+J2J2J2J2]
B=[c100RaKtKb+c2]
C=[−(m1l1+m2l2)gsin(θ)RaKtVm]
将 τ 代入第二个方程:
J2(θ¨+φ¨)+c2φ˙=KtRaVm−Kbφ˙
将矩阵形式重写:
AX¨=−BX˙+C
代码里acceleration是什么
在 MATLAB 中,A \ b
表示将线性方程组 (A x = b) 解出 (x),即 (x = A^{-1} b)。这个操作称为“左除”运算符,用于求解涉及矩阵的线性方程。
现在详细解释这行代码:
acceleration = A \ (-B * [theta_dot; phi_dot] + C);
背景和公式推导
我们原来推导的系统方程是:
AX¨=−BX˙+C
其中:
- X¨ 表示系统的加速度
- X˙ 表示系统的速度
- A、B 和 C 是系统的参数矩阵和向量
分解解释
-
矩阵定义:
A=(m1l12+m2l22+J1+J2J2J2J2)
B=(c100RaKtKb+c2)
C=(−(m1l1+m2l2)gsin(θ)RaKtVm)
-
速度向量 X˙:
X˙=(θ˙φ˙)
-
公式运算:
- 计算 −BX˙+C:
−B(θ˙φ˙)+C=−(c100RaKtKb+c2)(θ˙φ˙)+(−(m1l1+m2l2)gsin(θ)RaKtVm)
-
线性方程求解:
AX¨=−BX˙+C
X¨=A−1(−BX˙+C)
在 MATLAB 中,我们使用左除运算符 \
直接求解这个逆矩阵乘法,因此:
acceleration = A \ (-B * [theta_dot; phi_dot] + C);
这行代码计算的是系统当前状态下的加速度 θ¨ 和 φ¨,它们存储在 acceleration
向量中。
用简单的话来说,这行代码的目的是根据速度 θ˙ 和 φ˙ 以及其他参数,计算系统在当前状态下的角加速度 θ¨ 和 φ¨。
加入PID控制器