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 FloatingPandaGripper

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

Overview

Concrete tool for simulating a floating Panda parallel-jaw gripper (without the arm) in ManiSkill environments.

Description

The FloatingPandaGripper is a Panda parallel-jaw gripper mounted on a 6-DOF floating base (3 translational + 3 rotational root joints). It has 8 total DOF: 6 root joints and 2 gripper finger joints (panda_finger_joint1, panda_finger_joint2) with a mimic controller. The end-effector link is panda_hand_tcp. Gripper materials use high friction (static=2.0, dynamic=2.0). Stiffness is 1e3, damping 1e2, force limit 100. Provides multiple keyframes: open_facing_down, open_facing_up, and open_facing_side. Supports both EE pose control (pd_ee_pose, pd_ee_delta_pose) and joint-level control.

uid: floating_panda_gripper

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

Supported control modes: pd_joint_delta_pos, pd_joint_pos, pd_ee_delta_pose, pd_ee_pose, pd_ee_pose_quat

Usage

Use FloatingPandaGripper for simple grasping tasks where only the gripper needs to be positioned in 3D space without arm kinematics constraints. Ideal for learning basic pick-and-place policies, grasp synthesis research, and benchmarks that decouple grasping from arm motion planning.

Code Reference

Source Location

Signature

@register_agent()
class FloatingPandaGripper(BaseAgent):
    uid = "floating_panda_gripper"
    urdf_path = f"{PACKAGE_ASSET_DIR}/robots/panda/panda_v2_gripper.urdf"
    root_joint_names = ["root_x_axis_joint", ..., "root_z_rot_joint"]
    gripper_joint_names = ["panda_finger_joint1", "panda_finger_joint2"]
    gripper_stiffness = 1e3
    gripper_damping = 1e2
    gripper_force_limit = 100
    ee_link_name = "panda_hand_tcp"
    keyframes = dict(
        open_facing_down=Keyframe(...), open_facing_up=Keyframe(...), open_facing_side=Keyframe(...)
    )

Import

from mani_skill.agents.robots.floating_panda_gripper.floating_panda_gripper import FloatingPandaGripper

I/O Contract

Inputs

Name Type Required Description
(inherited from BaseAgent)

Outputs

Name Type Description
robot agent FloatingPandaGripper Configured floating gripper with root and mimic finger controllers

Usage Examples

Creating Environment with Robot

import gymnasium as gym
import mani_skill.envs

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

Related Pages

Page Connections

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