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 UnitreeGo2

From Leeroopedia
Revision as of 12:55, 16 February 2026 by Admin (talk | contribs) (Auto-imported from implementations/Haosulab_ManiSkill_UnitreeGo2.md)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Knowledge Sources
Domains Robotics, Simulation, Locomotion
Last Updated 2026-02-15 08:00 GMT

Overview

Concrete tool for simulating the Unitree Go2 quadruped robot in ManiSkill environments.

Description

The UnitreeGo2 is a 12-DOF quadruped robot with 4 legs, each having 3 joints (hip, thigh, calf). The robot has a free root link (fix_root_link=False). Foot links (FR_foot, RR_foot, RL_foot, FL_foot) use high-friction materials (static=2.0, dynamic=2.0). The delta position controller uses stiffness=1000, damping=100, with action range [-0.7, 0.7] and normalized actions. Gravity compensation is disabled (balance_passive_force=False). Provides is_fallen method that checks base contact forces. Also defines UnitreeGo2Simplified variant with simplified collision meshes for faster simulation.

uid: unitree_go2

URDF path: {ASSET_DIR}/robots/unitree_go2/urdf/go2_description.urdf

Supported control modes: pd_joint_delta_pos, pd_joint_pos

Usage

Use UnitreeGo2 for quadruped locomotion tasks including walking, trotting, and agile movement. The compact design and simplified variant enable fast simulation for locomotion policy training. Suitable for sim-to-real transfer to the real Unitree Go2 hardware.

Code Reference

Source Location

Signature

@register_agent(asset_download_ids=["unitree_go2"])
class UnitreeGo2(BaseAgent):
    uid = "unitree_go2"
    urdf_path = f"{ASSET_DIR}/robots/unitree_go2/urdf/go2_description.urdf"
    fix_root_link = False
    keyframes = dict(standing=Keyframe(pose=sapien.Pose(p=[0, 0, 0.29]), qpos=np.array([...])))

@register_agent(asset_download_ids=["unitree_go2"])
class UnitreeGo2Simplified(UnitreeGo2):
    uid = "unitree_go2_simplified_locomotion"

Import

from mani_skill.agents.robots.unitree_go.unitree_go2 import UnitreeGo2

I/O Contract

Inputs

Name Type Required Description
(inherited from BaseAgent)

Outputs

Name Type Description
robot agent UnitreeGo2 Configured 12-DOF quadruped with PD joint controllers

Usage Examples

Creating Environment with Robot

import gymnasium as gym
import mani_skill.envs

env = gym.make("UnitreeGo2Walk-v1", robot_uids="unitree_go2")
obs, info = env.reset()

Related Pages

Page Connections

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