Paper status: completed

Interactive Design of Stylized Walking Gaits for Robotic Characters

Published:07/19/2024
Original Link
Price: 0.100000
2 readers
This analysis is AI-generated and may not be fully accurate. Please refer to the original paper.

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.

/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:

  1. 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.

  2. 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).

  3. 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.

  4. 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:

  1. 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.

  2. Procedural Animation Tailored for Robotics: The paper introduces a novel procedural animation technique specifically designed to generate whole-body reference trajectories for bipedal robots. This technique uses a rich set of animation 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.

  3. 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-authored sample walk cycles while rigorously preserving critical contact constraints and timing relationships, ensuring smooth and consistent style transitions.

  4. 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 (including Model Predictive Control and a Whole-Body Controller) and gait feedback mechanisms (velocity, step, and time scaling adjustments) to ensure robustness against disturbances and maintain stability during complex stylized motions.

  5. 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 the support polygon formed 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 planning and trajectory 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 models describe positions and velocities without considering forces, while dynamic models describe 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 curves by [Kovar and Gleicher 2003] is particularly relevant. They use Dynamic Time Warping (DTW) to align and blend motions. While this paper also maps time to a phase parameter, its approach is gait-specific, relying on contact event timings rather than general animation frame data, to ensure contact-related kinematic constraints are satisfied.

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 time and don't allow artists direct, interactive, full-body authoring on 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] or high-level feedback like gait timing and foothold 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 randomization to 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 feedback and real-time authoring capability that RL methods typically lack due to training time.

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 gaits that vary smoothly over continuous velocities, offering a higher level of abstraction and generalization than individually keyframed steps.

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:

  1. 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-repeat cycle.
  2. Constraint-Aware Procedural Animation: While procedural animation exists, this paper's technique is explicitly tailored to the kinematic and dynamic constraints of 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.
  3. 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.
  4. Phase-Space Blending for Continuous Velocity: The phase-space blending strategy is explicitly designed to interpolate between authored gait samples across a continuous range of input velocities while preserving contact constraints and gait timings. This ensures smooth and consistent style transitions as the robot's speed and direction change.
  5. Integration of Artistry and Robust Control: The system seamlessly integrates an artist-friendly interface with a robust, model-based control stack that handles balance and disturbance rejection. This allows artists to focus on aesthetics while the underlying system ensures physical viability and stability, a common challenge in physics-based character animation for 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:

  1. 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).

  2. Real-time Feedback: The system provides instantaneous visual and simulated feedback, allowing artists to iterate quickly.

  3. Decomposition of Motion: Robot motion is decomposed into a nominal, velocity-dependent component and a stylized, artist-defined component, which are then combined.

  4. 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.

  5. 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 style can be executed on a robot while tracking arbitrary velocity commands.

4.2. Gait Planner

The Gait Planner (gg) is the procedural animation engine responsible for mapping a time-varying, planar input velocity, v(t)\mathbf{v}(t), into a vector of Cartesian and joint-space reference trajectories, r(t)\mathbf{r}(t), that the robot's whole-body controller will track. This mapping is also influenced by the current estimated robot state (s\mathbf{s}) and a vector of animation parameters (Π\Pi).

