Interactive Design of Stylized Walking Gaits for Robotic Characters
TL;DR Summary
This paper presents an interactive system for creating stylized bipedal gaits for robotic characters, combining artist-directed tools with a model-based control stack to generate physically constrained motions in real time.
Abstract
Abstract information is missing from the provided text.
Mind Map
In-depth Reading
English Analysis
1. Bibliographic Information
1.1. Title
Interactive Design of Stylized Walking Gaits for Robotic Characters
1.2. Authors
- MICHAEL A HOPKINS, The Walt Disney Company, Burbank, CA, United States / Disney Research, USA
- GEORG WIEDEBACH, The Walt Disney Company, Burbank, CA, United States / Disney Research, USA
- KYLE CESARE, The Walt Disney Company, Burbank, CA, United States / Walt Disney Imagineering R&D, USA
- JARED BISHOP, The Walt Disney Company, Burbank, CA, United States / Walt Disney Imagineering R&D, USA
- ESPEN KNOOP, The Walt Disney Company, Burbank, CA, United States / Disney Research, Switzerland
- MORITZ BACHER, The Walt Disney Company, Burbank, CA, United States / Disney Research, Switzerland
1.3. Journal/Conference
ACM Transactions on Graphics (ACM Trans. Graph. 43, 4, Article 137). This is a highly reputable journal in the field of computer graphics, known for publishing cutting-edge research in animation, rendering, and interactive techniques. Its strong influence makes it a prime venue for work blending computer animation with robotics.
1.4. Publication Year
2024
1.5. Abstract
This paper introduces a novel system for the artist-directed authoring of stylized bipedal walking gaits, specifically tailored for robotic characters. Current procedural animation techniques, while effective for virtual characters, often neglect the intricate kinematic and dynamic constraints inherent to physical robots. The proposed system addresses this gap through an interactive editing tool that allows artists to design desired character motions in real-time. This is achieved by translating sample parameters into whole-body reference trajectories using a new procedural animation technique. To ensure the stylized gait adapts across a continuous range of velocities, the system employs a phase-space blending strategy that interpolates animator-authored walk cycles while meticulously preserving contact constraints. The utility of this approach is demonstrated by animating gaits for a custom free-walking robotic character, with additional in-simulation examples showcasing its generalizability to bipeds with varying degrees of freedom, proportions, and mass distributions. The core contribution lies in the interactive workflow, which supports real-time editing directly on physical or simulated robots, enabling diverse gait timings, upper-body motion, heel/toe behavior, and continuous style variation.
1.6. Original Source Link
/files/papers/6948b4bb3e1288a634f1bde3/paper.pdf (Publication Status: Officially published in ACM Transactions on Graphics)
2. Executive Summary
2.1. Background & Motivation
The core problem this paper aims to solve is the challenging task of creating stylized walking gaits for physical robotic characters. While humanoid robotics has advanced significantly in achieving stable, functional locomotion, imparting expressive, artistic motions (like a "happy walk" or a "sneaky walk") remains difficult.
This problem is important because expressive motion is crucial for bringing robotic characters to life, especially in entertainment contexts (e.g., theme parks, interactive displays). The current field faces several challenges:
-
Lack of Authoring Tools: Existing computer animation tools, primarily designed for virtual characters, often do not account for the fundamental kinematic and dynamic constraints of physical robots (e.g., actuator limitations, joint ranges, balance requirements). This means motions designed in a virtual environment often cannot be directly transferred to a physical robot without significant modification or failure.
-
Physics-Based Character Animation Limitations: While physics-based animation for virtual characters aims for realism, many recent approaches, particularly those using imitation learning or reinforcement learning (RL), focus more on skill (e.g., robust walking) rather than style. They often lack the direct artistic control needed to author specific stylistic elements and struggle with the
sim-to-real gap(discrepancies between simulation and physical hardware). -
Real-time Feedback Requirement: Animators need immediate visual and physical feedback to iterate on their designs effectively. Offline optimization or lengthy training steps common in some modern techniques hinder this interactive workflow.
-
Generalization across Velocities: A stylized gait must be adaptable. It needs to generalize smoothly across a continuous range of velocities (forward, reverse, turning, strafing) from a small set of authored examples.
The paper's entry point is to bridge the gap between artistic intent and robotic feasibility by proposing an interactive, procedural animation technique specifically designed for robotic characters. The innovative idea is to provide animators with an intuitive gait editor that inherently limits the design space to physically feasible motions while offering a rich set of expressive parameters. This system integrates procedural animation with a model-based control stack, enabling real-time authoring and testing directly on physical robots.
2.2. Main Contributions / Findings
The paper makes several primary contributions:
-
Interactive Authoring Workflow: The central contribution is an interactive authoring workflow that integrates a gait editor, a procedural animation engine, and a model-based control strategy. This allows animators to design stylized gaits in real-time, either on a simulated robot or directly on physical hardware, providing immediate feedback. This is a significant improvement over methods requiring offline optimization or extensive training.
-
Procedural Animation Tailored for Robotics: The paper introduces a novel procedural animation technique specifically designed to generate
whole-body reference trajectoriesfor bipedal robots. This technique uses a rich set ofanimation parameters(e.g., step timings, animation curves for foot/pelvis/upper body, heel/toe behavior) that are carefully chosen to balance expressiveness with physical feasibility constraints. -
Constraint-Aware Phase-Space Blending: To generalize stylized gaits over a continuous range of velocities, the system employs a
phase-space blending strategy. This method interpolates between a small set of animator-authoredsample walk cycleswhile rigorously preserving critical contact constraints and timing relationships, ensuring smooth and consistent style transitions. -
Real-time Execution and Robustness: The proposed system is entirely real-time, enabling direct authoring on hardware without offline trajectory optimization or training. It leverages a
model-based control stack(includingModel Predictive Controland aWhole-Body Controller) andgait feedback mechanisms(velocity, step, and time scaling adjustments) to ensure robustness against disturbances and maintain stability during complex stylized motions. -
Demonstration on Diverse Robotic Characters: The approach is validated on three distinct robotic characters—a small-scale dinosaur, an adult-sized humanoid, and a child-sized Groot robot (both in simulation and on physical hardware). These examples demonstrate the system's generality across bipeds with varying degrees of freedom, proportions, and mass distributions, showcasing a wide range of stylized gaits (e.g., "dino gait," "injured gait," "relaxed human gait," "sneak walk," "double-bounce").
The key findings are that artists can quickly and intuitively design complex stylized walking gaits for physical robots that are both expressive and dynamically feasible. The system effectively hides the underlying robotic control complexity from the artist, allowing them to focus on artistic expression. The real-time, direct-on-hardware editing capability is a significant advancement in interactive robot animation.
3. Prerequisite Knowledge & Related Work
3.1. Foundational Concepts
To understand this paper, a reader should be familiar with several core concepts from computer animation, robotics, and control theory:
- Bipedal Locomotion: This refers to the act of moving on two legs. For robots, this is inherently unstable and requires constant balance control. Key challenges include maintaining stability, generating footsteps, and coordinating leg movements.
- Kinematic Constraints: These are limitations on the possible positions and orientations of a robot's joints and links. For example, a joint might have a limited range of motion (e.g., an elbow can only bend so far), or a robot's foot cannot pass through the ground.
Inverse Kinematics (IK)is a technique used in animation and robotics to calculate the joint angles needed to achieve a desired end-effector (like a foot) position and orientation. - Dynamic Constraints: These are limitations related to forces, torques, and inertia. For a bipedal robot, this includes actuator torque limits, friction limits at contact points, and the need to maintain dynamic balance (e.g., ensuring the
Center of Mass (CoM)stays within thesupport polygonformed by the feet). - Center of Mass (CoM): The average position of all the mass of an object. For a bipedal robot, controlling the CoM's trajectory is critical for maintaining balance.
- Center of Pressure (CoP): The point on the ground where the total ground reaction force acts. For a robot to be statically stable, its CoM must be above its CoP, and the CoP must be within the
support polygon. For dynamic walking, the CoP needs to be carefully managed to maintain balance. - Whole-Body Control (WBC): A control strategy for complex robots (like humanoids) that coordinates all joints simultaneously to achieve multiple tasks (e.g., maintaining balance, moving an arm, placing a foot) while respecting physical constraints. It often involves solving an optimization problem.
- Procedural Animation: A technique for generating animation automatically based on rules, algorithms, or parameters, rather than hand-keyframing every frame. It allows for creating complex, varied, and adaptable motions from a smaller set of inputs.
- Model Predictive Control (MPC): A advanced control strategy that uses a dynamic model of the system to predict its future behavior over a short time horizon. It then calculates a sequence of control actions that optimize a cost function (e.g., minimize error, maintain stability) while respecting constraints. Only the first control action is applied, and the process repeats. This is often used for
real-time planningandtrajectory optimization. - Real-time Simulation: Running a simulation fast enough that its output is available at the same rate as a physical system would operate, or faster. This is crucial for interactive design and testing without needing to physically deploy to hardware for every change.
- Kinematic and Dynamic Modeling: Representing a robot mathematically.
Kinematic modelsdescribe positions and velocities without considering forces, whiledynamic modelsdescribe how forces and torques cause motion (e.g., using Newton-Euler equations or Lagrangian mechanics).
3.2. Previous Works
The paper thoroughly reviews related work across several domains, highlighting the progression and the specific gaps it aims to fill.
3.2.1. Computer Animation
- Skeletal Animation, Keyframing, Procedural Animation: These are foundational techniques for authoring virtual character motions [Multon et al. 1999].
- Skeletal animation: Involves animating a hierarchical "skeleton" of bones, and the visual mesh deforms with the bones.
- Keyframing: Animators define key poses at specific times, and the software interpolates between them.
- Procedural animation: Generates motion based on rules or parameters, offering more flexibility and variation.
- Data-driven Approaches: These techniques generate stylized motions from existing data (e.g., motion capture) given a target and style reference [Grochow et al. 2004].
- Procedural Blending of Gaits: Prior work has shown how to blend gait references from motion capture, even with different timings and paths [Holden et al. 2017; Kovar and Gleicher 2003]. This paper adopts similar concepts, particularly in mapping time to a monotonically increasing parameter for blending, but critically adapts it for robotic constraints.
- The concept of
time warp registration curvesby [Kovar and Gleicher 2003] is particularly relevant. They useDynamic Time Warping (DTW)to align and blend motions. While this paper also maps time to aphaseparameter, its approach is gait-specific, relying on contact event timings rather than general animation frame data, to ensurecontact-related kinematic constraintsare satisfied.
- The concept of
3.2.2. Physics-based Characters
This field focuses on creating expressive motions that obey physical laws.
- Model-based Approaches (Early Work): Pioneering work involved crafting custom controllers for specific tasks like walking [Coros et al. 2010; Hodgins et al. 1995; Lee et al. 2010]. These often required significant manual tuning.
- Stylized Procedural Motions: [Karim et al. 2013] demonstrated a pipeline for generating stylized procedural motions for legged creatures in simulation. [Zhao et al. 2005] developed interactive UIs for prototyping sports animation.
- Learning-based Approaches (Recent Dominance):
Reinforcement Learning (RL)has become prominent, training policies to imitate desired motions [Lee et al. 2021; Peng et al. 2017; Won et al. 2022].Reward engineering: Designing appropriate reward functions to guide RL agents.Adversarial approaches: Combining RL with adversarial networks to extract skills from unstructured motion data [Peng et al. 2022; Yao et al. 2022a].- Differentiation: While impressive, these RL methods typically require significant
training timeand don't allow artistsdirect, interactive, full-body authoringon physical hardware, which is this paper's focus. They prioritize skill over direct style control.
3.2.3. Animation in Robotics
This domain brings in the harsh realities of physical robot deployment (sim-to-real gaps).
- Robustness to Disturbances: Achieved through
closed-loop model predictive control[Neunert et al. 2016; Wieber 2006] orhigh-level feedbacklikegait timingandfoothold adjustments[Griffin et al. 2017; Kryczka et al. 2015]. - Functional Locomotion: The majority of legged robotics research focuses on robust and efficient functional locomotion (e.g., hand-crafted gaits for efficiency) [Apgar et al. 2018; Nishiwaki et al. 2002; Xi and Remy 2014; Zhou et al. 2022].
- Differentiation: This paper aims for stylized rather than purely functional gaits.
- Human-inspired Control: Efforts to mimic human walking from motion capture using model-based control [Ames 2014; Dariush et al. 2008].
- Differentiation: While not purely functional, these often lack the explicit artistic control provided by this paper's system.
- RL for Robotic Gaits: Using RL with
domain randomizationto make systems robust to modeling uncertainties and exhibit varied gaits [Siekmann etm al. 2021]. Some allow online adjustment of functional gait parameters [Margolis and Agrawal 2022] or extrapolate styles from motion capture/video [Bohez et al. 2022; Nakaoka et al. 2007; Peng et al. 2020; Sok et al. 2007; Yao et al. 2022b].- Differentiation: Again, the primary distinction is the
interactive feedbackandreal-time authoringcapability that RL methods typically lack due to training time.
- Differentiation: Again, the primary distinction is the
3.2.4. Graphical Gait Editing
- Prior Editing Tools: [Yin et al. 2007] demonstrated stylized gaits in simulation using a custom GUI. Boston Dynamics' "Choreographer" software allows authoring dance sequences, but its details are proprietary [Ackerman 2021]. [Nakaoka et al. 2010] developed an authoring tool for bipedal motion, supporting stylized stepping, but each step was individually keyframed.
- Differentiation: This paper focuses on
procedurally-generated, cyclic walking gaitsthat vary smoothly over continuous velocities, offering a higher level of abstraction and generalization than individually keyframed steps.
- Differentiation: This paper focuses on
3.3. Technological Evolution
The evolution of character animation, from manual keyframing of virtual characters to physics-based simulations, and then to the practical challenges of controlling physical robots, forms the backdrop for this work. Initially, animation focused on visual appeal, often sacrificing physical realism. Physics-based methods introduced realism but often at the cost of direct artistic control or computational expense. The advent of learning-based methods (especially RL) offered impressive results for skill acquisition but typically lacked the interactive, artistic workflow. Simultaneously, robotics progressed in achieving stable locomotion, but stylized, expressive movement remained largely an unsolved problem due to the stringent real-world constraints.
This paper's work fits within this timeline by directly addressing the sim-to-real gap and the artistic control gap in robotics. It leverages mature concepts from procedural animation (like blending and parameterization) and robust model-based control from robotics, integrating them into an interactive, real-time authoring tool. It aims to provide artists with the expressive power of animation while ensuring physical feasibility and stability on actual robot hardware, effectively bringing the "life" of animated characters to physical robots.
3.4. Differentiation Analysis
Compared to the main methods in related work, the core differences and innovations of this paper's approach are:
- Direct Real-time Editing on Hardware: Most prior work either operates purely in simulation or requires offline optimization/training. This system uniquely enables artists to edit and refine stylized gaits directly on the physical robot in real-time, providing immediate haptic and visual feedback. This eliminates the lengthy
edit-simulate-deploy-test-repeatcycle. - Constraint-Aware Procedural Animation: While procedural animation exists, this paper's technique is explicitly
tailoredto thekinematic and dynamic constraintsof physical robots. The parameterization of gaits is designed to limit the achievable design space to motions that satisfy critical feasibility constraints, a crucial aspect for robotics that is often ignored by generic animation tools. - Rich and Expressive Parameterization: The system offers a diverse set of animation parameters (time intervals, function curves for swing trajectories, heel/toe behavior, pelvis and upper-body motion, stance attributes) that provide fine-grain artistic control over stylized elements, far beyond purely functional gait parameters.
- Phase-Space Blending for Continuous Velocity: The
phase-space blending strategyis explicitly designed to interpolate between authored gait samples across a continuous range of input velocities while preservingcontact constraintsandgait timings. This ensures smooth and consistent style transitions as the robot's speed and direction change. - Integration of Artistry and Robust Control: The system seamlessly integrates an artist-friendly interface with a robust,
model-based control stackthat handles balance and disturbance rejection. This allows artists to focus on aesthetics while the underlying system ensures physical viability and stability, a common challenge inphysics-based character animationfor robots.
4. Methodology
The proposed system is designed to enable artists to interactively author stylized walking gaits for bipedal robotic characters. The core idea is to provide an intuitive interface that translates artistic parameters into dynamically feasible robot motions in real-time. The overall architecture, as depicted in the conceptual diagram (Figure 2 in the original paper), involves an interactive gait editor, a procedural animation engine (Gait Planner and Gait Sampler), and a model-based control stack that includes a controller and a state estimator.
4.1. Principles
The central principle is to give animators control over expressive gait features while abstracting away the complex kinematic and dynamic constraints of physical robots. This is achieved by:
-
Limiting the Design Space: The parameterization of gaits is structured such that it inherently respects fundamental robotic constraints (e.g., preventing foot penetration, enforcing contact event order).
-
Real-time Feedback: The system provides instantaneous visual and simulated feedback, allowing artists to iterate quickly.
-
Decomposition of Motion: Robot motion is decomposed into a nominal, velocity-dependent component and a stylized, artist-defined component, which are then combined.
-
Sample-based Interpolation: Stylized gaits are authored at a few key velocities and then interpolated using a phase-space blending strategy to generalize over continuous velocity ranges.
-
Robust Execution: A model-based control stack ensures that the artist-designed motions are stably and robustly executed on physical hardware, accounting for disturbances and model imperfections.
The entire process ensures that the
target walking stylecan be executed on a robot while tracking arbitrary velocity commands.
4.2. Gait Planner
The Gait Planner () is the procedural animation engine responsible for mapping a time-varying, planar input velocity, , into a vector of Cartesian and joint-space reference trajectories, , that the robot's whole-body controller will track. This mapping is also influenced by the current estimated robot state () and a vector of animation parameters ().
The function signature for the Gait Planner is: $ \mathbf { r } ( t ) = g ( \mathbf { v } , \mathbf { s } , \Pi , t ) . $ Here:
-
: The vector of desired reference trajectories at time .
-
: The current desired planar input velocity command, expressed in body coordinates as , representing forward, lateral, and angular velocity.
-
: The estimated robot state, typically defined as , where is the robot configuration (N joint coordinates + 6 floating-base coordinates) and is its time derivative.
-
: A vector of artist-defined animation parameters encoding the desired gait style.
-
: Current time.
The output reference vector includes: $ \mathbf { r } ( t ) = \left[ z _ { \mathrm { p e l v i s } } \quad \theta _ { \mathrm { p e l v i s } } ^ { \top } \quad \mathbf { p } _ { \mathrm { f o o t ,l } } ^ { \top } \quad \mathbf { p } _ { \mathrm { f o o t ,r } } ^ { \top } \quad \mathbf { q } _ { \mathrm { u p p e r } } ^ { \top } \right] ^ { \top } . $ Where:
-
: Desired pelvis (root) height.
-
: Desired pelvis rotation (a quaternion).
-
: Desired 6-DoF pose (translation and rotation in Euler angles or equivalent) for the left foot.
-
: Desired 6-DoF pose for the right foot.
-
: Desired joint coordinates for the upper body (e.g., arms, neck, spine, tail angles).
Crucially, the planner does not specify the horizontal pelvis translation (). This is automatically handled by a
model predictive controller (MPC)(described in Section 4.6) to ensure dynamic balance, as CoM dynamics are critical for stability. This automation helps generate more natural-looking walking.
The reference states are updated at in the experiments.
4.2.1. Conventions
-
Walk Cycle: A bipedal gait is periodic, typically involving alternating steps and
double support phases(both feet in contact). This framework focuses on walking (no flight phases like running). The walk cycle (as shown in Figure 3) is a two-step sequence defined by four contact events:-
LLO (Left Liftoff): Left foot leaves the ground. -
LTD (Left Touchdown): Left foot makes contact again. -
RLO (Right Liftoff): Right foot leaves the ground. -
RTD (Right Touchdown): Right foot makes contact again. The cycle begins and ends atLLO, with a total period . The event times () are derived from animation parameters.
该图像是示意图,展示了两步走周期的运动过程。该周期包含四个接触事件:左侧起步(LLO)、左侧着地(LTD)、右侧起步(RLO)和右侧着地(RTD)。图中标注了各个阶段的运动状态,并显示了两步走周期(CY)的完整过渡,起始和结束均为左侧起步(LLO)。
The above figure (Figure 3 from the original paper) shows the concept of a two-step walk cycle. The gait transitions through four contact events during each cycle: left liftoff (LLO), left touchdown (LTD), right liftoff (RLO), and right touchdown (RTD). For the purposes of this paper, the two-step cycle is defined such that it starts and ends at LLO.
-
-
Path Frame: The commanded velocity is expressed in
body coordinates(relative to the robot). The integral of this velocity defines thepath frame(), which tracks the robot's desired planar pose relative to a global origin. The path frame's x-axis is aligned with the robot's front, and its y-axis to the left.
该图像是示意图,展示了样本足迹的行走路径。左侧的黑色和白色矩形表示预期的接触点,而红色和蓝色轴分别代表路径框架的 和 轴。固体线表示过去的行走路径,虚线则指示预测的行走路径。右侧矩形表示在行走中实现的足迹位置。总体上,图像帮助理解早期步态规划的动态。The above figure (Figure 4 from the original paper) shows example walking paths with sampled footholds. The path frame, , with axis in red and y-axis in blue, is defined as the integral of the gait velocity. The path frame history (solid line) illustrates the past walking path relative to the inertial origin frame, , while the extrapolated trajectory (dotted line) defines the predicted walking path. The planner derives the upcoming footholds (white) by sampling the predicted path frame at the midpoint of each upcoming foot contact interval. The achieved footholds (black) are fixed in place following each step at the corresponding touchdown event.
4.2.2. Motion Planning
The reference motion for stylized gaits is decomposed into two components:
-
Nominal Component (superscript ): Derived from the input velocity , satisfying basic kinematic and timing constraints for walking.
-
Stylized Component (superscript ): Derived from the animation parameters , encoding the gait expression.
The combined reference states are: $ \begin{array} { r l } & { z _ { \mathrm { pelvis } } = z _ { \mathrm { pelvis } } ^ { \mathrm { v } } + z _ { \mathrm { pelvis } } ^ { \mathrm { I I } } } \ & { \theta _ { \mathrm { pelvis } } = \theta _ { \mathrm { pelvis } } ^ { \mathrm { v } } \theta _ { \mathrm { pelvis } } ^ { \mathrm { I I } } } \ & { \mathrm { p } _ { \mathrm { foot } , \mu } = \mathrm { p } _ { \mathrm { foot } , \mu } ^ { \mathrm { v } } \oplus \mathrm { p } _ { \mathrm { foot } , \mu } ^ { \mathrm { I I } } \ : \forall \mu \in { l , r } } \ & { \mathrm { q } _ { \mathrm { upper } } = \mathbf { q } _ { \mathrm { upper } } ^ { \mathrm { v } } + \mathbf { q } _ { \mathrm { upper } } ^ { \mathrm { I I } } , } \end{array} $ Here:
- Addition for scalar values () and Euler angles () indicates summing the nominal and stylized components.
- Multiplication for (quaternion rotation) implies composition of rotations.
- : A
pose composition operatorfor 6-DoF poses . It defines the rigid body transform: $ \mathbf { p } _ { A } \oplus \mathbf { p } _ { B } = \left[ \mathbf { x } _ { A } + \pmb { \theta } _ { A } \mathbf { x } _ { B } \quad \theta _ { A } \theta _ { B } \right] ^ { T } $ This means the stylized foot pose is expressed in a moving reference frame defined by the nominal foot coordinates.
4.2.2.1. Footstep Plan
The planner uses a finite state machine to manage transitions between double support and swing phases. It generates upcoming footsteps from the predicted walking path (extrapolated from the current path pose assuming zero acceleration).
For each successive two-step cycle , a pair of upcoming footholds is generated:
$
\begin{array} { r l } & { \mathbf { p } _ { \mathrm { foothold,l } } ^ { k } = \mathbf { p } ^ { \mathrm { v } } \left( t _ { \mathrm { foothold,l } } ^ { k } \right) \oplus \mathbf { p } _ { \mathrm { stance,l } } } \ & { \mathbf { p } _ { \mathrm { foothold,r } } ^ { k } = \mathbf { p } ^ { \mathrm { v } } \left( t _ { \mathrm { foothold,r } } ^ { k } \right) \oplus \mathbf { p } _ { \mathrm { stance,r } } . } \end{array}
$
Here:
-
, : The desired 6-DoF poses for the left and right footholds in the global frame for cycle .
-
: The path frame pose at the appropriate time (midpoint of each upcoming foot contact interval).
-
, : Constant planar poses (translation and rotation) expressed in the path frame, representing the nominal foot placement during stance. These contribute to the overall style and are determined by
stance attributes(see Section 4.3).The
target footholdis fixed attouchdown. If an upcoming foothold overlaps the current support foot, it's projected to a safe stepping region using a conservative heuristic (e.g., clipping to the nearest point on a boundary in front, behind, or to the side of the support foot).
4.2.2.2. Nominal Support/Swing Foot Trajectories
- Support Phase: The foot reference pose is
latched(fixed) to the foothold pose at the last touchdown (e.g., ). This ensuresnon-sliding contact constraints. - Swing Phase: A
swing foot trajectoryis computed to interpolate smoothly from the latched foothold to the upcoming foothold over the swing interval. For the left foot example: $ \begin{array} { r l } & { \mathbf { x } _ { \mathrm { foot,l } } ^ { \mathrm { v } } ( t ) = \left( 1 - \alpha ( t ) \right) \mathbf { x } _ { \mathrm { foothold,l } } ^ { k - 1 } + \alpha ( t ) \mathbf { x } _ { \mathrm { foothold,l } } ^ { k } } \ & { \pmb { \theta } _ { \mathrm { foot,l } } ^ { \mathrm { v } } ( t ) = S L E R P \left( \pmb { \theta } _ { \mathrm { foothold,l } } ^ { k - 1 } , \pmb { \theta } _ { \mathrm { foothold,l } } ^ { k } , \alpha ( t ) \right) . } \end{array} $ Here:-
, : Nominal linear and angular components of the left foot pose.
-
, : Positions of the previous and upcoming footholds.
-
, : Orientations of the previous and upcoming footholds.
-
: A
cubic interpolation parameterthat smoothly increases from 0 to 1 over the duration of the step, with zero initial and final velocity (). -
SLERP:Spherical Linear Interpolation, used for smoothly interpolating between orientations (quaternions).The nominal swing foot trajectory has zero height and lies in the ground plane. The vertical motion is added by the
stylized componentvia animation parameters.
-
4.2.2.3. Nominal Pelvis and Upper-Body Trajectories
- Pelvis Rotation (): The pelvis z-axis remains vertical, and horizontal axes align with the
path framerotation. This creates smooth pelvis yaw during turns. - Pelvis Height (): Set to 0.
- Upper Body (): Set to (neutral pose). These nominal values provide a neutral base, onto which the stylized animation parameters will add expressiveness.
4.3. Animation Parameters
The paper proposes an expressive gait parameterization to facilitate rapid design of feasible walk cycles. The goal is to define a set of parameters that capture salient features of a stylized gait, balancing expressive range, minimal design parameters, and minimal design time. For deployment on a physical robot, these parameters must ensure kinematic and dynamic constraints are met (e.g., correct contact sequence, no ground penetration, CoP within support polygon).
The parameterization includes three types of data: time intervals, attributes, and function curves.
4.3.1. Time Intervals
These are defined by minimum and maximum values relative to the start of the walk cycle. The following table (Table 1 from the original paper) lists the selected intervals which include the full two-step cycle and the left and right swing intervals.
| Name | Description | (Min, Max) |
|---|---|---|
| CY | The two-step cycle interval | (, + T) |
| LS | The left swing interval | (, ) |
| RS | The right swing interval | (O, ) |
Here:
CY:Cycle, representing the full two-step cycle duration.LS:Left Swing, the duration when the left foot is off the ground.RS:Right Swing, the duration when the right foot is off the ground. The min values ofCYandLSare clamped to 0. Constraints are enforced to maintain the correct event ordering () and ensure minimum durations for single and double support phases, thereby restricting gaits to walking.
4.3.2. Function Curves
These are time-varying trajectories that parameterize the stylized reference states (). Each curve is defined on a specific time interval (e.g., CY, LS, or RS) and is represented as a cubic spline, allowing traditional curve editing with knot positions and tangent controls.
The following table (Table 2 from the original paper) lists the core functions used to animate a stylized walk.
| Interval: Name | Description |
|---|---|
| LS: Foot x, y, z | Left foot swing translation |
| LS: Foot θ, /heel, toe, Y | Left foot swing rotation angles |
| RS: Foot x, y, z | Right foot swing translation |
| RS: Foot θ, /heel, ½toe, Y | Right foot swing rotation angles |
| CY: Pelvis z | Pelvis z translation |
| CY: Pelvis θ, ψ, | Pelvis rotation angles |
| CY: Upper body qi | Upper body joint angles (e.g. arms) |
Key function curves include:
-
Foot Translation and Rotation (for swing intervals):
- The stylized foot translation is given by:
$
\begin{array} { r } { \mathbf { x } _ { \mathrm { foot } } ^ { \Pi } = \mathbf { x } _ { \mathrm { swing } } ^ { \Pi } + \mathbf { x } _ { \mathrm { heel-toe } } ^ { \Pi } } \end{array}
$
Here:
- : Defines the animated swing trajectory, parameterized by
x, y,and curves from liftoff to touchdown. Initial/final values are clamped to zero to ensure the swing foot starts and ends at the nominal pose (flat foot). - : An offset term to ensure
contact constraintsare met duringheel-toe walking.
- : Defines the animated swing trajectory, parameterized by
- The stylized foot rotation is parameterized by four
animation angles(), representing intrinsic rotations about thez, y,and axes, respectively.-
(yaw) and (roll) are clamped to zero at swing boundaries.
-
and represent
pitch rotationsapplied about the heel and toe (see Figure 5), similar to "reverse foot lock" rigs in character animation. These are constrained to prevent ground penetration: and . Only one pitch parameter is non-zero at swing boundaries, allowing for toe or heel contact. The transition to a flat foothold is automated during support phase (controlled byattributes).
该图像是示意图,展示了用于机器人角色风格化摆动轨迹的脚部旋转参数。图中可见三种不同的脚部接触状态,分别标注了脚踝的旋转角度 和 ,以及脚部位置 和垂直位置 。这两种旋转角度在每次接触切换事件中必须有一个被约束为零,以实现脚趾或脚跟的接触。
-
The above figure (Figure 5 from the original paper) shows heel-toe rotation parameters for stylized swing trajectories. Inspired by common character animation rigs, the foot is animated using two pitch rotations, and , applied first about the nominal heel position, then about the resulting toe position. One of the pitch angles must be constrained to zero at each contact switch event, allowing for either toe or heel contact.
- The stylized foot translation is given by:
$
\begin{array} { r } { \mathbf { x } _ { \mathrm { foot } } ^ { \Pi } = \mathbf { x } _ { \mathrm { swing } } ^ { \Pi } + \mathbf { x } _ { \mathrm { heel-toe } } ^ { \Pi } } \end{array}
$
Here:
-
Pelvis Height and Rotation: (z-translation) and (yaw, pitch, roll Euler angles relative to path frame). These curves are defined over the full
CYinterval. -
Upper Body Joint Angles (): Curves for each arm, neck, spine, tail, enabling rich upper-body motions. These functions have
periodic boundary constraintsto ensure C1 continuity (smoothness of position and velocity) as the walk cycle loops.
该图像是图表,展示了一个两步周期中骨盆 、左脚 和右脚 的函数曲线。水平轴标示时间 (秒),垂直轴标示位移(米)。图中用不同颜色区域区分了左摆动(Left Swing)和右摆动(Right Swing),并标注了时间点 、 和 、,以便于理解不同阶段的动态变化。The above figure (Figure 6 from the original paper) shows example Pelvis , Left Foot , and Right Foot function curves for a two-step cycle. Pelvis functions are defined on the full two-step cycle, while left and right foot functions are defined on the left and right swing intervals, respectively.
4.3.3. Attributes
Attributes are configurable constants that affect aspects of the walk cycle.
-
Stance Attributes:
splay,width, andX-biasdetermine the mean angular, lateral, and forward offset between the left and right footholds relative to thewalking path. These influence (from Section 4.2.2.1), allowing for diverse gaits likenarrow-stanced,wide-stanced,duck-footed,pigeon-toed, andasymmetric gaitswithout manual foothold definition.
该图像是示意图,展示了与步态设计相关的几个关键属性。图中包含两个矩形(分别标记为“Splay”和“Xbias”)以及一个坐标系,坐标轴包括和,并标识了路径框架。此外,标注了“Width”用于表示宽度。这些元素概述了行走姿态的特征和调整参数。The above figure (Figure 7 from the original paper) shows stance attributes. The left and right stance poses are shown for a stationary path frame, (standing or stepping with zero gait velocity).
-
Heel/Toe Transition Parameters: and control the duration of heel/toe transitions to/from a flat foot configuration around liftoff and touchdown. These are capped at 50% of the foothold duration, and the planner linearly interpolates the pitch angle to zero during these transitions.
4.4. Gait Sampler
The Gait Sampler is responsible for generalizing authored walk styles to a continuous range of velocities. Artists author specific gait samples (S), each defined by a set of parameters () at a fixed walking velocity (). The Gait Sampler then interpolates these samples based on the current input velocity.
4.4.1. Phase Map
The concept of a phase map is introduced for a two-step walk cycle. A phase map is an invertible function that maps a generic gait phase (ranging from 0 to 1) to a unique gait time within a specific walk cycle.
The map is defined such that the cycle event times () correspond to phase values of and 1. Intermediate phase values (e.g., 0.1, 0.5, 0.6) are chosen based on typical biped gait durations. A smooth phase map is derived by fitting a monotonic cubic spline to these phase/time waypoints (see Figure 8).
该图像是图表,展示了两个步态周期(周期 A 和周期 B)及其混合周期(周期 AB)的相位图。图中以不同颜色和线型标示步态相位与时间关系,横轴为步态相位,纵轴为所需时间(单位为秒)。具体而言,、 和 等时间标度在不同步态相位下的变化被清晰展现。
The above figure (Figure 8 from the original paper) shows phase maps. Example phase maps for two gait cycles, and , along with the blended cycle, `A B`, for .
To associate an "equivalent" gait time from cycle with from cycle , using their respective phase maps and , the solution is:
$
t_B = \Omega_B(\Omega_A^{-1}(t_A))
$
This method guarantees that contact event times (e.g., ) map to equivalent event times in other cycles, preserving contact event-based timing constraints when blending gait signals.
4.4.2. Blending Two Samples
Given two gait samples, and , an interpolated parameter set is computed by blending their individual attributes, time intervals, and function curves based on a blend ratio . The result is a valid sample for an intermediate velocity.
- Attributes: Interpolated using a simple
alpha blend: $ r = ( 1 - \alpha ) r _ { A } + \alpha r _ { B } $ where and are the attribute values from samples A and B. - Time Intervals: Min and max values are alpha-blended independently. Since it's a
convex combination, the ordering constraints of event times are preserved. - Function Curves: Blending function curves requires the phase map. The algorithm is:
-
Compute the gait phase for the interpolated walk cycle (
AB) at an arbitrary gait time : . -
Compute the equivalent gait time for sample A:
t_A = \Omega_A(\phi). -
Compute the equivalent gait time for sample B:
t_B = \Omega_B(\phi). -
Evaluate function curve A at .
-
Evaluate function curve B at .
-
Interpolate the resulting values using Equation .
This
phase-space blendingis similar totime warp registration curvesbut is specific to walk cycles, ensuringcontact-related kinematic constraintsare met for all blended motions.
-
4.4.3. Velocity-Based Sample Interpolation
The system authors 9 independent gait samples corresponding to key walking velocities (forward, reverse, strafing, turning), as listed in Table 3. The following table (Table 3 from the original paper) lists gait sample velocities.
| x | y | θ | |
|---|---|---|---|
| Forward Fast | max | 0 | 0 |
| Forward Slow | xslow | 0 | 0 |
| Step In Place | 0 | 0 | 0 |
| Reverse Slow | -slow | 0 | 0 |
| Reverse Fast | -max | 0 | 0 |
| Left Strafe | 0 | Ymax | 0 |
| Right Strafe | 0 | −ymax | 0 |
| Left Turn | 0 | 0 | θmax |
| Right Turn | 0 | 0 | -θmax |
For an arbitrary input velocity , sample parameters are interpolated using a three-step process (see Figure 9):
该图像是示意图,展示了三步过程的全方向样本插值。在每一步中,白色菱形表示输入速度,而每个黑色圆圈则表示映射到相关混合空间的不同样本速度。在步骤1)和2)中,分别混合最近的前进/后退样本和转向/横向样本。在步骤3)中,混合中间结果以产生最终插值参数集。
The above figure (Figure 9 from the original paper) shows sample interpolation. Three step process for omnidirectional sample interpolation. In each step the white diamond represents the input velocity while each black circle represents a different sample velocity mapped to the relevant blend space. In 1) and 2) we blend the nearest forward/reverse and turn/strafe samples, respectively. In step 3) we blend the intermediate results to produce the final interpolated parameter set.
-
Forward/Reverse Interpolation: Blends the two nearest forward/reverse samples based on . Let and be the velocities of the nearest samples. The blend ratio is: $ \begin{array} { r } { \alpha _ { \dot { x } } = f _ { \mathrm { soft } } \left( \frac { \dot { x } - \dot { x } _ { A } } { \dot { x } _ { B } - \dot { x } _ { A } } \right) } \end{array} $ Here, is a
cubic polynomialthat maps the unit domain to the unit range with zero first derivatives at limits. This ensures C1 continuity (smoothness of position and velocity) in the blended parameters when crossing sample regions. -
Turn/Strafe Interpolation: Blends turn and strafe samples based on and .
- Normalize velocities: and .
- Compute equivalent
polar coordinates: and\rho_n = \mathrm{min}\left(\sqrt{\dot{y}_n^2 + \dot{\theta}_n^2}, 1\right). The four turn/strafe samples lie on the unit circle in this normalized space at . - Blend the two nearest turn/strafe samples using: $ \begin{array} { r } { \alpha _ { \beta } = f _ { \mathrm { soft } } \left( \frac { \beta - \beta _ { A } } { \beta _ { B } - \beta _ { A } } \right) } \end{array} $ where and are their polar angles.
-
Final Blend: Blends the results from Step 1 (forward/reverse) and Step 2 (turn/strafe) based on the relative norms of and . The final blend ratio is: $ \alpha _ { \mathrm { turn-strafe } } = f _ { \mathrm { soft } } \Big ( \rho _ { n } \cdot \big ( 1 - \eta f _ { \mathrm { soft } } \big ( | \dot { x } _ { n } | \big ) \big ) \Big ) $ Here, is an adjustable gain (nominally 0.5). When , the first term primarily determines the blend. As approaches its max, the second term scales the ratio by to reduce the influence of turn-strafe samples.
4.5. Interactive Gait Editor
The system includes a custom graphical user interface (GUI) for authoring gait samples. It features a robot visualizer, style browser, input editor, and sample editor (including an animation curve editor). The UI is designed for animators, emulating common character animation tools.
4.5.1. Edit Mode
In edit mode, the user selects a gait sample and modifies its parameters.
-
The
3D visualizerdisplays the character walking at the corresponding sample velocity with the periodic two-step gait cycle, updated in real-time. This provides immediate visual feedback on changes to attributes, time intervals, orfunction curve knots. -
The visualizer also highlights (e.g., shades red) joints approaching their limits, enabling artists to address
kinematic constraintsearly. -
The animation
function curves(defined in Section 4.3) are represented ascubic Hermite splines, edited via an interface similar to traditional animation curve editors.Boundary constraintsare enforced (e.g., knot times are re-scaled when swing intervals are resized). An example of this is shown in Figure 10, where an alert is triggered if the double support duration falls below a minimum threshold.
该图像是图表,展示了在编辑左右摆动间隔前后,动画引擎检测到双支撑持续时间低于最小阈值的错误警告。上方为编辑前的状态,下方为编辑后的效果。The above figure (Figure 10 from the original paper) shows time interval and function curve editing. Before (top) and after (bottom) editing the left and right swing intervals. Here the user is alerted to an error when the animation engine detects that double support duration is below a minimum threshold after adjusting the intervals.
4.5.2. Test Mode
In test mode, the user can interactively control the robot's walking velocity using a joystick. This allows for:
- Inspecting the authored style as the gait cycle adapts to continuous input velocities.
- Evaluating and comparing different walking styles.
- Testing the controller performance with a given style to identify areas for refinement.
4.6. Model-Based Controller and Estimator
To execute the stylized gaits on physical hardware, the system employs a Model-Based Controller and a State Estimator. The controller tracks the reference motion from the Gait Planner, accounting for real-world disturbances and modeling imperfections. The control parameters are tuned once and then fixed for both simulation and hardware during design and deployment. This modularity allows for substituting the control strategy with other model- or learning-based controllers that can track task-space reference trajectories.
4.6.1. Model-Based Controller
The controller combines a Model Predictive Controller (MPC) for Center of Mass (CoM) planning and an optimization-based whole-body controller for task-space tracking.
4.6.1.1. Center of Mass Planner (MPC)
As noted in Section 4.2, the gait planner does not specify horizontal pelvis translation. Instead, an MPC (similar to [Wieber 2006]) plans a dynamically-feasible, horizontal CoM trajectory.
The horizontal components of the CoM position evolve according to:
$
\begin{array} { l l l } { \ddot { x } _ { \mathrm { com } } = \displaystyle \frac { 1 } { z _ { \mathrm { com } } } \left( ( \ddot { z } _ { \mathrm { com } } + g ) ( x _ { \mathrm { com } } - x _ { \mathrm { cop } } ) - \frac { \tau _ { y } } { m } \right) } \ { \ddot { y } _ { \mathrm { com } } = \displaystyle \frac { 1 } { z _ { \mathrm { com } } } \left( ( \ddot { z } _ { \mathrm { com } } + g ) ( y _ { \mathrm { com } } - y _ { \mathrm { cop } } ) + \frac { \tau _ { x } } { m } \right) } \end{array}
$
Here:
-
: Location of the
Center of Pressure (CoP)on the ground plane. -
: CoM height.
-
: Gravitational constant.
-
: Robot mass.
-
: Torques on the CoM caused by changes in angular momentum.
-
: Vertical acceleration of CoM.
The
MPCoptimizes the horizontal CoM and CoP trajectories over apreview window(e.g., , approx. 4 footholds). It is formulated as asparse quadratic program (QP). The QP ensures the CoP always lies within theactive support areaby optimizing CoP waypoints constrained to convex support polygons. For the work presented, simplifying assumptions are made that and angular momentum are constant for the planning of horizontal CoM, though the animation can still track a varying pelvis height.
The QP formulation is: $ \begin{array} { r l } { \underset { \tau , \xi _ { T } } { \mathrm { min } } } & { \ : \left( \mathbf { A } _ { T } \xi _ { T } - \mathbf { c } _ { T } \right) ^ { \top } \mathbf { W } _ { T } \left( \mathbf { A } _ { T } \xi _ { T } - \mathbf { c } _ { T } \right) } \ & { \ : + \left( \mathbf { z } - \mathbf { c } \right) ^ { \top } \mathbf { W } _ { \mathbf { c } } ( \mathbf { z } - \mathbf { c } ) + ( \mathbf { F } \mathbf { z } ) ^ { \top } \mathbf { W } _ { v } ( \mathbf { F } \mathbf { z } ) } \ { \mathrm { s.t. } } & { \ : \mathbf { x } _ { \mathrm { cop } , 0 } = \mathbf { x } _ { \mathrm { cop } } ^ { i } } \ & { \ : \mathbf { x } _ { \mathrm { com } , T } + \mathbf { A } _ { p } \mathbf { z } + \mathbf { b } _ { p } = \mathbf { x } _ { \mathrm { com } } ^ { i } } \ & { \ : \dot { \mathbf { x } } _ { \mathrm { com } , T } + \mathbf { A } _ { v } \mathbf { z } + \mathbf { b } _ { v } = \dot { \mathbf { x } } _ { \mathrm { com } } ^ { i } } \ & { \ : \mathbf { x } _ { \mathrm { cop } , n } \in C _ { n } \quad \forall n \in [ 0 , N - 1 ] } \end{array} $ Here:
-
: Vector of CoP waypoints over the preview window.
-
: Final horizontal CoM position and velocity at the end of the preview window.
-
First objective term: Minimizes the difference between the final
Capture Point (CP)(a linear combination of CoM position and velocity [Pratt et al. 2006]) and the centroid of the last support polygon . is chosen such that is the final CP. -
Second objective term: Encourages CoP waypoints to be close to the centroid of their respective constraint polygons.
-
Third objective term: Penalizes large CoP velocities (F is a finite difference matrix).
-
: Respective objective weight matrices.
-
Equality constraints: Ensure continuity with initial CoP () and initial CoM position () and velocity (). are discrete reverse-time integration matrices for CoM.
-
Final constraint: ensures each CoP waypoint lies within its convex constraint polygon .

