移动机器人和足式机器人代表了现代机器人学中最具挑战性和创新性的领域。从仓储物流的自主移动机器人(AMR)到能在复杂地形行走的四足机器人,再到接近人类运动能力的人形机器人,这些系统的控制涉及运动学、动力学、平衡、步态规划和环境适应等多个层面的复杂问题。本章将系统介绍移动机器人的各种运动形式及其控制方法,重点探讨轮式、足式和轮足混合机器人的控制策略,并通过Boston Dynamics、ANYbotics等领先企业的实际案例展示这些理论的工程应用。
轮式机器人是最常见的移动机器人形式,其运动学模型相对简单但在实际应用中极其重要。理解轮式机器人的运动学约束是设计有效控制器的基础。从工业AGV(自动导引车)到家用扫地机器人,从仓储物流机器人到自动驾驶汽车,轮式移动平台的控制理论贯穿了整个移动机器人产业。
轮式机器人的运动受到非完整约束(nonholonomic constraints)的限制。非完整约束是指系统的约束不能被积分成有限形式的位置约束,这类约束通常涉及速度但不能简化为纯位置关系。以最简单的独轮车模型为例:
前进方向
↑
|
+---+---+
| ● | ← 机器人本体
+-------+
|
v (x, y, θ)
独轮车模型的运动学方程为:
\[\begin{aligned} \dot{x} &= v \cos\theta \\ \dot{y} &= v \sin\theta \\ \dot{\theta} &= \omega \end{aligned}\]其中 $(x, y)$ 是位置坐标,$\theta$ 是航向角,$v$ 是线速度,$\omega$ 是角速度。
非完整约束表现为:机器人不能侧向移动,即:
\[\dot{x}\sin\theta - \dot{y}\cos\theta = 0\]这个约束导致轮式机器人不能直接到达某些位姿,必须通过适当的路径规划和控制策略来实现目标。这个约束的物理意义是轮子的滚动约束——理想情况下轮子只能向前滚动,不能侧滑。
从控制理论角度,非完整系统具有以下特性:
这些特性深刻影响了轮式机器人的控制器设计。例如,停车问题看似简单,但由于非完整约束的存在,平行停车需要复杂的前进-后退序列才能完成。
对于轨迹跟踪问题,关键是定义合适的误差坐标系。在机器人本体坐标系下定义跟踪误差:
\[\begin{bmatrix} e_x \\ e_y \\ e_\theta \end{bmatrix} = \begin{bmatrix} \cos\theta & \sin\theta & 0 \\ -\sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x_r - x \\ y_r - y \\ \theta_r - \theta \end{bmatrix}\]其中下标 $r$ 表示参考轨迹。这个变换将全局坐标系下的误差转换到机器人本体坐标系,其中 $e_x$ 是纵向误差,$e_y$ 是横向误差,$e_\theta$ 是航向误差。
误差动力学可以推导为:
\[\begin{aligned} \dot{e}_x &= -v + v_r\cos e_\theta + e_y\omega \\ \dot{e}_y &= v_r\sin e_\theta - e_x\omega \\ \dot{e}_\theta &= \omega_r - \omega \end{aligned}\]基于Lyapunov方法设计的经典控制律为:
\[\begin{aligned} v &= v_r \cos e_\theta + k_x e_x \\ \omega &= \omega_r + v_r(k_y e_y + k_\theta \sin e_\theta) \end{aligned}\]其中 $k_x, k_y, k_\theta > 0$ 是控制增益。选择Lyapunov函数:
\[V = \frac{1}{2}(e_x^2 + e_y^2) + \frac{1-\cos e_\theta}{k_y}\]可以证明 $\dot{V} \leq 0$,从而保证跟踪误差渐近收敛到零。控制增益的选择需要权衡收敛速度和控制输入的平滑性:
轮式机器人的路径规划需要考虑非完整约束,这使得规划问题比全向机器人更具挑战性。规划算法必须生成动力学可行的轨迹,即满足运动学约束的路径。
几何路径类型:
常用规划方法:
基于优化的方法: 将路径规划转化为非线性优化问题: \(\min_{u(\cdot)} \int_0^T L(x(t), u(t))dt\) 约束条件包括运动学方程、障碍物避让和边界条件
分层规划架构:
实际系统通常采用三层架构:
任务层(1-10 Hz)
↓ 目标点序列
全局规划层(1-5 Hz)
↓ 参考路径
局部规划层(10-50 Hz)
↓ 速度命令
反应控制层(50-1000 Hz)
两种最基本的轮式驱动方式——差分驱动和阿克曼转向——分别代表了室内移动机器人和道路车辆的主流选择。理解这两种驱动方式的运动学特性和控制策略对于设计实际系统至关重要。
差分驱动是最常见的驱动方式,通过控制左右轮的速度差实现转向。这种配置广泛应用于室内机器人、轮椅、坦克等系统:
左轮 ←→ 右轮
vL vR
↓ ↓
+---------+
| ● | 机器人中心
| |
+---------+
2L
运动学模型推导:
考虑机器人在时间 $dt$ 内的运动,如果左右轮速度不同,机器人将沿圆弧运动。瞬时旋转中心(ICR)到左右轮的距离分别为 $R-L$ 和 $R+L$,其中 $R$ 是ICR到机器人中心的距离。
根据刚体运动学:
\[\begin{aligned} v &= \frac{v_R + v_L}{2} \\ \omega &= \frac{v_R - v_L}{2L} \end{aligned}\]其中 $L$ 是轮间距的一半,$v_L, v_R$ 分别是左右轮速度。
逆运动学(给定 $v, \omega$ 求轮速):
\[\begin{aligned} v_L &= v - L\omega \\ v_R &= v + L\omega \end{aligned}\]奇异性分析:
差分驱动的一个重要特性是可以原地旋转($v=0, \omega\neq0$),此时 $v_L = -v_R$。这种能力使得差分驱动机器人在狭窄空间中具有优越的机动性。
里程计计算:
基于编码器读数的里程计更新:
\[\begin{aligned} \Delta s_L &= \text{encoder}_L \times \frac{2\pi r}{N} \\ \Delta s_R &= \text{encoder}_R \times \frac{2\pi r}{N} \\ \Delta \theta &= \frac{\Delta s_R - \Delta s_L}{2L} \\ \Delta x &= \frac{\Delta s_R + \Delta s_L}{2} \cos(\theta + \frac{\Delta\theta}{2}) \\ \Delta y &= \frac{\Delta s_R + \Delta s_L}{2} \sin(\theta + \frac{\Delta\theta}{2}) \end{aligned}\]其中 $r$ 是轮半径,$N$ 是编码器分辨率。使用中点角度 $\theta + \Delta\theta/2$ 可以减少数值积分误差。
阿克曼转向广泛用于汽车和类汽车机器人,其设计目的是确保转弯时所有轮子都做纯滚动运动,避免侧滑:
前轮
δL ← → δR
\ /
\ /
● 转向中心(ICR)
/ \
/ \
后轮(固定)
理想阿克曼几何:
理想阿克曼条件确保所有轮子绕同一瞬时旋转中心转动:
\[\cot\delta_R - \cot\delta_L = \frac{W}{L}\]其中 $W$ 是轮距,$L$ 是轴距。对于小角度近似,内外轮转角关系为:
\[\delta_L \approx \delta + \frac{W}{2L}\delta^2, \quad \delta_R \approx \delta - \frac{W}{2L}\delta^2\]其中 $\delta$ 是等效前轮转角。
自行车模型:
为简化分析,常使用自行车模型(前后各用一个等效轮):
运动学模型(低速,忽略侧滑): \(\begin{aligned} \dot{x} &= v\cos\theta \\ \dot{y} &= v\sin\theta \\ \dot{\theta} &= \frac{v}{L}\tan\delta \\ \end{aligned}\)
动力学模型(考虑侧滑): \(\begin{aligned} \dot{x} &= v\cos(\theta + \beta) \\ \dot{y} &= v\sin(\theta + \beta) \\ \dot{\theta} &= \frac{v}{l_r}\sin\beta \\ \dot{v} &= a \\ \beta &= \arctan\left(\frac{l_r}{l_f + l_r}\tan\delta\right) \end{aligned}\)
其中 $\beta$ 是质心侧滑角,$l_f, l_r$ 是前后轴到质心的距离。
最小转弯半径:
阿克曼转向的一个关键限制是最小转弯半径:
\[R_{min} = \frac{L}{\tan\delta_{max}}\]典型乘用车的最小转弯半径约为5-6米,这个限制对路径规划有重要影响。
高速动力学考虑:
高速时轮胎侧向力变得重要,需要考虑:
性能特性对比:
| 特性 | 差分驱动 | 阿克曼转向 |
|---|---|---|
| 最小转弯半径 | 0(可原地旋转) | $L/\tan\delta_{max}$ |
| 高速稳定性 | 较差 | 优秀 |
| 能量效率 | 中等 | 高 |
| 机械复杂度 | 简单 | 复杂 |
| 控制复杂度 | 简单 | 中等 |
| 典型应用 | 室内AGV、扫地机器人 | 汽车、户外机器人 |
控制器设计考虑:
混合策略:
一些现代系统结合两种方式的优点:
麦克纳姆轮(Mecanum wheel)和全向轮(Omni wheel)实现了真正的全向移动,突破了非完整约束的限制。
麦克纳姆轮的滚子与轮轴成45°角排列:
前
↑
┌─────────┐
│ ╱ ╲ │ 轮1: +45° 轮2: -45°
│╱ ╲ │
│ │
│╲ ╱ │
│ ╲ ╱ │ 轮3: -45° 轮4: +45°
└─────────┘
单个麦轮的速度贡献:
\[\begin{bmatrix} v_x^i \\ v_y^i \\ \omega^i \end{bmatrix} = \begin{bmatrix} 1 & -\sin\alpha_i & -l_i\sin(\beta_i + \alpha_i) \\ 0 & \cos\alpha_i & l_i\cos(\beta_i + \alpha_i) \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} \omega_i \\ 0 \\ 0 \end{bmatrix}\]其中 $\alpha_i$ 是滚子角度,$l_i$ 是轮子到机器人中心的距离,$\beta_i$ 是轮子方位角。
标准四轮麦克纳姆配置的逆运动学:
\[\begin{bmatrix} \omega_1 \\ \omega_2 \\ \omega_3 \\ \omega_4 \end{bmatrix} = \frac{1}{R} \begin{bmatrix} 1 & -1 & -(L_x + L_y) \\ 1 & 1 & (L_x + L_y) \\ 1 & 1 & -(L_x + L_y) \\ 1 & -1 & (L_x + L_y) \end{bmatrix} \begin{bmatrix} v_x \\ v_y \\ \omega_z \end{bmatrix}\]其中 $R$ 是轮半径,$L_x, L_y$ 是机器人尺寸参数。
正运动学(考虑冗余):
\[\begin{bmatrix} v_x \\ v_y \\ \omega_z \end{bmatrix} = \frac{R}{4} \begin{bmatrix} 1 & 1 & 1 & 1 \\ -1 & 1 & 1 & -1 \\ -\frac{1}{L_x+L_y} & \frac{1}{L_x+L_y} & -\frac{1}{L_x+L_y} & \frac{1}{L_x+L_y} \end{bmatrix} \begin{bmatrix} \omega_1 \\ \omega_2 \\ \omega_3 \\ \omega_4 \end{bmatrix}\]全向移动的优势在于可以解耦位置和姿态控制:
\[\begin{aligned} v_x &= k_p(x_d - x) + k_d\dot{x}_d \\ v_y &= k_p(y_d - y) + k_d\dot{y}_d \\ \omega_z &= k_\theta(\theta_d - \theta) + k_\omega\dot{\theta}_d \end{aligned}\]实际应用中需要考虑:
Amazon Kiva(现Amazon Robotics)使用差分驱动而非麦轮,但通过巧妙的路径规划实现高效仓储:
关键控制创新:
足式机器人通过离散的立足点实现移动,其控制核心是步态生成和稳定性维持。
步态定义了腿的协调运动模式。常见步态包括:
时间 →
腿1: ■■□□■■□□ (■=支撑相, □=摆动相)
腿2: □□■■□□■■
腿3: ■■□□■■□□
腿4: □□■■□□■■
↑ Trot步态示例
主要步态类型:
CPG通过耦合振荡器网络生成节律性运动:
\[\begin{aligned} \dot{r}_i &= a(R - r_i) + \sum_j w_{ij}r_j\cos(\phi_j - \phi_i - \psi_{ij}) \\ \dot{\phi}_i &= \omega + \sum_j w_{ij}\frac{r_j}{r_i}\sin(\phi_j - \phi_i - \psi_{ij}) \end{aligned}\]其中 $r_i, \phi_i$ 是第 $i$ 个振荡器的幅值和相位,$w_{ij}$ 是耦合权重,$\psi_{ij}$ 是期望相位差。
CPG优势:
零力矩点(Zero Moment Point, ZMP)是评估动态稳定性的关键指标:
\[\mathbf{p}_{ZMP} = \frac{\sum_i m_i(\mathbf{r}_i \times (\ddot{\mathbf{r}}_i + \mathbf{g})) \times \mathbf{n}}{\sum_i m_i(\ddot{\mathbf{r}}_i + \mathbf{g}) \cdot \mathbf{n}}\]稳定性准则:ZMP必须位于支撑多边形内。
线性倒立摆模型(LIPM)简化了ZMP计算:
\[\ddot{x} = \frac{g}{z_c}(x - p_x)\]其中 $z_c$ 是质心高度(假设恒定),$p_x$ 是ZMP的x坐标。
现代方法使用轨迹优化生成动态可行的运动:
\[\min_{x, u} \sum_{t=0}^{T} \ell(x_t, u_t) + \ell_f(x_T)\]约束条件:
轮足式机器人结合了轮式的高效性和足式的地形适应能力,代表了移动机器人的新趋势。
轮足机器人典型配置:
轮式模式 足式模式 混合模式
___________ ___________ ___________
| □ | | □ | | □ |
| /|\ | | /|\ | | /|\ |
| / | \ | | / | \ | | / | \ |
● | ● ∧ | ∧ ● | ∧
地面 地面 地面
模式切换策略基于:
将轮足系统建模为带约束的混合动力系统:
\[M(q)\ddot{q} + C(q,\dot{q})\dot{q} + G(q) = B\tau + J^T(q)F\]其中 $q$ 包含本体位姿和关节角度,$F$ 是接触力(包括轮地接触)。
控制分解为:
平滑切换需要:
\[u = \alpha(t)u_{wheel} + (1-\alpha(t))u_{leg}\]其中 $\alpha(t)$ 是平滑过渡函数:
\[\alpha(t) = \frac{1}{2}\left(1 + \tanh\left(\frac{t - t_{switch}}{\tau}\right)\right)\]切换时机判断基于:
最优力分配问题:
\[\min_{\tau, F} \|\tau\|_W^2 + \|F\|_R^2\]约束:
| 摩擦锥:$ | F_t | \leq \mu F_n$ |
| 扭矩限制:$ | \tau | \leq \tau_{max}$ |
这可以转化为二次规划(QP)问题实时求解。
全身控制协调机器人所有自由度来完成复杂任务,特别适用于人形和四足机器人。
定义多个任务的优先级:
\[\dot{x}_i = J_i(q)\dot{q}\]分层QP框架:
\[\begin{aligned} \min_{\dot{q}, \tau} &\quad \|J_1\dot{q} - \dot{x}_1^*\|^2 \\ \text{s.t.} &\quad J_2\dot{q} = \dot{x}_2^* \\ &\quad \underline{\dot{q}} \leq \dot{q} \leq \overline{\dot{q}} \\ &\quad \underline{\tau} \leq \tau \leq \overline{\tau} \end{aligned}\]投影到零空间保证高优先级任务不受影响:
\[\dot{q} = J_1^+\dot{x}_1 + (I - J_1^+J_1)J_2^+\dot{x}_2\]其中 $J^+$ 是加权伪逆:
\[J^+ = W^{-1}J^T(JW^{-1}J^T)^{-1}\]考虑多点接触的力分配:
\[\begin{aligned} \min_{F_c} &\quad \sum_i \|F_{c,i}\|^2 \\ \text{s.t.} &\quad \sum_i J_{c,i}^T F_{c,i} = \tau_{des} \\ &\quad F_{c,i} \in \mathcal{K}_i \end{aligned}\]其中 $\mathcal{K}_i$ 是第 $i$ 个接触点的摩擦锥。
地形重建方法:
地形特征提取:
根据地形调整步态参数:
\[\begin{aligned} h_{step} &= h_0 + k_h \cdot \text{roughness} \\ T_{swing} &= T_0 \sqrt{1 + k_T \cdot \text{slope}} \\ \beta_{duty} &= \beta_0 - k_\beta \cdot \text{uncertainty} \end{aligned}\]其中 $h_{step}$ 是步高,$T_{swing}$ 是摆动时间,$\beta_{duty}$ 是占空比。
基于虚拟模型控制(VMC):
\[F_{virtual} = K_p(x_{des} - x) + K_d(\dot{x}_{des} - \dot{x})\]映射到关节力矩:
\[\tau = J^T F_{virtual} + \tau_{ff}\]加入自适应项处理未知扰动:
\[\tau = J^T F_{virtual} + \tau_{ff} + K_{adapt}\int e \, dt\]使用简化模型预测未来状态:
\[x_{k+1} = Ax_k + Bu_k + w_k\]MPC公式化:
\[\min_{u_0,...,u_{N-1}} \sum_{k=0}^{N-1} (x_k^TQx_k + u_k^TRu_k) + x_N^TQ_fx_N\]约束包括:
Atlas展示了人形机器人控制的最高水平,其核心控制策略包括:
1. 分层控制架构
行为层 (1-10 Hz)
↓
轨迹优化层 (50-100 Hz)
↓
全身控制层 (200-1000 Hz)
↓
关节控制层 (1-5 kHz)
2. 动量控制
Atlas使用质心动量作为主要控制量:
\[h = \sum_i m_i(r_i \times v_i) + I_i\omega_i\]控制目标: \(\dot{h}_{des} = K_p(h_{ref} - h) + \dot{h}_{ref}\)
通过优化求解关节加速度: \(\min_{\ddot{q}} \|A\ddot{q} - \dot{h}_{des}\|^2 + \alpha\|\ddot{q}\|^2\)
3. 跑酷能力的实现
Atlas的跑酷展示涉及:
关键创新:
ANYmal代表了四足机器人商业化的前沿,其控制系统针对实际应用优化:
1. 感知与地图构建
2. 运动控制器
分层MPC架构:
质心动力学MPC: \(\min \sum_{k=0}^{N} \|x_k - x_{ref}\|_Q^2 + \|u_k\|_R^2\)
其中状态 $x = [r, \dot{r}, \theta, \omega]$,控制 $u$ 为足端力。
3. 学习增强控制
ANYmal结合了模型控制和强化学习:
其中 $\alpha$ 根据置信度动态调整。
Swiss-Mile展示了轮足混合的优势:
1. 模式决策
基于成本函数的模式选择: \(J_{mode} = w_1 E_{energy} + w_2 T_{time} + w_3 R_{risk}\)
决策规则:
2. 转换控制
平滑转换策略:
# 伪代码
if mode_change_triggered:
α = smooth_transition(t)
τ_cmd = α * τ_wheel + (1-α) * τ_leg
adjust_body_height(α)
update_contact_schedule(α)
3. 统一优化框架
\[\min_{\tau, F, \dot{q}} \sum_i w_i \|task_i\|^2\]约束统一处理轮地和足地接触。
Kiva系统展示了大规模多机器人协调:
1. 路径规划
2. 轨迹跟踪
纯追踪算法改进版: \(\delta = \arctan\left(\frac{2L\sin\alpha}{l_d}\right)\)
加入预测补偿: \(\delta_{cmd} = \delta + k_p e_{lateral} + k_d \dot{e}_{lateral}\)
3. 多机器人协调
分布式协调协议:
Digit专为物流设计,强调鲁棒性和效率:
1. 步态优化
基于能耗的步态参数优化: \(\min_{\theta} \int_0^T P(\theta, t) dt\)
其中 $\theta$ 包含步长、步高、步频等参数。
2. 操作控制
结合运动和操作的全身控制:
3. 安全机制
多层安全保障:
纯学习方法:
混合方法:
域随机化: \(p_{train}(\xi) = \mathcal{U}(\xi_{min}, \xi_{max})\)
参数包括:
自适应方法: 在线估计真实参数: \(\hat{\xi} = \arg\min_\xi \|y_{obs} - y_{sim}(\xi)\|^2\)
渐进式任务难度:
奖励函数设计: \(r = r_{task} + \lambda_1 r_{energy} + \lambda_2 r_{smooth} - \lambda_3 r_{penalty}\)
约束强化学习(Safe RL): \(\max_\pi J(\pi) \quad \text{s.t.} \quad C(\pi) \leq c_{max}\)
其中 $C(\pi)$ 是安全违反的期望成本。
实现方法:
Marc Raibert是动态腿式机器人控制的先驱,他在MIT腿式机器人实验室的工作奠定了现代足式机器人的基础。
虚拟腿概念:将多腿系统简化为单腿模型,大大简化了控制设计。
Raibert的单腿跳跃控制:
\[\begin{aligned} x_{foot} &= x_{hip} + \frac{\dot{x} \cdot T_{stance}}{2} + k_v(\dot{x}_{des} - \dot{x}) \\ F_{thrust} &= F_0 + k_h(h_{des} - h) \\ \tau_{hip} &= k_p(\theta_{des} - \theta) + k_d\dot{\theta} \end{aligned}\]这个简单而优雅的控制律启发了后续几十年的研究。
Raibert于1992年创立Boston Dynamics,将学术研究转化为实际产品:
他的工作证明了动态控制理论可以创造出超越生物的运动能力。
本章系统介绍了移动机器人和足式机器人的控制理论与实践:
习题17.1 推导差分驱动机器人从当前位置 $(0, 0, 0)$ 到目标位置 $(x_f, y_f, \theta_f)$ 的最短路径。
习题17.2 给定麦克纳姆轮机器人的轮速 $[\omega_1, \omega_2, \omega_3, \omega_4] = [1, -1, 1, -1]$ rad/s,轮半径 $R = 0.1$ m,计算机器人的运动速度。
习题17.3 四足机器人的质心高度为0.3m,要保持ZMP在支撑多边形中心,质心最大允许加速度是多少?假设支撑多边形是边长0.4m的正方形。
习题17.4 设计一个CPG网络,使四足机器人实现trot步态。给出振荡器耦合矩阵和相位关系。
习题17.5 推导轮足机器人在斜坡上的最优模式切换条件。考虑能耗、速度和稳定性。
习题17.6 分析Boston Dynamics Spot使用的QP-based全身控制器的计算复杂度,并提出实时优化策略。
习题17.7(开放性思考题)比较轮式、足式和飞行机器人在火星探索任务中的优劣,设计一个混合移动系统。