Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Heuristic:Google deepmind Dm control Warning Deprecated Legacy Base Walker

From Leeroopedia
Knowledge Sources
Domains Robotics_Simulation, Reinforcement_Learning
Last Updated 2026-02-15 12:00 GMT

Overview

Deprecation warning: The legacy_base module (legacy_base.Walker and legacy_base.WalkerObservables) is explicitly self-identified as legacy code. While still in active use by most walker implementations, it may be superseded by base.Walker in future versions.

Description

The file dm_control/locomotion/walkers/legacy_base.py labels both its main classes as "Legacy" in their docstrings:

  • Line 32: "Legacy base class for Walker robots."
  • Line 211: "Legacy base class for Walker observables."

Multiple walker implementations (CMU Humanoid, Ant, Rodent, FruitFly, JumpingBall, BoxHead) currently inherit from legacy_base.Walker rather than base.Walker. The newer base.Walker provides a minimal interface, while legacy_base.Walker adds richer observables, contact detection, and initializer support.

Usage

Be aware of this legacy status when:

  • Extending existing walkers (they use legacy_base, so new subclasses will also depend on it)
  • Creating new walkers (consider whether base.Walker is sufficient)
  • Updating dm_control to future versions (this module may be refactored or removed)

The Insight (Rule of Thumb)

  • Action: Prefer base.Walker for new walker implementations when the additional features of legacy_base.Walker are not needed.
  • Trade-off: legacy_base.Walker provides rich observables and contact detection out of the box; base.Walker is simpler but requires manual observable setup.
  • Risk: The legacy_base module may be deprecated or refactored in future dm_control releases.

Reasoning

The code self-identifies as legacy through its module name and docstrings. The existence of both base.Walker (modern, minimal) and legacy_base.Walker (legacy, feature-rich) suggests an ongoing migration that has not yet completed. Until all walkers are migrated, the legacy module remains the practical choice for most use cases.

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment