从正逆运动学到拉格朗日动力学,再到常见底盘轮系分析。
正逆运动学
坐标系建立(DH 参数法)
机器人关节一般为转动关节或平动关节。基座为惯性坐标系,末端为工具坐标系。
关节命名规则(i, i+1, i+2):
- Z 轴:以平动/转动方向为 Z 轴
- X 轴:两条 Z 轴共同垂直的直线为 X 轴
四个 DH 参数:
- αᵢ:将 Zᵢ₊₁ 沿 Xᵢ 平移至与 Zᵢ 相交的角度
- aᵢ:Zᵢ 轴到 Zᵢ₊₁ 轴的距离
- θᵢ:将 Xᵢ₊₁ 沿 Zᵢ₊₁ 平移至与 Xᵢ 相交的角度
- dᵢ:Xᵢ 轴到 Xᵢ₊₁ 轴的距离
正运动学
给定各关节角度,求末端位姿:
$$T_n^0 = A_1 A_2 \cdots A_n$$
其中 $A_i$ 是相邻连杆的齐次变换矩阵。
逆运动学
给定末端位姿,求各关节角度。通常比正运动学复杂,存在多解/无解的情况。
拉格朗日动力学
拉格朗日法从能量角度建立动力学方程,避免了牛顿-欧拉法中复杂的力分析。
拉格朗日函数
$$L = K - P$$
- K:系统动能
- P:系统势能
拉格朗日方程
$$\frac{d}{dt}\frac{\partial L}{\partial \dot{q}_i} - \frac{\partial L}{\partial q_i} = \tau_i$$
- $q_i$:广义坐标(关节角度)
- $\tau_i$:广义力(关节力矩)
推导步骤
- 建立运动学模型(DH 参数)
- 计算各连杆质心速度和雅可比矩阵
- 写出动能表达式:$K = \frac{1}{2}\dot{q}^T M(q)\dot{q}$
- 写出势能表达式
- 代入拉格朗日方程,得到 $M(q)\ddot{q} + C(q,\dot{q})\dot{q} + G(q) = \tau$
其中 $M(q)$ 为惯性矩阵,$C(q,\dot{q})$ 为科氏力/离心力矩阵,$G(q)$ 为重力项。
用 SymPy 可以做符号推导,避免手工计算出错。
常见底盘轮系
麦克纳姆轮
四个轮子呈 X 形或 O 形布置,每个轮子由独立电机驱动,通过辊子实现全向移动。
运动学方程:
设 $v_x, v_y, \omega$ 为底盘期望速度,$R$ 为车轮半径,$a, b$ 为轮子到中心的距离:
$$\begin{bmatrix} \omega_1 \ \omega_2 \ \omega_3 \ \omega_4 \end{bmatrix} = \frac{1}{R} \begin{bmatrix}
1 & -1 & -(a+b) \
1 & 1 & (a+b) \
1 & 1 & -(a+b) \
1 & -1 & (a+b)
\end{bmatrix} \begin{bmatrix} v_x \ v_y \ \omega \end{bmatrix}$$
其中 $\omega_i$ 为各轮角速度。
全向轮
三个全向轮呈 120° 均布,可实现平面全向移动:
$$\omega_i = \frac{1}{R}(-\sin\theta_i \cdot v_x + \cos\theta_i \cdot v_y + L \cdot \omega)$$
其中 $\theta_i$ 为各轮安装角度,$L$ 为轮心到中心的距离。
舵轮
舵轮结合了转向和驱动两个自由度,通过协调转向角和驱动速度实现运动。运动学模型比全向轮复杂,需要考虑转向角的约束。
机器人常用底盘对比
| 类型 | 自由度 | 优点 | 缺点 |
|---|---|---|---|
| 差速轮 | 2 | 结构简单,成本低 | 不能横向移动 |
| 麦克纳姆轮 | 3 | 全向移动灵活 | 效率较低,对地面要求高 |
| 全向轮 | 3 | 全向移动,效率高 | 承重能力有限 |
| 舵轮 | 3 | 承重大,越障好 | 结构复杂,控制难度高 |
| 履带 | 2 | 越障能力强 | 转向磨损大 |
舵轮控制难度较高的原因:需要保证各轮转向中心交于一点(阿克曼转向原理),否则会产生内应力损坏机构。