The function signature for the Gait Planner is: $ \mathbf { r } ( t ) = g ( \mathbf { v } , \mathbf { s } , \Pi , t ) . $ Here:

  • r(t)\mathbf{r}(t): The vector of desired reference trajectories at time tt.

  • v\mathbf{v}: The current desired planar input velocity command, expressed in body coordinates as [x˙,y˙,θ˙][\dot{x}, \dot{y}, \dot{\theta}]^\top, representing forward, lateral, and angular velocity.

  • s\mathbf{s}: The estimated robot state, typically defined as s=[q,q˙]\mathbf{s} = [\mathbf{q}^\top, \dot{\mathbf{q}}^\top]^\top, where qRN+6\mathbf{q} \in \mathbb{R}^{N+6} is the robot configuration (N joint coordinates + 6 floating-base coordinates) and q˙\dot{\mathbf{q}} is its time derivative.

  • Π\Pi: A vector of artist-defined animation parameters encoding the desired gait style.

  • tt: Current time.

    The output reference vector r(t)\mathbf{r}(t) 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:

  • zpelvisz_{\mathrm{pelvis}}: Desired pelvis (root) height.

  • θpelvis\theta_{\mathrm{pelvis}}: Desired pelvis rotation (a quaternion).

  • pfoot,l\mathbf{p}_{\mathrm{foot,l}}^\top: Desired 6-DoF pose (translation xR3\mathbf{x} \in \mathbb{R}^3 and rotation θR3\pmb{\theta} \in \mathbb{R}^3 in Euler angles or equivalent) for the left foot.

  • pfoot,r\mathbf{p}_{\mathrm{foot,r}}^\top: Desired 6-DoF pose for the right foot.

  • qupper\mathbf{q}_{\mathrm{upper}}^\top: Desired joint coordinates for the upper body (e.g., arms, neck, spine, tail angles).

    Crucially, the planner does not specify the horizontal pelvis translation ([xpelvis,ypelvis][x_{\mathrm{pelvis}}, y_{\mathrm{pelvis}}]^\top). 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 125 Hz125 \text{ Hz} 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 at LLO, with a total period TST_S. The event times (tLLO,tLTD,tRLO,tRTDt_{LLO}, t_{LTD}, t_{RLO}, t_{RTD}) are derived from animation parameters.

      Fig. 3. Two-step walk cycle. The gait transitions through four contact events during each cycle: left liftoff `( L L O )` , left touchdown `( L T D )` , right liftoff (RLO), and right touchdown `( R T D )` . For the purposes of this paper, the two-step cycle is defined such that it starts and ends at `L L O` . 该图像是示意图,展示了两步走周期的运动过程。该周期包含四个接触事件:左侧起步(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 v=[x˙,y˙,θ˙]\mathbf{v} = [\dot{x}, \dot{y}, \dot{\theta}]^\top is expressed in body coordinates (relative to the robot). The integral of this velocity defines the path frame (P\mathcal{P}), which tracks the robot's desired planar pose pv=[x,y,θ]\mathbf{p^v} = [\boldsymbol{x}, \boldsymbol{y}, \boldsymbol{\theta}]^\top 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.

    Fig. 4. Example walking paths with sampled footholds. The path frame, \(\\mathcal { P }\) , with \(\\mathbf { x } \\cdot \\mathbf { \\partial }\) 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, \(o\) , 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.
    该图像是示意图,展示了样本足迹的行走路径。左侧的黑色和白色矩形表示预期的接触点,而红色和蓝色轴分别代表路径框架的 xxyy 轴。固体线表示过去的行走路径,虚线则指示预测的行走路径。右侧矩形表示在行走中实现的足迹位置。总体上,图像帮助理解早期步态规划的动态。

    The above figure (Figure 4 from the original paper) shows example walking paths with sampled footholds. The path frame, P\mathcal { P }, with x\mathbf { x } \cdot \mathbf { \partial } 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, oo, 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:

  1. Nominal Component (superscript v\mathbf{v}): Derived from the input velocity v\mathbf{v}, satisfying basic kinematic and timing constraints for walking.

  2. Stylized Component (superscript Π\Pi): Derived from the animation parameters Π\Pi, 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 (zpelvisz_{\mathrm{pelvis}}) and Euler angles (qupper\mathbf{q}_{\mathrm{upper}}) indicates summing the nominal and stylized components.
  • Multiplication for θpelvis\theta_{\mathrm{pelvis}} (quaternion rotation) implies composition of rotations.
  • \oplus: A pose composition operator for 6-DoF poses p=[x,θ]\mathbf{p} = [\mathbf{x}^\top, \pmb{\theta}^\top]^\top. 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 kk, 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:

  • pfoothold,lk\mathbf{p}_{\mathrm{foothold,l}}^k, pfoothold,rk\mathbf{p}_{\mathrm{foothold,r}}^k: The desired 6-DoF poses for the left and right footholds in the global frame for cycle kk.

  • pv(t)\mathbf{p}^{\mathrm{v}}(t): The path frame pose at the appropriate time tt (midpoint of each upcoming foot contact interval).

  • pstance,l\mathbf{p}_{\mathrm{stance,l}}, pstance,r\mathbf{p}_{\mathrm{stance,r}}: 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 foothold is fixed at touchdown. 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., pfoot,lv(t)=pfoothold,lk1\mathbf{p}_{\mathrm{foot,l}}^{\mathbf{v}}(t) = \mathbf{p}_{\mathrm{foothold,l}}^{k-1}). This ensures non-sliding contact constraints.
  • Swing Phase: A swing foot trajectory is 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:
    • xfoot,lv(t)\mathbf{x}_{\mathrm{foot,l}}^{\mathrm{v}}(t), θfoot,lv(t)\pmb{\theta}_{\mathrm{foot,l}}^{\mathrm{v}}(t): Nominal linear and angular components of the left foot pose.

    • xfoothold,lk1\mathbf{x}_{\mathrm{foothold,l}}^{k-1}, xfoothold,lk\mathbf{x}_{\mathrm{foothold,l}}^k: Positions of the previous and upcoming footholds.

    • θfoothold,lk1\pmb{\theta}_{\mathrm{foothold,l}}^{k-1}, θfoothold,lk\pmb{\theta}_{\mathrm{foothold,l}}^k: Orientations of the previous and upcoming footholds.

    • α(t)\alpha(t): A cubic interpolation parameter that smoothly increases from 0 to 1 over the duration of the step, with zero initial and final velocity (α˙(tLLO)=α˙(tLTD)=0\dot{\alpha}(t_{LLO}) = \dot{\alpha}(t_{LTD}) = 0).

    • 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 component via animation parameters.

