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 PandaStick

From Leeroopedia
Revision as of 12:54, 16 February 2026 by Admin (talk | contribs) (Auto-imported from implementations/Haosulab_ManiSkill_PandaStick.md)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Knowledge Sources
Domains Robotics, Simulation, Manipulation
Last Updated 2026-02-15 08:00 GMT

Overview

Concrete tool for simulating the Panda arm with a stick end-effector (no gripper) in ManiSkill environments.

Description

PandaStick is a 7-DOF Panda arm variant that replaces the parallel-jaw gripper with a stick tool attached to the end-effector. It has 7 arm joints (panda_joint1 through panda_joint7) and no gripper joints. The end-effector link is panda_hand_tcp. Arm stiffness is 1e3, damping 1e2, force limit 100. The robot supports a comprehensive set of control modes including EE pose control, EE delta pose with alignment frame for teleoperation, and joint-level velocity and position-velocity controllers. Useful for tasks requiring tool usage rather than grasping.

uid: panda_stick

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

Supported control modes: pd_joint_delta_pos, pd_joint_pos, pd_ee_delta_pos, pd_ee_delta_pose, pd_ee_delta_pose_align, 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 PandaStick for tasks requiring pushing, poking, stirring, or any manipulation that uses a tool rather than grasping. The stick end-effector is particularly suited for pushing tasks and contact-rich manipulation where a gripper is not needed.

Code Reference

Source Location

Signature

@register_agent()
class PandaStick(BaseAgent):
    uid = "panda_stick"
    urdf_path = f"{PACKAGE_ASSET_DIR}/robots/panda/panda_stick.urdf"
    arm_joint_names = ["panda_joint1", ..., "panda_joint7"]
    ee_link_name = "panda_hand_tcp"
    arm_stiffness = 1e3
    arm_damping = 1e2
    arm_force_limit = 100
    keyframes = dict(rest=Keyframe(qpos=np.array([0.0, pi/8, 0, -5pi/8, 0, 3pi/4, pi/4]), pose=sapien.Pose()))

Import

from mani_skill.agents.robots.panda.panda_stick import PandaStick

I/O Contract

Inputs

Name Type Required Description
(inherited from BaseAgent)

Outputs

Name Type Description
robot agent PandaStick Configured 7-DOF arm with stick end-effector (no gripper)

Usage Examples

Creating Environment with Robot

import gymnasium as gym
import mani_skill.envs

env = gym.make("PushCube-v1", robot_uids="panda_stick")
obs, info = env.reset()

Related Pages

Page Connections

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