该图像是一个示意图,展示了优化的质心(CoM)和支撑点(CoP)之间的关系。图中所示的参考轨迹由模型预测控制器计算,基于期望的足步序列和步态时间进行优化。The above figure (Figure 11 from the original paper) shows optimized CoM and CoP. The desired reference trajectories are computed by the model predictive controller given desired footstep sequence and gait timings.
4.6.1.2. Whole-Body Controller
The kinematic and dynamic references from the gait and CoM planners are tracked by an optimization-based whole-body controller at (similar to [Koolen et al. 2016]). It uses joint-space and Cartesian feedback control to compute desired acceleration and momentum rate objectives. These objectives are resolved by a task-space inverse dynamics solver, formulated as a whole-body QP.
Dynamic Constraints:
The robot is modeled as an articulated rigid body system with dynamics:
$
{ \bigg [ } \mathbf { 0 } { \bigg ] } = \mathbf { H } ( \mathbf { q } ) { \ddot { \mathbf { q } } } + \mathbf { C } ( \mathbf { q } , { \dot { \mathbf { q } } } ) - \sum _ { c } \mathbf { J } _ { c } ^ { \top } \mathbf { f } _ { c } .
$
Here:
-
: Vector of joint torques.
-
: Joint-space inertia matrix (dependent on robot configuration ).
-
: Vector of centrifugal, Coriolis, and gravity torques.
-
: External contact forces at contact point .
-
: Jacobian matrix corresponding to contact point .
The
centroidal dynamics(motion of the CoM) are described by Newton-Euler constraints: $ \dot { \mathbf { h } } = \sum _ { c } \left[ \mathbf { r } _ { \times _ { c } } \right] \mathbf { f } _ { c } + \left[ \begin{array} { c } \mathbf { 0 } \ - m \mathbf { g } \end{array} \right] . $ Here: -
: Vector of linear () and angular () momentum rates.
-
: A cross product matrix derived from the vector pointing from the CoM to contact point .
-
: Zero vector for linear force component.
-
: Force of gravity acting on the CoM.
Contact Model:
A polygonal friction cone approximation is used to optimize forces at each contact point, subject to Coulomb friction constraints. Contact points are defined at the convex hull of the active support polygon (see Figure 15). Each friction cone is approximated by four basis vectors that span a convex subset of the cone.
Valid contact forces are encoded using a vector of non-negative weights :
$
\mathbf { f } _ { c } = \left[ { \pmb { \beta } } _ { c , 1 } \quad { \pmb { \beta } } _ { c , 2 } \quad { \pmb { \beta } } _ { c , 3 } \quad { \pmb { \beta } } _ { c , 4 } \right] { \pmb { \rho } } _ { c } .
$
Here must contain non-negative values.
该图像是示意图,展示了接触模型中作用于脚的凸包上点的接触力。接触力 以非负的加权和形式表示,基于位于摩擦锥内的基向量 eta_{c,i},其中 。
The above figure (Figure 15 from the original paper) shows contact model. Contact forces acting at points on the convex hull of the foot are expressed as a non-negative, weighted sum of basis vectors, , that lie within the friction cone.
Task-Space Objectives:
The whole-body controller computes task-space acceleration and momentum rate of change objectives to track the desired motion.
- Joint and spatial acceleration objectives are expressed as a linear function of the
joint acceleration vector: $ \mathbf { u } _ { t } = \mathbf { j } _ { t } \dot { \mathbf { q } } + \mathbf { J } _ { t } \ddot { \mathbf { q } } , $ Here, is a configuration-dependenttask Jacobian, and accounts for Coriolis and centrifugal terms. - The
centroidal momentum ratecan be expressed as: $ \dot { \mathbf { h } } = \dot { \mathbf { A } } _ { h } \dot { \mathbf { q } } + \mathbf { A } _ { h } \ddot { \mathbf { q } } , $ Here, is the configuration-dependentcentroidal momentum matrix (CMM)[Orin and Goswami 2008].
Task-Space Inverse Dynamics Optimization:
The inverse dynamics solver resolves the task-space objectives by optimizing and contact forces using the following quadratic program (QP):
$
\begin{array} { r l } { \underset { \ddot { \mathbf { q } } , \pmb { \rho } } { \mathrm { min } } } & { \ : \left( \mathbf { u } - \mathbf { j } _ { \mathfrak { q } } - \mathbf { J } _ { \mathfrak { q } } \right) ^ { \top } \mathbf { W } _ { t } \left( \mathbf { u } - \mathbf { j } _ { \mathfrak { q } } - \mathbf { J } _ { \mathfrak { q } } \right) } \ & { \ : + \lambda _ { \mathfrak { q } } \ddot { \mathbf { q } } ^ { \top } \ddot { \mathbf { q } } + \lambda _ { \rho } \pmb { \rho } ^ { \top } \pmb { \rho } + \lambda _ { \tau } \bar { \boldsymbol { \tau } } ^ { \top } \bar { \boldsymbol { \tau } } } \ { \mathrm { s.t. } } & { \ : \dot { \mathbf { A } } _ { h } \dot { \mathbf { q } } + \mathbf { A } _ { h } \ddot { \mathbf { q } } = \begin{array} { r } { \sum _ { c } \left[ \mathbf { r } _ { \times _ { c } } \right] \mathbf { f } _ { c } + \left[ \begin{array} { c } \mathbf { 0 } \ - m \mathbf { g } \end{array} \right] } \ { 0 } \end{array} } \ & { \ : k _ { l } ( \mathbf { q } _ { \mathrm { min } } - \mathbf { q } ) - b _ { l } \dot { \mathbf { q } } \leq \ddot { \mathbf { q } } } \ & { \ : k _ { l } ( \mathbf { q } _ { \mathrm { max } } - \mathbf { q } ) - b _ { l } \dot { \mathbf { q } } \geq \ddot { \mathbf { q } } } \ & { \ : \mathbf { 0 } \leq \pmb { \rho } } \ & { \ : \forall _ { c } \mathbf { f } _ { c } \leq \mathbf { f } _ { \mathrm { max } } , } \end{array}
$
Here:
-
First objective term: Minimizes the error between desired task accelerations and the accelerations achieved by . represents the stacked vector of desired task-space accelerations and momentum rate objectives, and represents the corresponding matrix of Jacobians.
-
: Vector of weights for each contact point.
-
: Objective weighting matrix.
-
: Regularization weights.
-
: Represents the component of torque induced by contact forces. Regularizing this term reduces unnecessary
internal forces. -
Constraint (21): Enforces the
centroidal dynamics constraint. -
Constraints (22) and (23): Enforce
soft position limitson joint accelerations with second-order dynamics (stiffness , damping ). -
Constraint (24): Enforces the
non-negativityof the contact force model weights . -
Constraint (25): Limits the maximum contact force to 0 for inactive contacts ().
From the optimized and values, the final
contact forceandjoint torquesolution are derived using the earlier dynamics equations.
4.6.1.3. Gait Feedback
To maintain stability when the controller cannot sufficiently track the CoM reference (due to disturbances, high accelerations, or inherent gait dynamics), three heuristic feedback mechanisms are employed to regulate the CoM error ():
- Velocity Adjustment: The target walking velocity is adjusted: . The offset is a linear combination of CoM position and velocity error, passed through a
deadband functionandlow-pass filter. This strategy accelerates the robot in the direction of persistent error, aiding recovery at the cost of drift. - Step Adjustment: The upcoming foothold position is adjusted: . This shifts the foothold to a more favorable
CoP contact regionto reduce error in the next support phase. - Time Scaling: The CoM reference trajectory is sped up or slowed down to help the estimated CoM "catch up" or "lag" appropriately. The
time scaling rateis computed based on CoM position and velocity error projected onto the axis pointing from current to next foothold (): $ \kappa _ { \mathrm { time } } = e ^ { \left( k _ { P } \epsilon + k _ { d } \dot { \epsilon } \right) } $ Here, and are experimentally-tuned positive feedback gains. All reference trajectories are time-scaled to maintain kinematic and dynamic consistency of the gait, effectively slowing or speeding up the gait for stability.
4.6.2. Estimator
The State Estimator fuses robot sensor measurements at to estimate the robot's state vector .
- Sensor Measurements: Actuator encoder positions and
Inertial Measurement Unit (IMU)data (located on the pelvis/root link). - Root Orientation: Estimated using an
Extended Kalman Filter (EKF)[Solà 2015]. - Pelvis Translation: Estimated using
zero-velocity observationsduring foot contact with the ground, leveragingleg kinematics. From the estimated state vector and rigid body model, allCartesianandcentroidal estimatesrequired for control are computed.
4.7. Overall Workflow (Reiteration)
- Artist Interaction: Animator uses the
Interactive Gait Editorto creategait samples() atkey velocities(). This involves adjustingtime intervals,attributes, andfunction curves. - Gait Planning: In real-time, the current desired velocity and robot state are fed to the
Gait Sampler. - Sample Interpolation: The
Gait Samplerinterpolates the authored samples usingphase-space blendingto produce a continuous set of animation parameters for the current . - Reference Trajectory Generation: The
Gait Planneruses , , and to generatewhole-body reference trajectories(pelvis height/rotation, foot poses, upper body joint angles), decomposing them into nominal and stylized components. The horizontal CoM is not generated here. - CoM Planning: The
Model Predictive Controllerplans a dynamically feasiblehorizontal CoM trajectoryandCoP trajectorybased on anticipated footholds and gait timings. - Whole-Body Control: The
Whole-Body Controllerreceives and the planned CoM/CoP trajectories. It uses aninverse dynamics QP solverto compute joint accelerations and contact forces, which are then converted to joint torque setpoints to track the desired motion. - State Estimation: The
State Estimatorcontinuously provides the robot's current state from sensor data, closing the feedback loop. - Gait Feedback: In case of tracking errors or disturbances,
gait feedback mechanisms(velocity, step, time scaling) adjust the planner's inputs to maintain stability while preserving style.
5. Experimental Setup
The utility of the proposed methodology was demonstrated on three distinct robotic characters, both in simulation and on physical hardware. The primary "dataset" for evaluation consists of these robot models and the stylized gaits authored using the system.
5.1. Datasets
The experiments primarily involve three robotic characters, chosen to demonstrate the generality of the approach across different physical characteristics:
-
Groot: A child-sized humanoid robot (themed after the character Groot).
-
Adult-Sized Humanoid: A human-inspired robot based on a design from [Rodriguez et al. 2019].
-
Dinosaur: A small-scale dinosaur-inspired biped.
The following table (Table 4 from the original paper) provides key statistics for these robots:
#Act height (mm) weight (kg) Groot 25 1155 18.5 Groot Lower Body 10 650 19.3 Humanoid 25 1640 74.5 Dino 20 615 16.9
Here:
-
#Act: Number of actuators (degrees of freedom). -
height (mm): Robot height in millimeters. -
weight (kg): Robot weight in kilograms.These robots represent a diverse set of bipeds in terms of:
-
Proportions: Varying heights and body structures (e.g., humanoid vs. dinosaur).
-
Mass Distributions: Different weights, affecting inertia and dynamic behavior.
-
Degrees of Freedom: Ranging from 10 (Groot Lower Body) to 25 (Groot, Humanoid), influencing available expressiveness and control complexity.
The experiments involve:
-
Simulation: All three robot models were simulated using
MuJoCo[Todorov et al. 2012], a physics engine known for model-based control. Physically plausible actuator sizing was used. -
Hardware: A physical copy of the Groot robot was used, including a
lower-body-onlyversion, to testsim-to-real transfer.
5.2. Evaluation Metrics
The evaluation is primarily qualitative, focusing on the visual and experiential aspects of the stylized gaits, complemented by quantitative analysis of controller performance and stability.
Qualitative Metrics (evaluated by artists/observers):
- Expressiveness and Believability: How well the authored gaits convey desired styles (e.g., "happy," "sneaky," "injured," "relaxed").
- Natural Appearance: How natural the walking motion looks.
- Ease of Authoring: How quickly and intuitively artists can design gaits.
- Real-time Interaction: The responsiveness of the interactive editor.
- Generalizability of Style: How smoothly the style adapts across continuous velocity changes.
Quantitative Metrics (derived from system performance, implicitly defined by plots):
- CoM Error (): The difference between the estimated and reference
Center of Massposition. This is a measure of how well theMPCandWhole-Body Controllermaintain balance. - Gait Adjustment Mechanisms Response: The magnitude and timing of:
- Time Scaling Rate (): How much the gait speed is adjusted for recovery.
- Step Adjustment (): The change in foothold placement for balance.
- Velocity Adjustment (): The change in commanded velocity for recovery. These are shown in plots like Figure 13, indicating the controller's reactive capabilities.
- Animation Tracking Error: The difference between desired reference trajectories (from the Gait Planner) and the robot's actual joint or Cartesian positions. This is shown for specific functions like pelvis yaw, pelvis height, and elbow bend (e.g., Figure 14).
- Conceptual Definition: Tracking error quantifies how closely the robot's actual motion follows the commanded reference trajectory. A low tracking error indicates the controller is effectively executing the desired movements.
- Mathematical Formula (General Form): For a given quantity (e.g., joint angle, position), the error at time is typically calculated as: $ E_X(t) = X_{\text{actual}}(t) - X_{\text{reference}}(t) $ The performance is often summarized by its mean or standard deviation over time or a gait cycle.
- Symbol Explanation:
- : The error for quantity at time .
- : The measured (estimated) value of quantity at time .
- : The desired (commanded) value of quantity at time .
- Robustness: The ability of the robot to maintain its gait and style despite external disturbances (e.g., pushes) or unmodeled elements (e.g., costume).
5.3. Baselines
The paper's method is not directly compared against other interactive authoring tools in a quantitative benchmark sense. Instead, the comparison is implicit with the limitations of existing approaches:
-
Traditional Computer Animation Tools: These are baselines in terms of artistic control but lack awareness of robotic constraints.
-
Offline Trajectory Optimization Methods: These can generate feasible motions but are not real-time or interactive.
-
Reinforcement Learning (RL) Approaches: These excel at skill acquisition and robustness but typically require extensive training time and lack direct artist control for specific stylistic choices.
-
Functional Locomotion Controllers: These prioritize stability and efficiency over stylistic expression.
-
Prior Graphical Gait Editors: Mentioned in related work, but differentiated by this paper's focus on procedural, cyclic, velocity-interpolated gaits versus individually keyframed steps.
The paper argues that its primary innovation is the interactive workflow itself, which allows real-time editing on physical robots with a level of detail and expressiveness not achieved by existing alternatives.
6. Results & Analysis
The results demonstrate the system's capability to design and execute stylized walking gaits on diverse robotic platforms, highlighting the interactivity, expressiveness, and robustness of the approach.
6.1. Core Results Analysis
6.1.1. Small-Scale Dinosaur Simulation
The system was used to design two distinct dynamic gaits for a small-scale dinosaur model with 6-DoF legs, a 4-DoF neck, and a 4-DoF tail.
-
Dino Gait: This stylized gait demonstrated significant variation in cycle duration across different speeds (In Place, Forward Slow, Forward Fast). As the character accelerated from 0 to , the stepping frequency more than doubled. This timing variation contributed to a more natural appearance, reducing stride length at high speeds while maintaining a casual frequency at slow speeds. The gait featured symmetric swing intervals and extensive animation of the neck (bird-like kinematics) and tail (inspired by theropod dinosaur motion) to imbue characteristic style.
-
Injured Gait: This gait featured asymmetric swing intervals for In Place and Forward Slow samples. The shorter left swing phase, combined with a positive stance x-bias, was intended to convey an injury to the right leg. At Forward Fast speed, it blended back to the symmetric dino gait, showcasing the system's ability to transition between styles based on velocity.
The following figure (Figure 12 from the original paper) shows the dinosaur gait timing.