4.2.2.3. Nominal Pelvis and Upper-Body Trajectories

  • Pelvis Rotation (θpelvisv\theta_{\mathrm{pelvis}}^{\mathbf{v}}): The pelvis z-axis remains vertical, and horizontal axes align with the path frame rotation. This creates smooth pelvis yaw during turns.
  • Pelvis Height (zpelvisvz_{\mathrm{pelvis}}^{\mathbf{v}}): Set to 0.
  • Upper Body (quppervq_{\mathrm{upper}}^{\mathbf{v}}): Set to 0\mathbf{0} (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 Π\Pi 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.

NameDescription(Min, Max)
CYThe two-step cycle interval(, + T)
LSThe left swing interval(, )
RSThe 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 of CY and LS are clamped to 0. Constraints are enforced to maintain the correct event ordering (tLLO<tLTD<tRLO<tRTD<tLLO+TSt_{LLO} < t_{LTD} < t_{RLO} < t_{RTD} < t_{LLO} + T_S) 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 (zpelvisΠ,θpelvisΠ,pfoot,lΠ,pfoot,rΠ,qupperΠz_{\mathrm{pelvis}}^{\Pi}, \theta_{\mathrm{pelvis}}^{\Pi}, \mathbf{p}_{\mathrm{foot,l}}^{\Pi}, \mathbf{p}_{\mathrm{foot,r}}^{\Pi}, \mathbf{q}_{\mathrm{upper}}^{\Pi}). 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: NameDescription
LS: Foot x, y, zLeft foot swing translation
LS: Foot θ, /heel, toe, YLeft foot swing rotation angles
RS: Foot x, y, zRight foot swing translation
RS: Foot θ, /heel, ½toe, YRight foot swing rotation angles
CY: Pelvis zPelvis z translation
CY: Pelvis θ, ψ, Pelvis rotation angles
CY: Upper body qiUpper body joint angles (e.g. arms)

Key function curves include:

  • Foot Translation and Rotation (for swing intervals):

    • The stylized foot translation xfootΠ\mathbf{x}_{\mathrm{foot}}^\Pi 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:
      • xswingΠ\mathbf{x}_{\mathrm{swing}}^\Pi: Defines the animated swing trajectory, parameterized by x, y, and zz 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).
      • xheeltoeΠ\mathbf{x}_{\mathrm{heel-toe}}^\Pi: An offset term to ensure contact constraints are met during heel-toe walking.
    • The stylized foot rotation θfootΠ\theta_{\mathrm{foot}}^\Pi is parameterized by four animation angles (θ,ψheel,ψtoe,γ \theta, \psi_{\mathrm{heel}}, \psi_{\mathrm{toe}}, \gamma ), representing intrinsic rotations about the z, y, and xx axes, respectively.
      • θ\theta (yaw) and γ\gamma (roll) are clamped to zero at swing boundaries.

      • ψheel\psi_{\mathrm{heel}} and ψtoe\psi_{\mathrm{toe}} represent pitch rotations applied about the heel and toe (see Figure 5), similar to "reverse foot lock" rigs in character animation. These are constrained to prevent ground penetration: π2ψheel0-\frac{\pi}{2} \leq \psi_{\mathrm{heel}} \leq 0 and 0ψtoeπ20 \leq \psi_{\mathrm{toe}} \leq \frac{\pi}{2}. 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 by attributes).

        Fig. 5. Heel-toe rotation parameters for stylized swing trajectories. Inspired by common character animation rigs, the foot is animated using two pitch rotations, \(\\psi _ { \\mathrm { h e e l } }\) and \(\\psi _ { \\mathrm { t o e } }\) , 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. 该图像是示意图,展示了用于机器人角色风格化摆动轨迹的脚部旋转参数。图中可见三种不同的脚部接触状态,分别标注了脚踝的旋转角度 ψtoe\psi_{\mathrm{toe}}ψheel\psi_{\mathrm{heel}},以及脚部位置 PfootP_{\mathrm{foot}} 和垂直位置 zz。这两种旋转角度在每次接触切换事件中必须有一个被约束为零,以实现脚趾或脚跟的接触。

    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, ψheel\psi _ { \mathrm { h e e l } } and ψtoe\psi _ { \mathrm { t o e } }, 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.

  • Pelvis Height and Rotation: zpelvisΠz_{\mathrm{pelvis}}^\Pi (z-translation) and θpelvisΠ\theta_{\mathrm{pelvis}}^\Pi (yaw, pitch, roll Euler angles relative to path frame). These curves are defined over the full CY interval.

  • Upper Body Joint Angles (qupperΠ\mathbf{q}_{\mathrm{upper}}^\Pi): Curves for each arm, neck, spine, tail, enabling rich upper-body motions. These functions have periodic boundary constraints to ensure C1 continuity (smoothness of position and velocity) as the walk cycle loops.

    Fig. 6. Function curves. Example Pelvis `_ z` , Left Foot `z _ { i }` , and Right Foot `_ z` 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.
    该图像是图表,展示了一个两步周期中骨盆 zz、左脚 ziz_{i} 和右脚 zz 的函数曲线。水平轴标示时间 tt(秒),垂直轴标示位移(米)。图中用不同颜色区域区分了左摆动(Left Swing)和右摆动(Right Swing),并标注了时间点 tLLOt_{LLO}tLTDt_{LTD}tRLOt_{RLO}tRTDt_{RTD},以便于理解不同阶段的动态变化。

    The above figure (Figure 6 from the original paper) shows example Pelvis zz, Left Foot ziz_i, and Right Foot zz 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, and X-bias determine the mean angular, lateral, and forward offset between the left and right footholds relative to the walking path. These influence pstance\mathbf{p}_{\mathrm{stance}} (from Section 4.2.2.1), allowing for diverse gaits like narrow-stanced, wide-stanced, duck-footed, pigeon-toed, and asymmetric gaits without manual foothold definition.

    Fig. 7. Stance attributes. The left and right stance poses are shown for a stationary path frame, \(\\mathcal { P }\) (standing or stepping with zero gait velocity).
    该图像是示意图,展示了与步态设计相关的几个关键属性。图中包含两个矩形(分别标记为“Splay”和“Xbias”)以及一个坐标系,坐标轴包括xxyy,并标识了路径框架P\mathcal{P}。此外,标注了“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, P\mathcal { P } (standing or stepping with zero gait velocity).

  • Heel/Toe Transition Parameters: ΔtψLO\Delta t_{\psi_{LO}} and ΔtψTD\Delta t_{\psi_{TD}} 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 (ΠS\Pi_S) at a fixed walking velocity (vS\mathbf{v}_S). 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 Ω(ϕ)\Omega(\phi) is an invertible function that maps a generic gait phase ϕ\phi (ranging from 0 to 1) to a unique gait time tt within a specific walk cycle. The map is defined such that the cycle event times (tLLO,tLTD,tRLO,tRTD,tLLO+TSt_{LLO}, t_{LTD}, t_{RLO}, t_{RTD}, t_{LLO} + T_S) correspond to phase values of 0,ϕLTD,ϕRLO,ϕRTD,0, \phi_{LTD}, \phi_{RLO}, \phi_{RTD}, 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 Ω(ϕ)\Omega(\phi) is derived by fitting a monotonic cubic spline to these phase/time waypoints (see Figure 8).

