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.

Implementation:Haosulab ManiSkill ANYmalC

From Leeroopedia
Knowledge Sources
Domains Robotics, Simulation, Locomotion
Last Updated 2026-02-15 08:00 GMT

Overview

Concrete tool for simulating the ANYmal C quadruped robot in ManiSkill environments.

Description

The ANYmalC is a 12-DOF quadruped robot with 4 legs, each having 3 joints: Hip Abduction/Adduction (HAA), Hip Flexion/Extension (HFE), and Knee Flexion/Extension (KFE). The robot has a free root link (fix_root_link=False) and disables all self-collisions. Foot links use high-friction materials (static=2.0, dynamic=2.0). Gravity is disabled for all links except the root to simplify locomotion control. The delta position controller uses action scaling calibrated to match Omni Isaac Gym Envs conventions. Provides helper methods for is_standing (checks orientation and height) and is_fallen (checks base contact forces).

uid: anymal_c

URDF path: {ASSET_DIR}/robots/anymal_c/urdf/anymal.urdf

Supported control modes: pd_joint_delta_pos, pd_joint_pos

Usage

Use ANYmalC for quadruped locomotion tasks including walking, trotting, and terrain traversal. The 12-DOF design with 4 legs allows diverse gait patterns. Suitable for benchmarking locomotion policies and sim-to-real transfer for legged robots.

Code Reference

Source Location

Signature

@register_agent(asset_download_ids=["anymal_c"])
class ANYmalC(BaseAgent):
    uid = "anymal_c"
    urdf_path = f"{ASSET_DIR}/robots/anymal_c/urdf/anymal.urdf"
    fix_root_link = False
    disable_self_collisions = True
    joint_names = ["LF_HAA", "RF_HAA", "LH_HAA", "RH_HAA",
                   "LF_HFE", "RF_HFE", "LH_HFE", "RH_HFE",
                   "LF_KFE", "RF_KFE", "LH_KFE", "RH_KFE"]
    keyframes = dict(standing=Keyframe(pose=sapien.Pose(p=[0, 0, 0.545]), qpos=np.array([...])))

Import

from mani_skill.agents.robots.anymal.anymal_c import ANYmalC

I/O Contract

Inputs

Name Type Required Description
(inherited from BaseAgent)

Outputs

Name Type Description
robot agent ANYmalC Configured 12-DOF quadruped with PD joint controllers and gravity compensation

Usage Examples

Creating Environment with Robot

import gymnasium as gym
import mani_skill.envs

env = gym.make("AnymalC-Walk-v1", robot_uids="anymal_c")
obs, info = env.reset()

Related Pages

Page Connections

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