Overview
TheMotionGenerator class is an abstract base class that defines the interface for kinematic motion generation models in PARC. It provides a common API for generating variable-length motion sequences conditioned on various inputs.
Class Definition
Constructor
Configuration dictionary containing model-specific parameters.
Abstract Methods
gen_sequence
Generates a motion sequence based on conditioning information.A dictionary of conditioning information. The exact keys and values depend on the concrete implementation, but typically include:
- Previous character states
- Goal/objective information
- Action ID or label
- Environmental observations (e.g., terrain heightmaps)
- Target positions or directions
(motion_seq, info) where:
motion_seq: The generated motion sequence (format depends on implementation)info: Additional information dictionary about the generation process
Implementations
Concrete implementations ofMotionGenerator include:
- MDM: Motion Diffusion Model using transformer-based denoising
- CondMDI: Conditional Motion Diffusion with Inpainting capabilities
Usage Pattern
Typical Conditioning Options
While the exact conditioning options depend on the implementation, common conditioning inputs include:Previous States
The last N frames of character motion, providing continuity with past motion.Goal/Target Information
Target positions, directions, or poses the character should move toward.Action ID
Discrete action label or category for the desired motion.Environmental Observations
Perception information about the environment (terrain, obstacles, etc.).Design Philosophy
TheMotionGenerator abstraction allows for:
- Flexibility: Different motion generation approaches (diffusion, VAE, GAN, etc.) can share a common interface
- Composability: Motion generators can be easily swapped or combined in larger systems
- Extensibility: New conditioning modalities can be added without changing the core interface
Example: Using a Motion Generator
See Also
- MDM - Diffusion-based motion generator
- MotionSampler - Motion data sampling for training