Embodied AI Glossary中文

Swing Foot Trajectory Planning

足端轨迹规划Advanced

Planning the path a legged robot's airborne foot follows from lift-off to landing during the swing phase of a gait.

Legged robots alternate each leg between stance phase, when the foot is on the ground bearing weight, and swing phase, when the foot is in the air moving toward its next landing spot. Swing foot trajectory planning handles the swing phase: given the lift-off position, the foothold (usually computed by foothold planning or the Raibert heuristic based on body speed), and the swing duration, it generates the foot's position, velocity, and acceleration at every point in between. The requirements are that the foot lifts high enough to clear the ground and step over obstacles like stairs, starts and ends smoothly, and slows to near-zero velocity just before landing to reduce impact — and ideally the landing point can still be updated mid-swing if a new speed command arrives. Cycloids, splines, or Bézier curves are common choices, often designed separately for the horizontal and vertical directions. The resulting foot trajectory is then converted into joint commands through inverse kinematics, Cartesian foot PD control, or whole-body control. Reinforcement-learning-based locomotion controllers generally don't plan this curve explicitly, shaping it indirectly instead through reward terms like foot clearance height and time in the air.

ExampleMIT Cheetah's open-source control code connects lift-off to landing with a cubic Bézier curve horizontally, and two Bézier segments (rise and fall) vertically, with lift height set to 6 cm in its convex-MPC gait. The foothold is computed from the hip position plus a velocity-dependent correction, then tracked with Cartesian foot PD control.

Also called
Swing Leg Trajectory Planning
Related
Footstep Planning · Raibert Heuristic · Stance Phase / Swing Phase · Gait Planning · Bézier Curve Trajectory · Whole-Body Control
Sources
MIT Cheetah-Software:FootSwingTrajectory.cpp(Bezier 摆动轨迹) (Chinese)
MIT Cheetah-Software:ConvexMPCLocomotion.cpp(落足点与抬脚高度) (Chinese)
Humanoid-Gym humanoid_env.py(_reward_feet_clearance 抬脚高度奖励) (Chinese)

See it in the full glossary →