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:ARISE Initiative Robosuite PandaGripper

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

Overview

PandaGripper provides the two-fingered parallel jaw gripper model for Franka's Panda robot arm, with both base (2-DOF) and simplified (1-DOF) variants.

Description

This module contains two classes for the Franka Panda gripper. PandaGripperBase is the foundational class that loads the MJCF XML from grippers/panda_gripper.xml and defines the default joint positions at [0.020833, -0.020833], representing a slightly open configuration. The base class passes actions through to actuators without modification and defines collision geometry groups for two fingers and their fingerpads.

PandaGripper extends the base to provide 1-DOF synchronized control suitable for most manipulation tasks. It maps a single scalar action to coordinated two-finger movement using the formula: current_action = clip(current_action + [-1, 1] * speed * sign(action), -1, 1). The [-1, 1] multiplier ensures the fingers move in opposite directions (one opens while the other closes), creating the characteristic parallel jaw motion. The gripper operates at a speed of 0.2, providing responsive open/close behavior.

The collision geometry definitions include finger1_collision and finger2_collision for the main finger bodies, and finger1_pad_collision and finger2_pad_collision for the fingerpad contact surfaces. This is one of the most commonly used grippers in robosuite, paired with the Panda robot arm for standard manipulation benchmarks.

Usage

Use PandaGripper (1-DOF) for standard pick-and-place and manipulation tasks with the Franka Panda arm. Use PandaGripperBase when direct 2-DOF actuator control is needed. The Panda gripper is the default gripper for the Panda robot in robosuite.

Code Reference

Source Location

Signature

class PandaGripperBase(GripperModel):
    def __init__(self, idn=0):

class PandaGripper(PandaGripperBase):
    # Inherits __init__; overrides format_action, speed, dof

Import

from robosuite.models.grippers.panda_gripper import PandaGripper, PandaGripperBase

I/O Contract

Inputs

Name Type Required Description
idn int or str No Unique identification number or string for this gripper instance. Default: 0

Outputs

Name Type Description
PandaGripperBase instance GripperModel Base 2-DOF parallel jaw gripper model
PandaGripper instance GripperModel 1-DOF synchronized parallel jaw gripper (speed: 0.2)
init_qpos np.array [0.020833, -0.020833] default joint positions

Usage Examples

from robosuite.models.grippers.panda_gripper import PandaGripper
import numpy as np

# Create the 1-DOF Panda gripper
gripper = PandaGripper(idn=0)

# Close the gripper
action = np.array([1.0])
formatted = gripper.format_action(action)  # 2-element array with opposing directions

# Open the gripper
action = np.array([-1.0])
formatted = gripper.format_action(action)

# Check initial joint positions
print(gripper.init_qpos)  # [0.020833, -0.020833]
print(gripper.dof)  # 1
print(gripper.speed)  # 0.2

Related Pages

Page Connections

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