PART 05 · CHAPTER 32

双足与步态:在反复建立和打破接触中保持平衡

一句话理解

双足行走通过规划落脚、调节质心和控制接触力,让机器人在不断变化的支撑条件下不跌倒并向前移动。

约 1,827 字约 5 分钟4 个来源3 幅教学图

双足为什么难

轮式机器人通常持续与地面接触,双足行走却在单脚支撑、双脚支撑和摆腿之间切换。脚不能“拉”地面,接触力受摩擦限制;落脚瞬间会产生冲击;机身有六个浮动自由度,不能被电机直接驱动。双足系统因此是欠驱动、非线性、带间歇接触的混合动力系统。

静态平衡要求质心投影落在支撑多边形内。缓慢搬重物时这个规则很有用,但行走是动态过程:质心可以暂时越过支撑区,只要角动量和下一步落脚能够恢复。把静态规则当成全部平衡标准,会产生僵硬、极慢的步态。

ZMP、压力中心与线性倒立摆

压力中心(CoP)是足底合力作用点;零力矩点(ZMP)是在支撑平面上使水平轴合力矩为零的点,在常见平面接触条件下二者关系紧密。保持 ZMP 位于支撑多边形内,可避免脚绕边缘翻转。

线性倒立摆模型(LIPM)把机器人质量集中在恒定高度 \(z_c\) 的质心,忽略腿质量和角动量。水平方向动力学为

FIGURE 01从静态支撑到动态捕获μ动态平衡同时取决于质心位置速度。控制迈步是重新安排支撑的控制动作。
图 1 动态平衡同时取决于质心位置和速度。
\[\ddot x=\omega_0^2(x-p), \qquad \omega_0=\sqrt{\frac g{z_c}},\]

\(x\) 是质心水平位置,\(p\) 是 ZMP 或支撑点位置,\(g\) 是重力加速度。质心像倒立摆一样会远离支撑点,因此必须通过调节 \(p\) 或迈步来控制。

LIPM 的简化让足步规划和 MPC 能实时运行,却忽略身高变化、脚转动、复杂地形和大角动量。控制器通常用全身动力学层补偿简化误差,剧烈动作则需更完整的质心动量模型。

捕获点:跌向哪里,就把脚放到哪里

LIPM 的捕获点可写为

\[\xi=x+\frac{\dot x}{\omega_0}.\]

\(\xi\) 表示若希望系统最终停住,理想支撑点应该放在哪里。机器人受到推力后,质心位置变化可能不大,速度却变大,捕获点立即向跌倒方向移动;迈一步把脚放到附近,就能重新获得支撑。

单步能到达的区域受腿长、关节速度、自碰撞和地形限制。捕获点落到可达区域外时,一步不足以恢复,需要连续多步、摆臂产生角动量、调整躯干或接受受控接触。产品应明确可恢复扰动范围,演示中偶尔成功并不能证明稳定域足够大。

FIGURE 02双足步态的分层闭环步态由较慢的落脚决策较快的全身力控制共同完成。期望速度足步安全监督任何一层都不能独自保证平衡。
图 2 步态由较慢的落脚决策和较快的全身力控制共同完成。

一条步态生成链

高层给出期望速度和方向;足步规划器选择左右脚落点、朝向与接触时序;质心规划器生成满足平衡与动力学的质心/ZMP 轨迹;摆脚轨迹确保离地、越障和柔和落脚;全身控制器把质心、脚、躯干、手臂等任务转换为关节力矩;状态估计器融合 IMU、编码器、足底力和视觉判断机身姿态、速度及接触状态。

步态相位可以由时间表驱动,也可以依据接触事件调整。脚预计落地却没有检测到接触,可能遇到台阶向下;提前接触可能踢到障碍。固定时序继续执行会拉扯机身,事件驱动调整更稳健,但接触检测的阈值和时延必须可靠。

摆脚轨迹通常要求起点、终点的速度接近零,中间有足够抬脚高度。抬得太低易绊,太高增加能耗和关节速度;落脚速度太大产生冲击,太小又可能在松软地面接触不确定。地形感知误差应进入安全余量。

动量与全身控制

质心线动量 \(\mathbf l=m\dot{\mathbf c}\),其变化由重力和接触力决定;绕质心角动量 \(\mathbf k\) 的变化由接触力矩决定。合写的质心动量率为

FIGURE 03摩擦锥与支撑多边形的共同约束μ可行合力超界合力接触面接触位置和接触力是两组同时成立的约束。
图 3 脚既不能翻转,也不能滑动。
\[\dot{\mathbf h}= \sum_i \begin{bmatrix} \mathbf f_i\\ (\mathbf p_i-\mathbf c)\times\mathbf f_i+\boldsymbol\tau_i \end{bmatrix} + \begin{bmatrix} m\mathbf g\\ \mathbf 0 \end{bmatrix}.\]

\(\mathbf c\) 是质心,\(\mathbf p_i\) 是第 \(i\) 个接触点,\(\mathbf f_i,\boldsymbol\tau_i\) 是接触力与力矩。全身控制器选择关节加速度、力矩与接触力,使动量跟踪、脚不滑、摆脚到位且关节不过限。

手臂在行走中参与调节角动量,搬物时双臂还会改变整体质心和惯量;若控制器仍用空载模型,平衡性能会下降。全身模型还需包含电池、线缆和背负计算设备。

工程例子:机器人能走平地,却在地毯边缘绊倒

地毯边缘只有一两厘米,视觉深度受纹理和光照影响没有稳定识别;摆脚高度按平地设置,脚尖碰边后摆腿减速,机身仍向前,捕获点快速移出支撑区。若控制器只按预定时序等待落脚,恢复窗口会被错过。

改进包括脚尖留足几何余量、用脚部触碰或关节力矩检测非预期接触、实时缩短步长并调整下一步、训练或测试多种摩擦与小障碍。失败边界要覆盖传感盲区、最大可跨高度、最小摩擦系数、推扰恢复范围和跌倒处置。跌倒保护本身是一项控制任务:选择姿态、保护头部与电池、切断危险力矩,并让周围人员可预期。

深入阅读