机械臂动力学与控制技术解析
1. 机械臂运动控制概述
机械臂的关节执行器需要以特定方式进行控制,才能完成给定任务。这要求对控制理论基础有深入理解。我们先推导机器人系统中常见的电动伺服电机和液压伺服电机的传递函数,再探讨由关节执行器和连杆惯性组成的单个机械臂关节执行器系统的传递函数。之后,会考虑阻尼、多关节耦合和稳态误差等因素对机器人控制系统性能的影响,最后讨论一些增强控制特性,如机器人系统的自适应控制。
2. 机械臂驱动的传递函数
2.1 电动伺服电机
电枢控制直流电机的控制方程推导如下:
- 电机的驱动转矩 $\tau$ 与施加到电机电枢的电流 $I_a$ 成正比,即 $\tau = K_tI_a$,其中 $K_t$ 是转矩常数。
- 电枢的电气特性由 $V_a = R_aI_a + V_b + L_a\frac{dI_a}{dt}$ 表示,其中 $V_a$ 是施加到电枢的电压,$V_b$ 是反电动势。通常假设电枢电感 $L_a$ 足够小,可以忽略不计。反电动势与电机轴的角速度成正比,即 $V_b = K_b\dot{\theta}$。
- 对于驱动具有有效惯性 $J$ 和粘性摩擦系数 $f$ 的负载的电机,其运动方程为 $\tau = J\ddot{\theta} + f\dot{\theta}$。
- 假设电感可忽略不计,由上述方程可得 $J\ddot{\theta} + F\dot{\theta} = K_mV_a$,其中 $F = f + \frac{K_bK_t}{R_a}$ 是有效粘性摩擦系数,$K_m = \frac{K_t}{R_a}$ 是有效电机增益。
- 伺服电机的传递函数为 $\frac{\theta(s)}{V(s)} = \frac{K_m}{s(Js + F)}$。
对应的方框图如图 12.10 所示:
graph LR
Va(s) -->|La+Ra| I
I -->|Kbs| Vb(s)
Va(s) -->|Km| J
J -->|1/s(Js + F)| e(s)
I -->|Kt| e(s)
2.2 液压伺服电机
在由液压伺服电机驱动的机器人中,动力传输介质通常是压力下的流体,如油。而气动系统一般使用空气作为动力传输介质。为推导传递函数,假设流体不可压缩,并忽略活塞周围的泄漏。
- 流量方程为 $q = K_1x + K_2P_n$,其中 $P_n$ 是压力差,$K_1$ 和 $K_2$ 是常数参数,通常从线性化的阀门特性中获得。
- 活塞的运动方程为 $M\frac{d^2X_A}{dt^2} + B\frac{dX_A}{dt} + KX_A = P_nA$。
- 结合这两个方程,通过拉普拉斯变换可得到传递函数。
3. 基本机械臂控制
机械臂关节执行器的基本动态方程,对于期望的关节运动 $\theta_d$ 可写为 $J\ddot{\theta} + F\dot{\theta} = k_a\theta_d$,其中 $k_a$ 是电机增益因子,$F$ 是等效粘性摩擦因子,$J$ 是执行器处的有效惯性,通常由连杆惯性 $I_l$ 和执行器惯性 $I$ 以 $J = I_l + r^2I$ 的形式组合而成,$r$ 是执行器与关节驱动之间的减速齿轮比。
- 执行器的传递函数为 $\frac{s\theta(s)}{s\theta_d(s)} = \frac{k_a}{sJ + F}$。
- 若使用转速计发电机的速率反馈,动态方程变为 $J\ddot{\theta} + (F + k_rk_a)\dot{\theta} = k_a\theta_d$,传递函数为 $\frac{s\theta(s)}{s\theta_d(s)} = \frac{k_a}{sJ + (F + k_rk_a)}$。
- 增加位置反馈后,动态方程为 $J\ddot{\theta} + (F + k_rk_a)\dot{\theta} + k_pk_a\theta = k_pk_a\theta_d$,传递函数为 $\frac{\theta(s)}{\theta_d(s)} = \frac{k_pk_a}{s^2 + s(F + k_rk_a) + k_pk_a}$。
常见的控制方式方框图如图 12.12 所示:
|控制方式|动态方程|传递函数|
| ---- | ---- | ---- |
|速率反馈|$J\ddot{\theta} + (F + k_rk_a)\dot{\theta} = k_a\theta_d$|$\frac{s\theta(s)}{s\theta_d(s)} = \frac{k_a}{sJ + (F + k_rk_a)}$|
|比例加速率控制|$J\ddot{\theta} + (F + k_rk_a)\dot{\theta} + k_pk_a\theta = k_pk_a\theta_d$|$\frac{\theta(s)}{\theta_d(s)} = \frac{k_pk_a}{s^2 + s(F + k_rk_a) + k_pk_a}$|
|比例、积分和速率控制|$J\ddot{\theta} + (F + k_rk_a)\dot{\theta} + k_pk_a\theta + k_ik_a\int\theta dt = k_ik_a\theta_d$|$\frac{\theta(s)}{\theta_i(s)} = \frac{k_a(k_ps + k_i)}{s^3J + (F + k_rk_a)s^2 + k_pk_as + k_ik_a}$|
通常在选择位置伺服的增益时,假设积分因子 $k_i$ 为零,此时位置伺服可简化为等效的二阶系统,其传递函数为 $\frac{\theta(s)}{\theta_i(s)} = \frac{k_ak_p}{s^2J + (F + k_rk_a)s + k_pk_a}$。该二阶模型的特征频率 $\omega_0$ 和阻尼比 $\xi$ 分别为:
- $\omega_0 = \sqrt{\frac{k_pk_a}{J}}$
- $\xi = \frac{F + k_rk_a}{2\sqrt{Jk_pk_a}}$
4. 控制性能的改进
4.1 阻尼
在机械臂运动中,阶跃输入响应不允许出现过冲。例如在插入操作中,过冲会使机械臂手超出所需位置。通过选择阻尼因子,将系统降为过阻尼二阶系统可消除过冲。
- 过阻尼系统($\xi > 1$)的条件为 $F + k_rk_a > 2\sqrt{Jk_pk_a}$。
- 对于具有可变惯性的机械臂连杆,固定位置伺服增益和可变速度伺服增益通常是合适的。对于临界阻尼($\xi = 1$),速度增益 $k_r$ 可由 $k_r = \frac{1}{k_a}(2\sqrt{Jk_pk_a} - F)$ 获得。对于已知的一对值 $(k_r^
, J^
)$,任意 $J$ 对应的速度增益 $k_r$ 可由 $k_r = \frac{1}{k_a}(G\sqrt{J} - F)$ 获得,其中 $G = \frac{k_r^
k_a + F}{\sqrt{J^
}}$。
4.2 稳态误差补偿
在机械臂操作中,减少由于外部转矩干扰、静态和动态库仑摩擦引起的稳态位置误差,可提高性能。
- 库仑摩擦引起的稳态误差衡量了关节的重复性。静态库仑摩擦 $T_s$ 是关节运动前必须克服的摩擦效应,关节运动时,该转矩降至动态库仑摩擦 $T_d$,它阻碍运动。重复性定义为导致伺服转矩响应等于 $T_d$ 的位置误差。可通过向关节提供前馈转矩来改善重复性:
- 当 $\dot{\theta} > 0$ 时,$T_{fr}(s) = T_d$;
- 当 $\dot{\theta} < 0$ 时,$T_{fr}(s) = -T_d$。
- 当关节静止时,必要的脉冲校正转矩为:
- 当 $\theta > 0$ 时,$T_{ff}(s) = T_s$;
- 当 $\theta < 0$ 时,$T_{ff}(s) = -T_s$。
- 重力补偿可通过向关节伺服提供额外的前馈转矩来实现,该转矩可设置为机械臂动力学中重力负载转矩项。
- 对于在移动坐标系中使用的机械臂,如末端执行器跟踪传送带时,稳态速度误差是一个重要的控制参数,可通过基于期望速度的前馈来消除。
- 加速度误差在机械臂高速运动时相对不重要,但在运动的起始(起飞)和结束(着陆)阶段变得相当显著。可通过包含前馈有效惯性增益来补偿加速度误差,有效惯性可近似为其最小值以提供部分补偿,但使用最大值可能会导致不期望的过冲运动。
4.3 关节耦合效应
上述控制方案是针对单个机械臂连杆单独考虑的,当同时考虑所有连杆的运动时,动态方程中会引入三种其他效应:惯性耦合、向心和科里奥利动态项。
- 惯性耦合可通过向适当的关节伺服添加额外的前馈增益因子来解决。
- 向心和科里奥利效应在机械臂高速运动时通常很显著,尽管它们不影响稳定性,但会导致位置误差。在控制简单机械臂时,当高速下位置精度不重要时,这些效应通常会被忽略。
- 在机械臂的实时控制中,高效计算关节转矩非常重要。可采用以下方案实现计算转矩控制的在线计算效率:
- 简化机械臂的基本方程,消除不重要的科里奥利和离心项,但在速度较大时,这种假设会导致机械臂性能变差。
- 用表格查找方案替换一些计算,预先计算并存储机械臂动力学。
- 使用基于拉格朗日和牛顿 - 欧拉方法的递归公式,从机械臂的基连杆或末端执行器开始顺序计算速度和加速度。
在装配操作中,机械臂可能需要施加力并控制位置,此时需要将位置伺服改为关节转矩伺服,通常配置为以应变作为误差信号的位置伺服形式。误差通过弹簧增益常数 $k_s$ 转换为转矩,转矩增益 $k_t$ 放大误差转矩。由于关节直接连接到电机,存在从关节转矩到电机的前馈项。为获得转矩伺服的性能参数,假设关节末端固定且不能移动,这将系统的惯性简化为驱动系统相对于输出轴的惯性。
5. 自适应控制
自适应控制是一类广泛的控制系统,它可调整控制信号以适应系统动力学的变化和环境干扰。这种控制方法非常适合高度非线性的机械臂控制问题。工业机器人动态性能受限的主要非线性效应包括可变负载和机器人在工作空间中不断变化的配置所引起的动态效应。由于这些非线性,经典线性控制系统在广泛的系统运行条件下无法提供一致的高性能。
- 模型参考自适应控制方案可补偿系统的非线性动力学和未知负载引起的性能下降。
- 以机器人应用中的去毛刺和抛光操作为例,有几种增强控制选项可提高效率:
- 软伺服可在程序的任何点保持所需的工具接触压力,该接触压力不受工具磨损或零件形状变化的影响。
- 自适应控制使机器人能够根据不同的接触条件选择合适的进给速率。在工具遇到毛刺之前使用快速反馈,遇到毛刺时使用较慢的进给速率,可减少工具的过度磨损和变形。
- 在抛光复杂形状时,软伺服可提供最佳的接触压力,带有合适传感器的自适应控制可有效抛光形状不确定和位置不明确的零件,还能补偿刷子的磨损。
graph LR
A[开始] --> B[选择控制方式]
B -->|速率反馈| C[计算速率反馈动态方程和传递函数]
B -->|比例加速率控制| D[计算比例加速率控制动态方程和传递函数]
B -->|比例、积分和速率控制| E[计算比例、积分和速率控制动态方程和传递函数]
C --> F[判断是否需要改进控制性能]
D --> F
E --> F
F -->|是| G[进行阻尼、稳态误差补偿和关节耦合效应处理]
F -->|否| H[结束]
G --> H
综上所述,机械臂的控制是一个复杂的过程,涉及多个方面的知识和技术。通过合理选择控制方式、改进控制性能和应用自适应控制等方法,可以提高机械臂的运动精度和工作效率,使其更好地适应各种工业应用场景。
机械臂动力学与控制技术解析(续)
6. 机械臂控制相关参数与特性总结
为了更清晰地理解机械臂控制中的各种参数和特性,我们将其总结如下表:
|参数/特性|含义|计算公式/说明|
| ---- | ---- | ---- |
|电机转矩常数 $K_t$|电机驱动转矩与电枢电流的比例系数|$\tau = K_tI_a$|
|反电动势常数 $K_b$|反电动势与电机轴角速度的比例系数|$V_b = K_b\dot{\theta}$|
|有效粘性摩擦系数 $F$|综合考虑粘性摩擦和反电动势影响的系数|$F = f + \frac{K_bK_t}{R_a}$|
|有效电机增益 $K_m$|电机输出与输入电压的有效比例关系|$K_m = \frac{K_t}{R_a}$|
|有效惯性 $J$|连杆惯性和执行器惯性的组合|$J = I_l + r^2I$|
|特征频率 $\omega_0$|二阶系统的固有频率|$\omega_0 = \sqrt{\frac{k_pk_a}{J}}$|
|阻尼比 $\xi$|衡量系统阻尼特性的参数|$\xi = \frac{F + k_rk_a}{2\sqrt{Jk_pk_a}}$|
7. 不同控制方式的应用场景分析
不同的控制方式适用于不同的机械臂应用场景,以下是详细分析:
-
速率反馈控制
:适用于对速度控制要求较高,且对位置精度要求相对较低的场景。例如,在一些需要快速调整机械臂速度的操作中,如快速搬运物体,速率反馈可以使机械臂迅速响应速度变化。
-
比例加速率控制
:结合了比例控制和速率控制的优点,既可以保证一定的位置精度,又能对速度变化做出快速响应。常用于需要在运动过程中同时控制位置和速度的场景,如机械臂的轨迹跟踪。
-
比例、积分和速率控制
:这种控制方式具有更好的稳态性能和抗干扰能力,适用于对位置精度要求极高的场景,如精密装配操作。通过积分项可以消除稳态误差,使机械臂能够准确到达目标位置。
8. 控制性能改进措施的操作流程
为了更好地实施控制性能改进措施,我们可以将其操作流程总结如下:
graph LR
A[开始] --> B[分析机械臂运动需求]
B --> C[判断是否存在过冲问题]
C -->|是| D[调整阻尼因子]
C -->|否| E[判断是否存在稳态误差问题]
D --> E
E -->|是| F[进行稳态误差补偿]
E -->|否| G[判断是否存在关节耦合问题]
F --> G
G -->|是| H[处理关节耦合效应]
G -->|否| I[结束]
H --> I
具体操作步骤如下:
1.
分析机械臂运动需求
:明确机械臂的应用场景和运动要求,如是否需要高精度定位、是否对速度变化敏感等。
2.
判断是否存在过冲问题
:观察机械臂的阶跃输入响应,若出现过冲现象,则进入调整阻尼因子步骤。
3.
调整阻尼因子
:根据过阻尼系统的条件 $F + k_rk_a > 2\sqrt{Jk_pk_a}$,计算合适的阻尼因子,将系统降为过阻尼二阶系统,消除过冲。
4.
判断是否存在稳态误差问题
:检查机械臂在运行过程中是否存在由于外部转矩干扰、库仑摩擦等引起的稳态位置误差。若存在,则进行稳态误差补偿。
5.
进行稳态误差补偿
:根据不同的误差来源,采取相应的补偿措施,如提供前馈转矩、进行重力补偿等。
6.
判断是否存在关节耦合问题
:当同时考虑多个连杆运动时,检查动态方程中是否出现惯性耦合、向心和科里奥利动态项。若存在,则处理关节耦合效应。
7.
处理关节耦合效应
:根据具体情况,采用添加前馈增益因子、简化方程、表格查找或递归公式等方法,解决关节耦合问题。
8.
结束
:完成所有改进措施后,检查机械臂的控制性能是否满足要求。
9. 自适应控制在实际应用中的优势
自适应控制在机械臂控制中具有显著的优势,主要体现在以下几个方面:
-
适应系统变化
:能够自动调整控制信号,以适应机械臂系统动力学的变化,如负载的变化、机器人配置的改变等。例如,当机械臂抓取不同重量的物体时,自适应控制可以实时调整控制参数,保证机械臂的稳定运行。
-
抵抗环境干扰
:可以有效应对环境干扰,如外部冲击力、摩擦力的变化等。在复杂的工业环境中,机械臂可能会受到各种干扰,自适应控制能够使机械臂保持良好的控制性能。
-
提高控制精度
:通过不断调整控制信号,自适应控制可以提高机械臂的控制精度,特别是在处理非线性问题时,能够提供比传统控制方法更好的性能。
10. 总结与展望
机械臂的动力学与控制是一个复杂而重要的领域,涉及到多个方面的知识和技术。通过合理选择控制方式、改进控制性能和应用自适应控制等方法,可以提高机械臂的运动精度和工作效率,使其更好地适应各种工业应用场景。
未来,随着科技的不断发展,机械臂的控制技术也将不断进步。例如,人工智能和机器学习技术的应用可能会使机械臂具有更强的自主学习和决策能力,能够更好地适应复杂多变的环境。同时,传感器技术的发展也将为机械臂的控制提供更准确的信息,进一步提高控制精度。我们期待机械臂在更多领域发挥更大的作用,为人类的生产和生活带来更多的便利。
超级会员免费看

被折叠的 条评论
为什么被折叠?



