Comparison · official README framing
SONIC vs MotionBricks: tracking and generation, not rivals
Both projects ship inside the same repository, and the README is explicit about how they relate: MotionBricks is a real-time generative framework that delivers high-quality, zero-shot motion synthesis at 15,000 FPS — complementing the tracking-based GEAR-SONIC controllers in this repo. This page transcribes that framing and helps you pick the right tool. Sources: the GR00T-WholeBodyControl README and the MotionBricks README.
The three roles in one stack
NVIDIA's GR00T Whole-Body Control (WBC) effort is not one model — it is a stack. The parent README positions the pieces like this:
- SONIC — the controller that makes a robot move. Tracking-based: it consumes a reference (SMPL pose, G1 motion, teleoperation) and produces whole-body motor commands.
- MotionBricks — the generator that invents the reference. Real-time latent generative model for interactive motion control in animation and robotics.
- Kimodo — an offline text-to-motion sibling, useful when you want the motion before you need it, not live.
Side by side
| Project | What it is | Use when | Numbers (official) |
|---|---|---|---|
| SONIC (GEAR-SONIC) | Tracking-based whole-body control | Reference motion exists: SMPL pose, G1 motion file, teleoperation, or VLA execution | Follows the reference at 50 Hz; 64-dim latent motion tokens; TensorRT C++ deployment |
| MotionBricks | Generative real-time motion synthesis | No reference: author novel locomotion, styles, transitions, object interactions | 15,000 FPS / ~2 ms latency; smart primitives + latent backbone; zero-shot synthesis |
| Kimodo | Offline motion generation (sibling project) | Text prompt → pre-rendered motion clip, generated ahead of time | Text-to-motion, offline; complementary to MotionBricks' real-time runtime |
SONIC: the tracking-based controller
SONIC is a humanoid behavior foundation model that gives robots a core set of motor skills learned from large-scale human motion data. Rather than building separate controllers for predefined motions, it uses motion tracking as a scalable training task, enabling a single unified policy to produce natural whole-body movement — from walking and crawling to teleoperation and multi-modal control. It generalizes beyond the motions seen in training and serves as a foundation for higher-level planning and interaction.
Practical consequences: SONIC needs a reference to track. That reference can come from an SMPL pose stream (teleoperation), a G1 motion file, or a planner. Deployment is C++ + TensorRT; the controller runs at 50 Hz with 64-dimensional latent motion tokens. The three released G1 checkpoints (Default, Low-latency, v1.1) and how to pick them: SONIC models page. Deployment steps: install & deploy.
MotionBricks: the real-time generator
MotionBricks is a real-time generative framework that transforms interactive motion control for animation and robotics. It combines a large-scale latent backbone with intuitive "smart primitives" to deliver high-quality, zero-shot motion synthesis at 15,000 FPS, allowing users to build complex animations and robotic movements like assembling bricks. It is not a controller: it produces motion, not motor commands.
Three model components — VQVAE (motion tokenizer), pose model, root model — trained on the BONES-SEED corpus (142,220 retargeted G1 trajectories, ~288 hours). The interactive G1 demo is keyboard-driven in a MuJoCo viewer; checkpoints are opt-in Git LFS downloads. See architecture, motion representation, and setup for the full picture. Training scripts default to synthetic data so the pipeline can be verified end-to-end without the real dataset.
Kimodo: the offline sibling
From the official README: "Kimodo — A sibling project focused on offline motion generation, complementary to MotionBricks' real-time runtime." Kimodo generates text-to-motion offline, ahead of runtime; it is the project powering the text-to-motion feature in the SONIC web demo. It lives in a separate repository (nv-tlabs/kimodo) with its own project page (research.nvidia.com). "Sibling" means related but separate: same family, different runtime profile — offline vs real-time.
Which one do you actually need?
- You have a reference to follow (teleop stream, motion file, VLA policy output) and need a robot to execute it → SONIC. Start at install & deploy.
- You want to author or generate motion (stylized locomotion, transitions, interactions) with no recorded reference → MotionBricks. Start at setup and the G1 demo.
- You want text-to-motion produced ahead of time, then played back → Kimodo (offline), or keep the motion generation live with MotionBricks.
- You are collecting data or building a VLA pipeline — that is the SONIC + teleop stack: data collection → VLA workflow.
And a reality check, straight from the docs: MotionBricks' full release — a model fully embedded in GR00T whole-body control's robotics formulation, with the complete training pipeline — is targeted for approximately one month out. The preview release ships the demo, checkpoints, and training code; the tracking side of the stack is production-ready and documented across this site.