Implementation:Haosulab ManiSkill Stompy
| Knowledge Sources | |
|---|---|
| Domains | Robotics, Simulation, Humanoid_Control |
| Last Updated | 2026-02-15 08:00 GMT |
Overview
Concrete tool for simulating the Stompy humanoid robot in ManiSkill environments.
Description
Stompy is a full-body humanoid robot with 37 active joints including two legs, two arms with grippers, and a head. The robot has a free root link (fix_root_link=False) and disables all self-collisions. Gripper links on both arms use high-friction materials (static=2.0, dynamic=2.0). The pd_joint_pos controller uses moderate stiffness (100) and damping (10), while pd_joint_delta_pos uses lower values (stiffness=20, damping=5). A head camera is mounted on link_head_1_head_1 with 128x128 resolution and pi/2 FOV. Gravity compensation is disabled (balance_passive_force=False).
uid: stompy
URDF path: {ASSET_DIR}/robots/stompy/robot.urdf
Supported control modes: pd_joint_pos, pd_joint_delta_pos
Usage
Use Stompy for full-body humanoid locomotion and manipulation tasks. The dual-arm gripper design enables bimanual manipulation while standing. Suitable for whole-body control research combining locomotion with manipulation.
Code Reference
Source Location
- Repository: Haosulab_ManiSkill
- File: mani_skill/agents/robots/stompy/stompy.py
Signature
@register_agent(asset_download_ids=["stompy"])
class Stompy(BaseAgent):
uid = "stompy"
urdf_path = f"{ASSET_DIR}/robots/stompy/robot.urdf"
fix_root_link = False
disable_self_collisions = True
keyframes = dict(standing=Keyframe(pose=sapien.Pose(p=[0, 0, 0.965]), qpos=np.array([...])))
Import
from mani_skill.agents.robots.stompy.stompy import Stompy
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| (inherited from BaseAgent) |
Outputs
| Name | Type | Description |
|---|---|---|
| robot agent | Stompy | Configured full-body humanoid with 37 joints, dual grippers, and head camera |
Usage Examples
Creating Environment with Robot
import gymnasium as gym
import mani_skill.envs
env = gym.make("StandUp-v1", robot_uids="stompy")
obs, info = env.reset()