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 Panda

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

Overview

Concrete tool for simulating the Franka Emika Panda 7-DOF robot arm with parallel-jaw gripper in ManiSkill environments.

Description

The Panda robot is a widely used 7-DOF manipulator arm with a 2-finger parallel gripper. It has 7 arm joints (panda_joint1 through panda_joint7) and 2 gripper finger joints (panda_finger_joint1, panda_finger_joint2) using a mimic controller. The end-effector link is panda_hand_tcp. Gripper materials use high friction (static=2.0, dynamic=2.0). The arm uses stiffness=1e3, damping=1e2, force_limit=100. The gripper mimic controller maps finger_joint2 to follow finger_joint1. The robot provides helper methods for grasp checking (is_grasping), static detection (is_static), and grasp pose construction (build_grasp_pose).

uid: panda

URDF path: {PACKAGE_ASSET_DIR}/robots/panda/panda_v2.urdf

Supported control modes: pd_joint_delta_pos, pd_joint_pos, pd_ee_delta_pos, pd_ee_delta_pose, pd_ee_pose, pd_joint_target_delta_pos, pd_ee_target_delta_pos, pd_ee_target_delta_pose, pd_joint_vel, pd_joint_pos_vel, pd_joint_delta_pos_vel

Usage

The Panda is the default robot for most ManiSkill manipulation benchmarks including pick-and-place, stacking, pushing, and articulated object manipulation tasks. It is the most commonly used robot in ManiSkill and serves as the reference implementation for table-top manipulation.

Code Reference

Source Location

Signature

@register_agent()
class Panda(BaseAgent):
    uid = "panda"
    urdf_path = f"{PACKAGE_ASSET_DIR}/robots/panda/panda_v2.urdf"
    arm_joint_names = ["panda_joint1", ..., "panda_joint7"]
    gripper_joint_names = ["panda_finger_joint1", "panda_finger_joint2"]
    ee_link_name = "panda_hand_tcp"
    arm_stiffness = 1e3
    arm_damping = 1e2
    arm_force_limit = 100
    keyframes = dict(
        rest=Keyframe(qpos=np.array([0.0, pi/8, 0, -5pi/8, 0, 3pi/4, pi/4, 0.04, 0.04]), pose=sapien.Pose())
    )

Import

from mani_skill.agents.robots.panda.panda import Panda

I/O Contract

Inputs

Name Type Required Description
(inherited from BaseAgent)

Outputs

Name Type Description
robot agent Panda Configured 7-DOF arm with mimic gripper controllers

Usage Examples

Creating Environment with Robot

import gymnasium as gym
import mani_skill.envs

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

Related Pages

Page Connections

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