Fig. 8. Phase maps. Example phase maps for two gait cycles, \(A\) and \(B\) , along with the blended cycle, `A B` , for \(\\alpha = 0 . 5\) . 该图像是图表,展示了两个步态周期(周期 A 和周期 B)及其混合周期(周期 AB)的相位图。图中以不同颜色和线型标示步态相位与时间关系,横轴为步态相位,纵轴为所需时间(单位为秒)。具体而言,tLLOt_{LLO}tLTDt_{LTD}tRLOt_{RLO} 等时间标度在不同步态相位下的变化被清晰展现。

The above figure (Figure 8 from the original paper) shows phase maps. Example phase maps for two gait cycles, AA and BB, along with the blended cycle, `A B`, for α=0.5\alpha = 0 . 5.

To associate an "equivalent" gait time tAt_A from cycle AA with tBt_B from cycle BB, using their respective phase maps ΩA(ϕ)\Omega_A(\phi) and ΩB(ϕ)\Omega_B(\phi), the solution is: $ t_B = \Omega_B(\Omega_A^{-1}(t_A)) $ This method guarantees that contact event times (e.g., tLTDt_{LTD}) 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, AA and BB, an interpolated parameter set ΠAB\Pi_{AB} is computed by blending their individual attributes, time intervals, and function curves based on a blend ratio α(0,1)\alpha \in (0, 1). 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 rAr_A and rBr_B 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:
    1. Compute the gait phase ϕ\phi for the interpolated walk cycle (AB) at an arbitrary gait time tt: ϕ=ΩAB1(t)\phi = \Omega_{AB}^{-1}(t).

    2. Compute the equivalent gait time for sample A: t_A = \Omega_A(\phi).

    3. Compute the equivalent gait time for sample B: t_B = \Omega_B(\phi).

    4. Evaluate function curve A at tAt_A.

    5. Evaluate function curve B at tBt_B.

    6. Interpolate the resulting values using Equation r=(1α)rA+αrBr = (1-\alpha)r_A + \alpha r_B.

      This phase-space blending is similar to time warp registration curves but is specific to walk cycles, ensuring contact-related kinematic constraints are 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.

