Implementation:Haosulab ManiSkill PandaWristCam
| Knowledge Sources | |
|---|---|
| Domains | Robotics, Simulation, Manipulation |
| Last Updated | 2026-02-15 08:00 GMT |
Overview
Concrete tool for simulating the Panda arm with a wrist-mounted RealSense camera in ManiSkill environments.
Description
PandaWristCam extends the standard Panda robot with a wrist-mounted Intel RealSense camera. It inherits all 7 arm joints and 2 gripper joints from the Panda class but uses a different URDF (panda_v3.urdf) that includes the camera link. The hand camera is a 128x128 resolution sensor with pi/2 field of view, mounted on camera_link. All controller configurations, keyframes, and helper methods are inherited from the Panda base class.
uid: panda_wristcam
URDF path: {PACKAGE_ASSET_DIR}/robots/panda/panda_v3.urdf
Supported control modes: (inherited from Panda) 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
Use PandaWristCam for visual manipulation tasks that require a hand-eye camera for close-up observation of the workspace and grasped objects. Suitable for eye-in-hand visual servoing and manipulation policies that rely on wrist camera observations.
Code Reference
Source Location
- Repository: Haosulab_ManiSkill
- File: mani_skill/agents/robots/panda/panda_wristcam.py
Signature
@register_agent()
class PandaWristCam(Panda):
"""Panda arm robot with the real sense camera attached to gripper"""
uid = "panda_wristcam"
urdf_path = f"{PACKAGE_ASSET_DIR}/robots/panda/panda_v3.urdf"
Import
from mani_skill.agents.robots.panda.panda_wristcam import PandaWristCam
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| (inherited from BaseAgent) |
Outputs
| Name | Type | Description |
|---|---|---|
| robot agent | PandaWristCam | Configured Panda arm with wrist-mounted RealSense camera sensor |
Usage Examples
Creating Environment with Robot
import gymnasium as gym
import mani_skill.envs
env = gym.make("PickCube-v1", robot_uids="panda_wristcam")
obs, info = env.reset()