4. 步态基础概念:步态周期、占空比、相位差、支撑相与摆动相

聊四足机器人步态,绕不开四个基础概念:步态周期、占空比、相位差、支撑相与摆动相。

我刚开始接触步态规划时,觉得这些词太抽象了。后来在项目里调了三个月的狗腿子,才真正理解它们有多重要。说白了,这四个概念就是描述「腿什么时候抬、什么时候落、怎么配合」的数学语言。

你想想看,四条腿怎么走?不是随便乱迈的。每一步的时机、每条腿的节奏,都得用这些参数精确控制。下面我一个一个拆开讲。

4.1 步态周期(Gait Cycle)

步态周期,就是一条腿完成一次完整运动的时间。从这条腿触地开始,到下一次同一条腿再次触地结束。

用公式表示:

T = t_swing + t_stance

其中:

  • T — 步态周期(单位:秒)
  • t_swing — 摆动相时间
  • t_stance — 支撑相时间

我在项目里习惯用周期来反推运动频率。比如想让机器人每秒走两步,周期就设 0.5 秒。周期越短,步频越快,但电机响应也得跟得上。

小技巧: 周期不要设太短。我见过有人把周期压到 0.2 秒,结果电机还没转到目标位置,下一周期指令就来了——腿直接抖成筛子。

4.2 占空比(Duty Cycle)

占空比,就是支撑相时间占整个周期的比例。

D = t_stance / T

占空比决定了机器人的运动风格:

占空比范围 运动风格 典型应用
D > 0.75 慢速、稳定 爬坡、负重行走
0.5 < D < 0.75 常规行走 平地巡航
D < 0.5 快速、动态 奔跑、跳跃

嗯,这里要注意:占空比不是随便调的。我曾经在沙地上测试,占空比设到 0.4,结果支撑相太短,腿还没站稳就离地了——机器人直接趴窝。

避坑指南: 占空比低于 0.5 时,机器人会有一段「全腾空」时间。这时候必须靠惯性维持姿态,对 IMU 和姿态控制要求极高。新手建议从 0.6 起步。

4.3 相位差(Phase Offset)

相位差,是步态规划的灵魂。它定义了四条腿之间的「时间错位」。

用角度表示:

φ = (Δt / T) × 360°

其中 Δt 是两条腿开始摆动的时间差。

举个例子,常见的 Trot 步态:

  • 左前腿与右后腿:相位差 0°(同相)
  • 右前腿与左后腿:相位差 0°(同相)
  • 两组之间:相位差 180°(反相)

为什么这样配?因为对角腿同时摆动,机器人重心更稳。我试过把相位差改成 90°,结果走起来像喝醉了酒——左右晃得厉害。

核心要点: 相位差决定了步态的「对称性」。对称步态(Trot、Pace)适合高速,非对称步态(Walk、Gallop)适合复杂地形。

4.4 支撑相与摆动相(Stance & Swing Phase)

一条腿在一个周期里,只有两种状态:

  • 支撑相(Stance) — 腿触地,支撑身体,推动前进
  • 摆动相(Swing) — 腿离地,向前迈步

支撑相的核心任务是「支撑+推进」。这时候足端相对于地面是静止的(或者微滑动),身体靠腿的反作用力前进。

摆动相的核心任务是「复位+避障」。足端从当前位置抬起来,划一条轨迹,落到下一个目标点。

我习惯用轨迹规划来区分这两个阶段:

// 支撑相:足端在水平面做直线运动
p_stance(t) = p_start + v_body * t

// 摆动相:足端在垂直面做抛物线运动
p_swing(t) = p_lift + bezier(t) * (p_target - p_lift)

支撑相的运动方向与身体运动方向相反——你想想看,腿往后推,身体才能往前走。

4.5 四个概念的关系

这四个概念不是孤立的。它们共同决定了步态的「时空结构」。

我画了一张关系图,帮你理清思路:

步态基础概念关系图 步态周期 T 占空比 D = t_stance / T 相位差 φ = (Δt / T) × 360° 支撑相 Stance 摆动相 Swing 周期决定时间尺度,占空比决定支撑/摆动分配 相位差决定腿间配合,支撑/摆动是执行状态

从图里能看出来:

  • 步态周期是顶层参数,决定了时间基准
  • 占空比从周期里分出支撑相和摆动相的时间比例
  • 相位差在周期基础上,给每条腿分配不同的起始时间
  • 支撑相和摆动相是腿的实际执行状态

4.6 实际项目中的参数选择

我在做四足机器人巡检项目时,总结了一套参数选择流程:

  1. 先定周期 — 根据目标速度选。速度 = 步长 / 周期,步长受腿长限制。
  2. 再调占空比 — 地面条件好就降占空比提速度,地面滑就升占空比保稳定。
  3. 最后配相位差 — 根据步态模式(Trot/Pace/Walk)查表赋值。

举个例子,我做过一个 12kg 的四足机器人:

参数 平地行走 爬坡 小跑
周期 T 0.6 s 0.8 s 0.4 s
占空比 D 0.65 0.75 0.45
相位差 φ Trot (180°) Walk (90°) Trot (180°)

你看,同样的机器人,换一组参数,运动模式就完全不一样了。这就是步态规划的魅力——用数学控制物理。

总结一下: 步态周期是时间轴,占空比是时间分配,相位差是时间错位,支撑相和摆动相是时间切片。四个概念一起,构成了步态规划的「四维坐标系」。