xyθ
Forward Fastmax00
Forward Slowxslow00
Step In Place000
Reverse Slow-slow00
Reverse Fast-max00
Left Strafe0Ymax0
Right Strafe0−ymax0
Left Turn00θmax
Right Turn00-θmax

For an arbitrary input velocity v=[x˙,y˙,θ˙]\mathbf{v} = [\dot{x}, \dot{y}, \dot{\theta}]^\top, sample parameters are interpolated using a three-step process (see Figure 9):

Fig. 9. 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. 该图像是示意图,展示了三步过程的全方向样本插值。在每一步中,白色菱形表示输入速度,而每个黑色圆圈则表示映射到相关混合空间的不同样本速度。在步骤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.
  1. Forward/Reverse Interpolation: Blends the two nearest forward/reverse samples based on x˙\dot{x}. Let x˙A\dot{x}_A and x˙B\dot{x}_B be the velocities of the nearest samples. The blend ratio αx˙\alpha_{\dot{x}} 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, fsoft(α)=2α3+3α2f_{\mathrm{soft}}(\alpha) = -2\alpha^3 + 3\alpha^2 is a cubic polynomial that 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.

  2. Turn/Strafe Interpolation: Blends turn and strafe samples based on θ˙\dot{\theta} and y˙\dot{y}.

    • Normalize velocities: θ˙n=θ˙/θ˙max\dot{\theta}_n = \dot{\theta} / \dot{\theta}_{\mathrm{max}} and y˙n=y˙/y˙max\dot{y}_n = \dot{y} / \dot{y}_{\mathrm{max}}.
    • Compute equivalent polar coordinates: β=atan2(y˙n,θ˙n)\beta = \mathrm{atan2}(\dot{y}_n, \dot{\theta}_n) 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 β=0,π/2,π,3π/2\beta = 0, \pi/2, \pi, 3\pi/2.
    • 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 βA\beta_A and βB\beta_B are their polar angles.
  3. Final Blend: Blends the results from Step 1 (forward/reverse) and Step 2 (turn/strafe) based on the relative norms of x˙n=x˙/x˙max\dot{x}_n = \dot{x} / \dot{x}_{\mathrm{max}} and ρn\rho_n. 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, η(0,1)\eta \in (0, 1) is an adjustable gain (nominally 0.5). When x˙=0\dot{x}=0, the first term primarily determines the blend. As x˙\dot{x} approaches its max, the second term scales the ratio by (1η)(1-\eta) 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 visualizer displays 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, or function curve knots.

  • The visualizer also highlights (e.g., shades red) joints approaching their limits, enabling artists to address kinematic constraints early.

  • The animation function curves (defined in Section 4.3) are represented as cubic Hermite splines, edited via an interface similar to traditional animation curve editors. Boundary constraints are 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.

    Fig. 10. 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.
    该图像是图表,展示了在编辑左右摆动间隔前后,动画引擎检测到双支撑持续时间低于最小阈值的错误警告。上方为编辑前的状态,下方为编辑后的效果。

    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 r(t)\mathbf{r}(t) 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 xcom=[xcom,ycom]\mathbf{x}_{\mathrm{com}} = [x_{\mathrm{com}}, y_{\mathrm{com}}]^\top 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:

  • xcop=[xcop,ycop]\mathbf{x}_{\mathrm{cop}} = [x_{\mathrm{cop}}, y_{\mathrm{cop}}]^\top: Location of the Center of Pressure (CoP) on the ground plane.

  • zcomz_{\mathrm{com}}: CoM height.

  • gg: Gravitational constant.

  • mm: Robot mass.

  • τx,τy\tau_x, \tau_y: Torques on the CoM caused by changes in angular momentum.

  • z¨com\ddot{z}_{\mathrm{com}}: Vertical acceleration of CoM.

    The MPC optimizes the horizontal CoM and CoP trajectories over a preview window (e.g., T=2sT=2s, approx. 4 footholds). It is formulated as a sparse quadratic program (QP). The QP ensures the CoP always lies within the active support area by optimizing CoP waypoints constrained to convex support polygons. For the work presented, simplifying assumptions are made that zcomz_{\mathrm{com}} 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:

  • z=[xcop,0,ycop,0,xcop,1,ycop,1,,xcop,N,ycop,N]\mathbf{z} = [x_{\mathrm{cop},0}, y_{\mathrm{cop},0}, x_{\mathrm{cop},1}, y_{\mathrm{cop},1}, \dots, x_{\mathrm{cop},N}, y_{\mathrm{cop},N}]^\top: Vector of CoP waypoints over the preview window.

  • ξT=[xcom,T,x˙com,T]\boldsymbol{\xi}_T = [\mathbf{x}_{\mathrm{com},T}^\top, \dot{\mathbf{x}}_{\mathrm{com},T}^\top]^\top: 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 cT\mathbf{c}_T. AT\mathbf{A}_T is chosen such that ATξT\mathbf{A}_T \boldsymbol{\xi}_T is the final CP.

  • Second objective term: Encourages CoP waypoints to be close to the centroid c\mathbf{c} of their respective constraint polygons.

  • Third objective term: Penalizes large CoP velocities (F is a finite difference matrix).

  • WT,Wc,Wv\mathbf{W}_T, \mathbf{W_c}, \mathbf{W}_v: Respective objective weight matrices.

  • Equality constraints: Ensure continuity with initial CoP (xcop,0=xcopi\mathbf{x}_{\mathrm{cop},0} = \mathbf{x}_{\mathrm{cop}}^{i}) and initial CoM position (xcom,T+Apz+bp=xcomi\mathbf{x}_{\mathrm{com},T} + \mathbf{A}_p \mathbf{z} + \mathbf{b}_p = \mathbf{x}_{\mathrm{com}}^{i}) and velocity (x˙com,T+Avz+bv=x˙comi\dot{\mathbf{x}}_{\mathrm{com},T} + \mathbf{A}_v \mathbf{z} + \mathbf{b}_v = \dot{\mathbf{x}}_{\mathrm{com}}^{i}). Ap,Av,bp,bv\mathbf{A}_p, \mathbf{A}_v, \mathbf{b}_p, \mathbf{b}_v are discrete reverse-time integration matrices for CoM.

  • Final constraint: xcop,nCn\mathbf{x}_{\mathrm{cop},n} \in C_n ensures each CoP waypoint lies within its convex constraint polygon CnC_n.

    Fig. 11. Optimized CoM and CoP. The desired reference trajectories are computed by the model predictive controller given desired footstep sequence and gait timings.
    该图像是一个示意图,展示了优化的质心(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 500 Hz500 \text{ Hz} (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:

  • τRN\boldsymbol{\tau} \in \mathbb{R}^N: Vector of joint torques.

  • H(q)\mathbf{H}(\mathbf{q}): Joint-space inertia matrix (dependent on robot configuration q\mathbf{q}).

  • C(q,q˙)\mathbf{C}(\mathbf{q}, \dot{\mathbf{q}}): Vector of centrifugal, Coriolis, and gravity torques.

  • fc\mathbf{f}_c: External contact forces at contact point cc.

  • Jc\mathbf{J}_c: Jacobian matrix corresponding to contact point cc.

    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:

  • h˙=[L˙,K˙]R6\dot{\mathbf{h}} = [\dot{\mathbf{L}}^\top, \dot{\mathbf{K}}^\top]^\top \in \mathbb{R}^6: Vector of linear (L˙\dot{\mathbf{L}}) and angular (K˙\dot{\mathbf{K}}) momentum rates.

  • r×c\mathbf{r}_{\times_c}: A cross product matrix derived from the vector pointing from the CoM to contact point cc.

  • 0\mathbf{0}: Zero vector for linear force component.

  • mg-m\mathbf{g}: 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 βc,iR3\boldsymbol{\beta}_{c,i} \in \mathbb{R}^3 that span a convex subset of the cone. Valid contact forces fc\mathbf{f}_c are encoded using a vector of non-negative weights ρcR4\pmb{\rho}_c \in \mathbb{R}^4: $ \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 ρc\pmb{\rho}_c must contain non-negative values.

Fig. 15. 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, \(\\beta _ { c , i }\) , that lie within the friction cone. 该图像是示意图,展示了接触模型中作用于脚的凸包上点的接触力。接触力 fcf_c 以非负的加权和形式表示,基于位于摩擦锥内的基向量 eta_{c,i},其中 i=1,2,3,4i = 1, 2, 3, 4

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, βc,i\beta _ { c , i }, 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 ut\mathbf{u}_t are expressed as a linear function of the joint acceleration vector q¨\ddot{\mathbf{q}}: $ \mathbf { u } _ { t } = \mathbf { j } _ { t } \dot { \mathbf { q } } + \mathbf { J } _ { t } \ddot { \mathbf { q } } , $ Here, Jt\mathbf{J}_t is a configuration-dependent task Jacobian, and jtq˙\mathbf{j}_t \dot{\mathbf{q}} accounts for Coriolis and centrifugal terms.
  • The centroidal momentum rate h˙\dot{\mathbf{h}} can be expressed as: $ \dot { \mathbf { h } } = \dot { \mathbf { A } } _ { h } \dot { \mathbf { q } } + \mathbf { A } _ { h } \ddot { \mathbf { q } } , $ Here, Ah\mathbf{A}_h is the configuration-dependent centroidal momentum matrix (CMM) [Orin and Goswami 2008].

Task-Space Inverse Dynamics Optimization: The inverse dynamics solver resolves the task-space objectives by optimizing q¨\ddot{\mathbf{q}} 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 u\mathbf{u} and the accelerations achieved by q¨\ddot{\mathbf{q}}. u\mathbf{u} represents the stacked vector of desired task-space accelerations and momentum rate objectives, and J\mathbf{J} represents the corresponding matrix of Jacobians.

  • ρ\pmb{\rho}: Vector of ρc\pmb{\rho}_c weights for each contact point.

  • Wt\mathbf{W}_t: Objective weighting matrix.

  • λρ,λq¨,λτˉ\lambda_{\rho}, \lambda_{\ddot{\mathbf{q}}}, \lambda_{\bar{\boldsymbol{\tau}}}: Regularization weights.

  • τˉ:=cJcTfc\bar{\boldsymbol{\tau}} := -\sum_c \mathbf{J}_c^T \mathbf{f}_c: 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 limits on joint accelerations q¨\ddot{\mathbf{q}} with second-order dynamics (stiffness klk_l, damping blb_l).

  • Constraint (24): Enforces the non-negativity of the contact force model weights ρ\pmb{\rho}.

  • Constraint (25): Limits the maximum contact force to 0 for inactive contacts (fmax\mathbf{f}_{\mathrm{max}}).

    From the optimized q¨\ddot{\mathbf{q}} and ρ\pmb{\rho} values, the final contact force and joint torque solution 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 (x^comrcom\hat{\mathbf{x}}_{\mathrm{com}} - \mathbf{r}_{\mathrm{com}}):

  1. Velocity Adjustment: The target walking velocity is adjusted: v=v+[Δvel,0]\mathbf{v}^* = \mathbf{v} + [\Delta_{\mathrm{vel}}^\top, 0]^\top. The offset Δvel\Delta_{\mathrm{vel}} is a linear combination of CoM position and velocity error, passed through a deadband function and low-pass filter. This strategy accelerates the robot in the direction of persistent error, aiding recovery at the cost of drift.
  2. Step Adjustment: The upcoming foothold position is adjusted: xfoothold,lk=xfoothold,lk+[Δstep,0]\mathbf{x}_{\mathrm{foothold,l}}^{k^*} = \mathbf{x}_{\mathrm{foothold,l}}^k + [\Delta_{\mathrm{step}}^\top, 0]^\top. This shifts the foothold to a more favorable CoP contact region to reduce error in the next support phase.
  3. 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 rate κtime(0,)\kappa_{\mathrm{time}} \in (0, \infty) is computed based on CoM position and velocity error projected onto the axis pointing from current to next foothold (ϵ,ϵ˙\epsilon, \dot{\epsilon}): $ \kappa _ { \mathrm { time } } = e ^ { \left( k _ { P } \epsilon + k _ { d } \dot { \epsilon } \right) } $ Here, kPk_P and kdk_d 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 1 kHz1 \text{ kHz} to estimate the robot's state vector s\mathbf{s}.

  • 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 observations during foot contact with the ground, leveraging leg kinematics. From the estimated state vector and rigid body model, all Cartesian and centroidal estimates required for control are computed.

4.7. Overall Workflow (Reiteration)

  1. Artist Interaction: Animator uses the Interactive Gait Editor to create gait samples (ΠS\Pi_S) at key velocities (vS\mathbf{v}_S). This involves adjusting time intervals, attributes, and function curves.
  2. Gait Planning: In real-time, the current desired velocity v\mathbf{v} and robot state s\mathbf{s} are fed to the Gait Sampler.
  3. Sample Interpolation: The Gait Sampler interpolates the authored samples using phase-space blending to produce a continuous set of animation parameters Π\Pi for the current v\mathbf{v}.
  4. Reference Trajectory Generation: The Gait Planner uses v\mathbf{v}, s\mathbf{s}, and Π\Pi to generate whole-body reference trajectories r(t)\mathbf{r}(t) (pelvis height/rotation, foot poses, upper body joint angles), decomposing them into nominal and stylized components. The horizontal CoM is not generated here.
  5. CoM Planning: The Model Predictive Controller plans a dynamically feasible horizontal CoM trajectory and CoP trajectory based on anticipated footholds and gait timings.
  6. Whole-Body Control: The Whole-Body Controller receives r(t)\mathbf{r}(t) and the planned CoM/CoP trajectories. It uses an inverse dynamics QP solver to compute joint accelerations and contact forces, which are then converted to joint torque setpoints to track the desired motion.
  7. State Estimation: The State Estimator continuously provides the robot's current state s\mathbf{s} from sensor data, closing the feedback loop.
  8. 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:

  1. Groot: A child-sized humanoid robot (themed after the character Groot).

  2. Adult-Sized Humanoid: A human-inspired robot based on a design from [Rodriguez et al. 2019].

  3. Dinosaur: A small-scale dinosaur-inspired biped.

    The following table (Table 4 from the original paper) provides key statistics for these robots:

    #Actheight (mm)weight (kg)
    Groot25115518.5
    Groot Lower Body1065019.3
    Humanoid25164074.5
    Dino2061516.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-only version, to test sim-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 (x^comrcom\hat{\mathbf{x}}_{\mathrm{com}} - \mathbf{r}_{\mathrm{com}}): The difference between the estimated and reference Center of Mass position. This is a measure of how well the MPC and Whole-Body Controller maintain balance.
  • Gait Adjustment Mechanisms Response: The magnitude and timing of:
    • Time Scaling Rate (κtime\kappa_{\mathrm{time}}): How much the gait speed is adjusted for recovery.
    • Step Adjustment (Δstep\Delta_{\mathrm{step}}): The change in foothold placement for balance.
    • Velocity Adjustment (Δvel\Delta_{\mathrm{vel}}): 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 XX (e.g., joint angle, position), the error at time tt 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:
      • EX(t)E_X(t): The error for quantity XX at time tt.
      • Xactual(t)X_{\text{actual}}(t): The measured (estimated) value of quantity XX at time tt.
      • Xreference(t)X_{\text{reference}}(t): The desired (commanded) value of quantity XX at time tt.
  • 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 0.4 m/s0.4 \text{ m/s}, 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.

    Fig. 12. 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.
    该图像是图表,展示了恐龙行走步态的时间分配。图中分别展示了“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 (25 N25 \text{ N} for 1 s1 \text{ s} 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.

    Fig. 13. 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.
    该图像是图表,展示了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 0.1 m0.1 \text{ m}, demonstrating foot placement as a key recovery mechanism.
    • Velocity Adjustment: Increased later, peaking at 0.4 m/s0.4 \text{ m/s}, 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 sampler activated the Forward Fast sample, 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 (1.5 s1.5 \text{ s} 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 gap was 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 costume and handled disturbances from layered 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 feet and lack of ankle 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.

    Fig. 14. 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.
    该图像是图表,展示了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 transfer for the desired stylized gaits.

6.2. Data Presentation (Tables)

The following are the results from [Table 4] of the original paper:

#Actheight (mm)weight (kg)
Groot25115518.5
Groot Lower Body1065019.3
Humanoid25164074.5
Dino2061516.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 expressive bouncy gait could be designed in a matter of minutes by 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 gaits were 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 approximately 1-2 hours to 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.
  • 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 minutes to 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 timing and range of motion, which are inherent physical constraints.

    • Impact of Interactivity: Users found the interactive nature highly beneficial for rapid iteration and experimentation. Non-animators particularly appreciated how the process helped visualize the personality imparted 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 tool easier to get started on and leading to faster results.

    • Difficulties/Ease: The animation curve editor was generally found easy to use. Suggestions included UI improvements like color-coded splines and slow-motion playback.

      The user study results strongly support the claim that the editor is easy-to-use and interactive, 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 content or motion 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 like running, skipping, or cyclic acrobatic motions, which could also benefit from a procedural authoring tool.
  • Learning-Based Control Integration: Model-based control stacks are inherently difficult to build and tune, often facing sim-to-real gaps. Learning-based control, particularly imitation learning, offers robustness to disturbances and tolerance to modeling uncertainties. The authors plan to:
    • Use the proposed technique to build dense, artifact-free gait libraries for training Reinforcement Learning (RL) policies.
    • Incorporate learning-based reference tracking controllers to supplement the current gait planner and editor, aiming to maintain an interactive animation workflow.

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.

No similar papers found yet.