该图像是图表,展示了恐龙行走步态的时间分配。图中分别展示了“Dino Gait”(上方)和“Injured Gait”(下方)在不同移动速度下的摆动相位时间分布。圆形区域中的颜色表示左侧(LS)和右侧(RS)摆动相位所花费的时间,圈的半径代表周期时长。随着速度的增加,Dino Gait显示出对称的摆动时间,而Injured Gait在慢速时则为不对称。The above figure (Figure 12 from the original paper) shows dinosaur gait timing. The colored regions indicate the time spent in the left and right swing phase. The radius of each circle represents the cycle duration. Top: the Dino Gait features symmetric swing intervals with a decreasing cycle time as the gait velocity increases. Bottom: the Injured Gait is asymmetric at slow speeds and symmetric at the Forward Fast speed.
-
Push Recovery Experiment: This experiment demonstrated the stability and robustness of the model-based planning and control stack. An external force ( for forward push) was applied to the robot's pelvis during slow forward walking. The robot successfully recovered by employing the
gait adjustment strategies(velocity, step, and time scaling adjustments).The following figure (Figure 13 from the original paper) shows the Dino push experiment.

该图像是图表,展示了Dino推实验中的数据。上部展示了机器人调整速度时的样本激活,底部图表展示了步伐和速度调整的响应机制,以及相应的时间标度变化。推的区间以阴影部分表示。The above figure (Figure 13 from the original paper) shows the Dino push experiment. The shaded area indicates the push interval. The top plot shows the sample activation as the robot adjusts it's velocity. The bottom plots show the response of the gait adjustment mechanisms used for recovery.
- Time Scaling: Was active even during nominal gait, indicating the dynamic nature of the gait and the system's continuous stability efforts. Upon the push, it quickly saturated to increase step frequency.
- Step Adjustment: Began to increase shortly after the push, peaking at approximately , demonstrating
foot placementas a key recovery mechanism. - Velocity Adjustment: Increased later, peaking at , indicating a response to more persistent errors by altering the commanded velocity.
This sequence confirms that time scaling responds to small errors, step adjustment to larger errors correctable by foot placement, and velocity adjustment to persistent errors. As velocity adjustment increased, the
gait sampleractivated theForward Fastsample, which naturally has a higher step frequency, aiding recovery while maintaining the authored style.
6.1.2. Adult-Sized Humanoid Simulation
For an adult-sized humanoid robot (6 DoF legs, 2 DoF spine, 4 DoF arms, 3 DoF neck), the technique demonstrated:
- Default Style: Showcasing the nominal reference computed by the gait planner.
- Stylized Relaxed Human Gait: Characterized by a slower cycle duration ( In Place) and an open stance. Pelvis and spine yaw animation emulated natural counter-rotation of hips and shoulders during swing, contributing to a casual, human-like feel.
- Additional Gaits:
Sneak walk: Likely involved lower pelvis height, stealthy foot placements, and subdued upper-body motion.Double-bounce walk: Implied rhythmic vertical motion of the pelvis.Neutral walk with heel-strike and toe-off: Demonstrating explicit control over foot contact behavior. These results validated the system's ability to create diverse upper-body motions and sophisticated heel/toe contact patterns.
6.1.3. Groot Hardware Platform
The Groot-themed child-sized humanoid robot (5 DoF legs with line-contact feet, 6 DoF arms, 3 DoF neck) was used for hardware deployment.
-
Sim-to-Real Transfer: The same authored styles were deployed to the simulated robot, the physical robot, and the physical robot in full costume. The results showed that the
sim-to-real gapwas relatively small. Mean tracking errors were similar between simulation and hardware, although standard deviation was smaller in simulation (indicating more repeatable performance). Crucially, the style transferred well to hardware, and the controller reliably tracked the desired gait across input velocities. -
Robustness to Unmodeled Elements: The walking gait remained robust even with the
unmodeled costumeand handled disturbances fromlayered upper-body motions(e.g., waving while walking), demonstrating the controller's practical effectiveness. -
Additional Walking Styles:
Slouched walk: Likely lower pelvis, hunched posture.Playful walk with extended arms.Double-bounce walk with significant arm swing. These examples highlight the variations achievable with the proposed gait parameterization, including diverse step timings, posture, and upper-body motion.
-
Lower-Body-Only Robot: An alternative dynamic gait was demonstrated on a lower-body-only version of the Groot robot. Despite challenges like
line-contact feetand lack ofankle roll(preventing full 6-DoF foot pose tracking), the system allowed for relatively easy authoring of dynamic gaits on this constrained hardware.The following figure (Figure 14 from the original paper) shows animation tracking for the Groot character.

