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 WidowXAI

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

Overview

Concrete tool for simulating the WidowX AI robot arm in ManiSkill environments.

Description

The WidowXAI is a 7-DOF robot arm (6 arm joints + 1 gripper joint) with a parallel-jaw gripper. The arm joints are joint_0 through joint_5 plus the left_carriage_joint (which also serves as the gripper control joint). The gripper has high-friction materials (static=2.0, dynamic=2.0). Arm stiffness is 1e3, damping 1e2, force limit 100. The gripper operates between 0.0 (closed) and 0.044 (open). The end-effector link is ee_gripper_link. Provides TCP pose computation, grasping detection, and static checking methods. Supports position, delta position, and target delta position control modes.

uid: widowxai

URDF path: {ASSET_DIR}/robots/widowxai/wxai_base.urdf

Supported control modes: pd_joint_delta_pos, pd_joint_pos, pd_joint_target_delta_pos

Usage

Use WidowXAI for manipulation tasks targeting the WidowX AI hardware. Suitable for pick-and-place and basic manipulation with a compact robot arm that has proper gripper control and TCP tracking.

Code Reference

Source Location

Signature

@register_agent(asset_download_ids=["widowxai"])
class WidowXAI(BaseAgent):
    uid = "widowxai"
    urdf_path = f"{ASSET_DIR}/robots/widowxai/wxai_base.urdf"
    arm_joint_names = ["joint_0", ..., "joint_5", "left_carriage_joint"]
    gripper_joint_names = ["left_carriage_joint"]
    ee_link_name = "ee_gripper_link"
    arm_stiffness = 1e3
    arm_damping = 1e2
    arm_force_limit = 100
    keyframes = dict(ready_to_grasp=Keyframe(qpos=np.array([0.0, 1.38, 1.04, -1.26, 0.0, 0.0, 0.026, 0.026]), ...))

Import

from mani_skill.agents.robots.widowxai.widowxai import WidowXAI

I/O Contract

Inputs

Name Type Required Description
(inherited from BaseAgent)

Outputs

Name Type Description
robot agent WidowXAI Configured 7-DOF arm with gripper, TCP tracking, and grasping detection

Usage Examples

Creating Environment with Robot

import gymnasium as gym
import mani_skill.envs

env = gym.make("PickCube-v1", robot_uids="widowxai")
obs, info = env.reset()

Related Pages

Page Connections

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