Motion service API

The motion service exposes the methods below for planning and executing component motion. Most methods are implemented only by module-based motion services. The builtin service implements Move, GetPose (deprecated), DoCommand, and GetStatus. MoveOnMap, MoveOnGlobe, StopPlan, ListPlanStatuses, and GetPlan return a not supported by builtin error; module-based motion services implement them.

Method NameDescription
MoveThe Move method is the primary way to move multiple components, or to move any object to any other location.
MoveOnMapMove a base component to a destination pose on a SLAM map.
MoveOnGlobeMove a base component to a destination GPS point, represented in geographic notation (latitude, longitude).
GetPoseGetPose gets the location and orientation of a component within the frame system.
StopPlanStop a base component being moved by an in progress MoveOnGlobe or MoveOnMap call.
ListPlanStatusesReturns the statuses of plans created by MoveOnGlobe or MoveOnMap calls that meet at least one of the following conditions since the motion service initialized: - the plan’s status is in progress - the plan’s status changed state within the last 24 hours All repeated fields are in chronological order.
GetPlanBy default, returns the plan history of the most recent MoveOnGlobe or MoveOnMap call to move a base component.
ReconfigureReconfigure this resource.
FromRobotGet the resource from the provided machine.
DoCommandExecute model-specific commands that are not otherwise defined by the service API.
GetResourceNameGet the ResourceName for this instance of the motion service.
CloseSafely shut down the resource and prevent further use.

For full method signatures, parameters, and code examples, see the auto-generated motion API reference.

Method overview

Move

Plans and executes a motion to a destination pose. This is the primary method for arm and gantry planning.

Key parameters:

  • component_name: the component to move (typically an arm or gantry in this section’s examples)
  • destination: a PoseInFrame specifying the target pose and reference frame
  • world_state: optional obstacles and transforms
  • constraints: optional linear, orientation, or collision constraints

MoveOnMap, MoveOnGlobe, StopPlan, ListPlanStatuses, and GetPlan

Navigate mobile bases and manage the resulting plans. The builtin motion service returns a not supported by builtin error for each of these methods (for example, MoveOnMap not supported by builtin); module-based motion services implement them.

GetPose (deprecated)

Returns a component’s pose. Deprecated in favor of the robot service’s GetPose. Python callers still use this motion-service method today; see the Frame system API reference.

DoCommand

Sends arbitrary commands. The builtin motion service supports a "plan" command (returns a trajectory without executing it), an "execute" command (runs a trajectory; add the "executeCheckStart" key to an execute request to verify the resource is at the trajectory’s start first), and the teleop commands (teleop_start, teleop_move, teleop_stop, and teleop_status).

GetStatus

Returns generic resource status for the motion service. GetStatus is a common resource RPC, so the generated table above omits it. Use it for liveness checks.