Implementation:Haosulab ManiSkill FloatingRobotiq2F85Gripper
| Knowledge Sources | |
|---|---|
| Domains | Robotics, Simulation, Grasping |
| Last Updated | 2026-02-15 08:00 GMT |
Overview
Concrete tool for simulating a floating Robotiq 2F-85 adaptive gripper in ManiSkill environments.
Description
The FloatingRobotiq2F85Gripper is a Robotiq 2F-85 adaptive gripper mounted on a 6-DOF floating base. It has 12 total DOF: 6 root joints, 2 active outer knuckle joints (left/right_outer_knuckle_joint) with mimic control, and 4 passive finger joints (inner knuckle and inner finger joints). Self-collisions are disabled. The gripper uses very high stiffness (1e5) and damping (1e3) with a low force limit (0.1) and friction (0.05). Mechanical constraints for the Robotiq gripper are created via SAPIEN drives in _after_loading_articulation. Provides keyframes for open_facing_down, open_facing_up, and open_facing_side.
uid: floating_robotiq_2f_85_gripper
URDF path: {ASSET_DIR}/robots/robotiq_2f/floating_robotiq_2f_85.urdf
Supported control modes: pd_joint_pos, pd_joint_delta_pos
Usage
Use FloatingRobotiq2F85Gripper for grasping tasks requiring an adaptive gripper that conforms to object shape. The floating base allows free positioning in 3D. Suitable for grasping research, particularly when the arm kinematics are not needed and focus is on grasp strategy.
Code Reference
Source Location
- Repository: Haosulab_ManiSkill
- File: mani_skill/agents/robots/floating_robotiq_2f_85_gripper/floating_robotiq_2f_85_gripper.py
Signature
@register_agent(asset_download_ids=["robotiq_2f"])
class FloatingRobotiq2F85Gripper(BaseAgent):
uid = "floating_robotiq_2f_85_gripper"
urdf_path = f"{ASSET_DIR}/robots/robotiq_2f/floating_robotiq_2f_85.urdf"
disable_self_collisions = True
root_joint_names = ["root_x_axis_joint", ..., "root_z_rot_joint"]
keyframes = dict(
open_facing_down=Keyframe(...), open_facing_up=Keyframe(...), open_facing_side=Keyframe(...)
)
Import
from mani_skill.agents.robots.floating_robotiq_2f_85_gripper.floating_robotiq_2f_85_gripper import FloatingRobotiq2F85Gripper
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| (inherited from BaseAgent) |
Outputs
| Name | Type | Description |
|---|---|---|
| robot agent | FloatingRobotiq2F85Gripper | Configured floating Robotiq gripper with base, finger mimic, and passive controllers |
Usage Examples
Creating Environment with Robot
import gymnasium as gym
import mani_skill.envs
env = gym.make("PickCube-v1", robot_uids="floating_robotiq_2f_85_gripper")
obs, info = env.reset()