Implementation:Haosulab ManiSkill ANYmalC
| 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
- Repository: Haosulab_ManiSkill
- File: mani_skill/agents/robots/anymal/anymal_c.py
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()