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 Humanoid

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

Overview

Concrete tool for simulating the MuJoCo-style Humanoid robot in ManiSkill environments.

Description

The Humanoid is a 21-DOF bipedal robot loaded from an MJCF (MuJoCo XML) file. It features a free root link (fix_root_link=False), an abdomen with 3 joints (x, y, z), two legs each with 5 joints (hip x/y/z, knee, ankle x/y), and two arms each with 3 joints (shoulder1, shoulder2, elbow). The pd_joint_delta_pos controller uses per-joint stiffness and damping values tuned for different body parts: higher stiffness for hips (40-120) and knees (80) versus lower for shoulders (20) and elbows (40). Gravity compensation is disabled (balance_passive_force=False) since the robot is free-standing.

uid: humanoid

MJCF path: {PACKAGE_ASSET_DIR}/robots/humanoid/humanoid.xml

Supported control modes: pd_joint_pos, pd_joint_delta_pos

Usage

Use Humanoid for locomotion and whole-body control tasks such as standing, walking, running, and acrobatic movements. The per-joint tuned controller parameters make it suitable for learning complex locomotion policies. Based on the classic MuJoCo humanoid model.

Code Reference

Source Location

Signature

@register_agent()
class Humanoid(BaseAgent):
    uid = "humanoid"
    mjcf_path = f"{PACKAGE_ASSET_DIR}/robots/humanoid/humanoid.xml"
    fix_root_link = False
    keyframes = dict(squat=Keyframe(qpos=np.array([...]), pose=sapien.Pose(p=[0, 0, 1.13])))

Import

from mani_skill.agents.robots.humanoid.humanoid import Humanoid

I/O Contract

Inputs

Name Type Required Description
(inherited from BaseAgent)

Outputs

Name Type Description
robot agent Humanoid Configured 21-DOF bipedal humanoid with per-joint tuned PD controllers

Usage Examples

Creating Environment with Robot

import gymnasium as gym
import mani_skill.envs

env = gym.make("HumanoidStandup-v1", robot_uids="humanoid")
obs, info = env.reset()

Related Pages

Page Connections

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