Skills and Missions

Skills are discrete actions the robot can execute on demand or as part of a navigation waypoint. They provide a simple, scriptable way to chain behavior without writing custom ROS nodes.

Built-in Skills

Skill

Description

wait

Pause for a configured duration before continuing the sequence.

capture_image

Capture a frame from a configured camera topic and save it as a JPEG.

play_audio

Play a clip from the text-to-speech audio library.

The capture_image skill is tuned through the following configuration parameters:

Parameter

Type

Description

Default

skill_capture_image_topic

string

sensor_msgs/Image topic used by capture_image.

camera/color/image_raw

skill_capture_image_timeout_sec

float

Frame-capture deadline, clamped to [0.1, 60.0].

5.0

skill_capture_image_quality

int

JPEG quality, 1100.

90

Captured images are written to the package images/ directory. The play_audio skill accepts a clip parameter and a wait boolean (default true).

Skill Sequences

Each navigation waypoint can carry an ordered list of skills that execute strictly one at a time, stopping on the first failure. A waypoint assignment may be:

  • A skill-name string, for example "wait" — equivalent to a single step with empty parameters.

  • A single step object, {"skill": "<name>", "params": {...}}.

  • A list mixing either of the above.

Missions

Every recorded arm waypoint set (see Manipulation) is automatically registered as a mission_<name> skill. This lets a navigation waypoint drive to a location and then run a recorded arm motion as part of the same sequence.

The skill roster can be refreshed without restarting the webserver. Reloads are rate-limited to one per 60 seconds and are rejected while any sequence is currently running.

Skill Endpoints

For integration, skills are exposed over the API:

Endpoint

Purpose

/skills/types

List available skill types.

/skills/missions

List registered missions.

/skills/reload

Refresh the skill roster.

/skills/execute

Execute a skill or sequence.

/skills/cancel

Cancel the active sequence.

/skills/status

Report current execution status.