Gripper motion stages
Build SRDF group-state gripper moves using joint interpolation. An empty gripper group is explicitly a successful no-op.
beambot.stages.end_effector_stages · Source
Tools and end effectors · Guide · Symbol index
How it is used
EndEffectorActionServer calls run() for a standalone gripper request. The orchestrator’s batch path calls add_to_task() to insert the same gripper stage alongside arm moves before planning the combined task.
Targets are configured SRDF group states. An empty gripper group is a successful no-op; it is not evidence that a physical tool actuated.
Start here
Callable |
Purpose |
|---|---|
Return immediately for an empty group; otherwise create, plan and execute an end-effector task. |
|
Append a gripper MoveTo stage, using joint interpolation unless a planner is supplied. An empty group succeeds without requiring an action. |
EndEffectorStages
BaseStages subclass for joint-interpolated gripper group-state moves. run() owns a complete task; add_to_task() composes into a caller-owned task.
Inherits from: BaseStages.
EndEffectorStages.run()
Return immediately for an empty group; otherwise create, plan and execute an end-effector task.
Entry point · Source
run(self, goal) -> str | None
Parameter |
Meaning |
|---|---|
|
EndEffector action goal. |
Returns: None on completion/no-op or error string.
Errors: Unhandled construction errors propagate; planning/execution helpers return error strings.
Side effects: May actuate the gripper through MTC.
EndEffectorStages.add_to_task()
Append a gripper MoveTo stage, using joint interpolation unless a planner is supplied. An empty group succeeds without requiring an action.
Method · Source
add_to_task(self, task: core.Task, goal, planner=None) -> str | None
Parameter |
Meaning |
|---|---|
|
MTC task receiving a gripper stage. |
|
Goal containing gripper_group and end_effector_action SRDF names. |
|
Optional explicit planner. |
Returns: None after append or no-op; error string when a nonempty group has no action.
Errors: MTC construction errors propagate; state/group existence is validated by planning downstream.
Side effects: May append a stage and populate planner cache; logs decisions.
Referenced in source (1)
EndEffectorStages.run— beambot.stages.end_effector_stages