Work in progress: this documentation is still being written and reviewed. Check details against the source code.

MoveTo action server

Expose named, relative and Cartesian motion through MoveToAction.

beambot.action_servers.move_to_server · Source

Motion planning · Guide · Symbol index

How it is used

Use this endpoint for individual arm moves: named joint poses or SRDF states, relative moves, and Cartesian targets. The orchestrator and survey runner send MoveToAction goals to beambot_moveto; MoveToStages validates the target and selects planning stages.

main() starts the server. The small create_stages() override is also the simplest example of extending BaseActionServer.

Start here

Callable

Purpose

main

Run MoveToActionServer through the shared multithreaded ROS server runner.

MoveToActionServer.create_stages

Bind MoveToStages to this action-server node.

Functions

main()

Run MoveToActionServer through the shared multithreaded ROS server runner.

Entry point · Source

main(args=None)

Parameter

Meaning

args

Optional ROS initialization arguments; None uses normal rclpy argument handling.

Returns: None when the server exits.

Errors: KeyboardInterrupt during spin is handled by run_server; initialization/construction and other executor errors propagate.

Side effects: Initializes ROS, constructs the action node, spins until shutdown and destroys the node/context.

MoveToActionServer

Concrete BaseActionServer that connects MoveToAction requests to MoveToStages. The shared base manages admission and results; the stages own planning and execution.

Inherits from: BaseActionServer.

MoveToActionServer.create_stages()

Bind MoveToStages to this action-server node.

Extension hook · Source

create_stages(self)

Returns: New MoveToStages instance.

Errors: Stage initialization errors propagate.

Side effects: Initializes stage resources and TF subscriptions.

MoveToActionServer.__init__()

Configure the shared action base as node beambot_moveto_server serving beambot_moveto.

Lifecycle · Source

__init__(self)

Errors: Stage/node/action initialization errors propagate.

Side effects: Constructs the ROS action endpoint and operation stages; logs startup.