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 RethinkGripper

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

Overview

RethinkGripper provides the long two-fingered parallel jaw gripper model for Rethink Robotics arms, with both base (2-DOF) and simplified (1-DOF) variants.

Description

This module contains two classes for the Rethink Robotics gripper. RethinkGripperBase loads the MJCF XML from grippers/rethink_gripper.xml and defines default joint positions at [0.020833, -0.020833]. The base class passes actions directly to the actuators and defines detailed collision geometry groups: each finger has four geometry segments (l_finger_g0, l_finger_g1, l_fingertip_g0, l_fingerpad_g0 for the left; similarly prefixed with r_ for the right), while the fingerpad groups use the pad geometries alone.

RethinkGripper extends the base to provide 1-DOF synchronized control. It maps a single scalar action to two-finger movement using the formula: current_action = clip(current_action + [1, -1] * speed * sign(action), -1, 1). Note the [1, -1] multiplier pattern (opposite of PandaGripper's [-1, 1]), which reflects the different joint convention in the Rethink gripper XML. The speed is set to 0.2 for responsive control.

This gripper is designed for use with Rethink Robotics arms such as the Sawyer, featuring long finger profiles suitable for a variety of grasping tasks. The collision geometry provides detailed finger segmentation for accurate contact modeling.

Usage

Use RethinkGripper (1-DOF) for standard manipulation tasks with Rethink Robotics arms like Sawyer. Use RethinkGripperBase when direct 2-DOF actuator access is required.

Code Reference

Source Location

Signature

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

class RethinkGripper(RethinkGripperBase):
    # Inherits __init__; overrides format_action, speed, dof

Import

from robosuite.models.grippers.rethink_gripper import RethinkGripper, RethinkGripperBase

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
RethinkGripperBase instance GripperModel Base 2-DOF long parallel jaw gripper model
RethinkGripper 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.rethink_gripper import RethinkGripper
import numpy as np

# Create the 1-DOF Rethink gripper
gripper = RethinkGripper(idn=0)

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

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

# Check properties
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