该图像是图表,展示了Groot角色的动画跟踪。上部比较了模拟机器人、无服装和全服装角色的胯部偏航、胯部高度及肘部弯曲跟踪。下部显示了不同步态阶段的标准差误差,图中使用不同颜色线条表示各配置的跟踪结果。The above figure (Figure 14 from the original paper) shows animation tracking for the Groot character. Early Concept Exploration, Only. We compare the pelvis yaw, pelvis height, and elbow bend tracking for three configurations: the simulated robot, the physical robot, and the physical character with full costume. The highlighted regions show the standard deviation of the errors over several walk cycles as a function of gait phase.
This plot (Figure 14) shows the mean and standard deviation of tracking errors for pelvis yaw, pelvis height, and elbow bend across a gait phase. It compares the simulated robot, the physical robot without costume, and the physical robot with full costume. The results indicate that while there's higher variation (larger standard deviation) in tracking errors for physical robots, the mean errors are comparable, signifying effective
sim-to-real transferfor the desired stylized gaits.
6.2. Data Presentation (Tables)
The following are the results from [Table 4] of the original paper:
| #Act | height (mm) | weight (kg) | |
|---|---|---|---|
| Groot | 25 | 1155 | 18.5 |
| Groot Lower Body | 10 | 650 | 19.3 |
| Humanoid | 25 | 1640 | 74.5 |
| Dino | 20 | 615 | 16.9 |
6.3. Ablation Studies / Parameter Analysis
The paper primarily focuses on demonstrating the effectiveness and usability of the integrated system rather than conducting formal ablation studies on individual components. However, insights into parameter effects and design time are provided:
-
Gait Design Time:
- For the
lower-body Groot robot(10 actuated degrees of freedom), an expressivebouncy gaitcould be designed in amatter of minutesby editing parameters directly on the hardware. This highlights the efficiency for simpler characters. - For the full
Groot robot, some styles were authored directly on hardware, while others were first designed in simulation and then deployed. - The
adult-sized humanoid gaitswere adapted from existing animation curves, suggesting that the system can integrate with pre-existing artistic content. - The
dinosaur gaits(requiring complex tail and neck motions) took approximately1-2 hoursto author from scratch. These estimates demonstrate that the system enables rapid gait design, especially for iterative refinement or simpler characters, and reasonable times for complex, full-body styles.
- For the
-
User Study: A small user study with 4 participants (2 with Maya animation experience, 2 with humanoid robotics experience but no animation) evaluated the ease-of-use of the editor.
-
Time to Design: Participants took between
25 and 45 minutesto design a gait sample for the adult-sized humanoid based on their concepts. -
Satisfaction with Design: Users were generally satisfied with their ability to realize initial concepts, though they encountered limitations related to
step timingandrange of motion, which are inherent physical constraints. -
Impact of Interactivity: Users found the interactive nature highly beneficial for
rapid iterationandexperimentation. Non-animators particularly appreciated how the process helped visualize thepersonalityimparted by each parameter. -
Comparison to Traditional Tools (Maya): Users with Maya experience noted missing features like
keyframing on a timeline. However, another user found the proposed tooleasier to get started onand leading tofaster results. -
Difficulties/Ease: The
animation curve editorwas generally foundeasy to use. Suggestions included UI improvements likecolor-coded splinesandslow-motion playback.The user study results strongly support the claim that the editor is
easy-to-useandinteractive, enabling rapid prototyping of stylized gaits even for users with limited prior animation experience, while effectively abstracting robotic complexity.
-
7. Conclusion & Reflections
7.1. Conclusion Summary
This paper successfully presents a comprehensive system for the interactive design of stylized walking gaits for bipedal robotic characters. The core strength lies in its ability to empower animators, even those without extensive robotics experience, to quickly and intuitively create expressive motions that are simultaneously dynamically feasible and kinematically constrained for physical robots. This is achieved through an innovative combination of a rich gait parameterization, a phase-space sample blending strategy for continuous velocity variation, and gait adjustment feedback mechanisms that preserve artistic intent while ensuring stability. The system's real-time, direct-on-hardware editing capability marks a significant advancement, as demonstrated across diverse robotic characters (Dino, Humanoid, Groot) varying in size, proportions, and degrees of freedom.
7.2. Limitations & Future Work
The authors acknowledge several limitations and propose future research directions:
- Safety Guarantees for Online Authoring: While the tool allows direct editing on hardware with safeguards, it cannot guarantee that an animator's edits won't exceed the controller's capabilities or robot's physical limits, potentially leading to falls. Future work could focus on online authoring tools that incorporate explicit safety guarantees.
- Automated Porting from Animation Content: The current system relies on manual curve editing, which might not be ideal for all use cases. Future work could investigate automating the transfer of walk cycles from existing
keyframed animation contentormotion capture data. - Extension to More Challenging Gaits: The current work is restricted to
walk cycles. An interesting future direction is to extend the approach to more complex gaits likerunning,skipping, orcyclic acrobatic motions, which could also benefit from a procedural authoring tool. - Learning-Based Control Integration:
Model-based control stacksare inherently difficult to build and tune, often facingsim-to-real gaps.Learning-based control, particularlyimitation learning, offers robustness to disturbances and tolerance to modeling uncertainties. The authors plan to:- Use the proposed technique to build
dense, artifact-free gait librariesfor trainingReinforcement Learning (RL) policies. - Incorporate
learning-based reference tracking controllersto supplement the current gait planner and editor, aiming to maintain aninteractive animation workflow.
- Use the proposed technique to build
7.3. Personal Insights & Critique
This paper makes a crucial contribution to the intersection of animation and robotics. The core innovation lies not just in a new algorithm, but in designing a workflow that bridges the gap between artistic expression and physical reality. The emphasis on real-time, interactive editing directly on hardware is a game-changer, as it significantly reduces the iteration time and allows for a more intuitive creative process. This approach could democratize robot animation, making it accessible to a wider range of artists who are not robotics experts.
One key strength is the careful design of the gait parameterization. By abstracting complex dynamics into intuitive animation curves and attributes, the system cleverly guides artists towards physically feasible motions without them needing to explicitly understand inverse dynamics or MPC. The phase-space blending is also a well-thought-out solution to a common problem in animation: smoothly interpolating diverse styles across continuous parameters while maintaining critical structural integrity (contact events).
However, a potential area for future improvement, as acknowledged by the authors, is the sim-to-real gap and the inherent complexity of model-based control. While the current system successfully mitigates these with robust feedback, the initial tuning of the model-based controller itself can be a significant hurdle. Incorporating learning-based control as a backend could potentially alleviate some of this tuning burden and improve robustness further, as suggested by the authors. The challenge would be to integrate such learned controllers without sacrificing the precious interactive feedback loop, which is central to this paper's contribution.
The user study, though small, provides compelling evidence for the system's usability. The feedback about missing timeline keyframing features from experienced animators is valuable; while the procedural approach is powerful for generalization, traditional keyframing offers granular control that artists are accustomed to. A hybrid approach combining procedural generation with keyframe overrides could be an interesting future direction.
The methods and conclusions are highly applicable to any domain involving expressive bipedal robot characters, particularly entertainment, education, and social robotics. The principles of parameterizing complex physical motions for artistic control, then blending and robustly executing them, could also be transferable to other types of robotic systems or even virtual characters with more stringent physics requirements. The paper's impact lies in bringing artistry and intuitive control to the rigid world of robotics, unlocking new possibilities for expressive robot behavior.
Similar papers
Recommended via semantic vector search.