Skip to main content
Version: Next

Definitions

Message Definitions

clearpath_configuration_msgs/AutonomyConfig.msg

# Autonomy configuration message

string version
float64 uptime (not yet implemented)

clearpath_control_msgs/ControlMode.msg

# Control mode message

int8 NEUTRAL=0
int8 MANUAL=1
int8 AUTONOMY=2

int8 mode

clearpath_control_msgs/ControlSelectionState.msg

# The complete state of the control selection module. This message includes the autonomy state as well as the navigation mode.

ControlState autonomy
ControlMode mode

clearpath_control_msgs/ControlState.msg

# The autonomy state message, The autonomy can be either enabled/disabled and active/paused.

bool enabled
bool paused

clearpath_dock_msgs/DockInfo.msg

# Message definition containing the information of a single dock. This includes identifiers, lat/lon and orientation of the location of a dock.

string name
string uuid
string frame
string target_template

# ISO 8601 date/time format of last successfull dock location setting
string last_location_set_time

# maximum allowable distance to allow for predocking. (ie. the distance within which the dock waypoint must be located)
float32 max_predock_distance
# the distance from the dock that the robot will navigate to prior to start docking
float32 predock_distance

# location of the dock
float64 latitude
float64 longitude
float64 heading

clearpath_dock_msgs/DockProperties.msg

# Message definition containing the properties for each of the docks available.

clearpath_dock_msgs/DockInfo[] docks

clearpath_dock_msgs/DockState.msg

# Message definition containing information on what state the docking process is in.

uint8 UNDOCKED = 0
uint8 DOCKED = 1
uint8 IN_PROGRESS = 2
uint8 FAILED = 3
uint8 CANCELLED = 4

uint8 state

clearpath_dock_msgs/TargetTrackerState.msg

# Message definition containing the state information of the target tracker.
# This includes whether or not the tracker is active, whether the target is visible/lost, and the target pose and score of that pose.

bool active

# flag indicates if the target is visible or not
bool target_locked

geometry_msgs/PoseWithCovarianceStamped target_pose
float32 score

# the distance of the sensor_link to the dock target
float64 distance_to_target

clearpath_localization_msgs/LocalizationStatus.msg

# Localization status message for all sources of localization

std_msgs/Header header
float32 accuracy # IN DEVELOPMENT

# status information related to the GPS receiver units
GNSSStatus position_gnss
GNSSStatus heading_gnss
GNSSStatus base_station_gnss

bool dead_reckoning

clearpath_localization_msgs/GNSSStatus.msg

# GNSS receiver status message

uint8 POSITION_RECEIVER = 0
uint8 HEADING_RECEIVER = 1
uint8 BASE_STATION_RECEIVER = 2
uint8 receiver_type

uint8 POSITION_NO_FIX = 0
uint8 POSITION_SPP = 1
uint8 POSITION_SBAS = 2
uint8 POSITION_RTK_FLOAT = 3
uint8 POSITION_RTK_FIXED = 4
uint8 position_fix_type

uint8 HEADING_NOT_APPLICABLE = 0
uint8 HEADING_NO_SOLUTION = 1
uint8 HEADING_RTK_FLOAT = 2
uint8 HEADING_RTK_FIXED = 3
uint8 heading_fix_type

uint8 num_connected_sats # Number of satellites connected to the antenna/receiver
uint8 num_sats_solution # Number of sats used in solution
float32[] cn0 # The carrier-to-noise ratio of each connected satellite
float64 correction_age # Age of RTK corrections. -1 indicates none received

clearpath_logger_msgs/Event.msg

################################################################################
## Universal log event. Represents a single even recorded to the log
################################################################################

# Tag for events that include a media_path
string TAG_MEDIA = media

# Tag indicating that the event's charger status & battery level have been set
string TAG_POWER = power

# Tag indicating that the event's GPS position has been set
string TAG_LOCATION = location

# Tag indicating that the event's odometry data has been set
string TAG_ODOMETRY = odom

# Tag indicating that the event's velocity data has been set
string TAG_VELOCITY = vel

# Tag indicating that the event's error/debugging data has been set
string TAG_ERROR = error

# Tag indicating that this event was automatically recorded telemetry
string TAG_AUTO_TELEMETRY = auto_telemetry

################################################################################
## Header & general meta-data about the event
################################################################################

# Header
# - seq: the order of this event within its parent ExecutionLog
# - frame_id: the sensor/manipulator frame referenced by the frame_pose field
# - stamp: the time that this event occurred
std_msgs/Header header

################################################################################
## Media & sensor data
################################################################################

# If this even has media, this is its path on-disk
string media_path

# If this event has media, this is its MIME type
# May be left blank
string media_mime_type

# The pose of the sensor/manipulator frame given by header.frame_id relative to
# base_link
geometry_msgs/Pose frame_pose

################################################################################
## Robot location, orientation, velocity
################################################################################

# The robot's latitude, longitude, and heading as recorded by the GPS
# - lat: decimal degrees
# - lon: decimal degrees
# - heading: ENU orientation in radians
geometry_msgs/Point lat_lon_heading

# The robot's location relative to the odometry frame
nav_msgs/Odometry odometry

# The robot's linear & angular velocity
geometry_msgs/Twist velocity

################################################################################
## Power & battery
################################################################################

# The 0-1 charge level of the battery
float32 battery_percent

# True of the robot's battery is charging, otherwise False
bool charging

# True if power-saving/low-power mode is enabled, otherwise False
bool power_saver

################################################################################
## Error and debugging events
################################################################################

# An error code indicating the type of error
int32 error_code

# A diagnostic error message, or non-integer error code
string error_msg

# The name of the module/process/pipeline/etc... that signalled the error
string error_component

################################################################################
## Custom fields for expansion
################################################################################

# Arbitrary free-form tags usable to annotate custom data
string[] tags

# Arbitrary JSON-formatted data that can contain user-defined fields
string custom_fields_json

clearpath_logger_msgs/EventLog.msg

################################################################################
## A log representing a single mission execution
################################################################################

# The log is currently active and being modified
int32 STATE_ACTIVE = 0

# The log is old and closed
int32 STATE_CLOSED = 1

# The master record of the log exists, but its data has been deleted from the disk
int32 STATE_DELETED = 2

# The state of the log on disk
int32 state

# The time the log started recording
time start_time

# The time the log stopped recording
time end_time

# This execution's unique ID
string uuid

# A descriptive name for the log to be displayed in the GUI. Does not need to be unique
string name

# The total percentage of the battery used during the execution
# This measures only negative changes, not positive ones
# e.g. if the robot uses 75% of the battery, returns to dock to recharge to full
# and then finishes the mission using another 75% of the battery, this value
# will read 1.5
float32 battery_percent_used

# The total distance driven by the robot (approximate) during the execution (meters)
# The exact path used to calculate the distance may be simplified and subject to
# sensor noise/error
float32 distance_driven

# A custom JSON field for adding additional custom metrics, meta-data, etc... as needed
string custom_fields_json

# The list of events recorded in this execution
clearpath_logger_msgs/Event[] events

clearpath_logger_msgs/EventLogs.msg

clearpath_logger_msgs/EventLog[] logs

clearpath_mission_manager_msgs/msg/NetworkEdgeReq.msg

string start_point_id
string end_point_id

float32 speed_limit

float32 radius

clearpath_mission_manager_msgs/msg/NetworkMapState.msg

# The UUID of the map
string uuid

# True if the map actually exists and was found
bool exists

# The number of disconnected sub-graphs of the map
# Normally this will be 1 (i.e. the map is a single graph that is connected)
# but there are circumstances where the user may intentionally want 2+ disconnected graphs
# (e.g. a separate graph for each side of a fence, where the only connection between the two
# sides is an out-of-bounds, teleop-only road)
int32 num_subgraphs

# If the map has any disconnected vertices, we enumerate them here by their ID
# If size_exceeded is true, this list may be empty or incomplete (see below)
string[] disconnected_point_ids

# True if the map is too big for the validation to run on it
# Maps with more than 1000 vertices or 8000 edges will not be fully tests
bool size_exceeded

clearpath_mission_manager_msgs/msg/NetworkMapValidityState.msg

# Reports the validity of all network of paths maps registered with the mission manager
clearpath_mission_manager_msgs/NetworkMapState[] map_states

clearpath_mission_manager_msgs/msg/StorageState.msg

# The entire contents of the Mission database
# Note that all of the following cases are valid:
# - a Task can be referenced in multiple Waypoints
# - a Waypoint can be referenced in multiple Missions
# - a Waypoint can be orphaned (i.e. not included in any Missions)
# - a Task can be orphaned (i.e. not included in any Waypoints)

# All missions defined in the database
clearpath_navigation_msgs/Mission[] missions

# All waypoints defined in the database
clearpath_navigation_msgs/Waypoint[] waypoints

# All tasks defined in the database
clearpath_navigation_msgs/Task[] tasks

# All network of paths missions in the database
clearpath_navigation_msgs/NetworkMission[] network_missions

# All network of paths maps in the database
clearpath_navigation_msgs/NetworkMap[] network_maps

# Points of interest
clearpath_navigation_msgs/PointOfInterest[] points_of_interest

clearpath_mission_scheduler_msgs/msg/NextSchedule.msg

# The ID of the next schedule to start
# Empty if nothing is scheduled
string uuid

# The time until the schedule starts (rounded to the nearest second)
duration time_to_start

clearpath_mission_scheduler_msgs/msg/Schedule

# Single-execution mode; the schedule starts at the designated time and runs once
uint8 MODE_ONCE=0

# Looping mode; the schedule starts at the designated time, and every loop_interval seconds after
# for the designated number of repeats
uint8 MODE_LOOP=1

# Single-shot execution, but does NOT get added to the persistent storage
# Equivalent to MODE_ONCE, but for one-off, throw-away schedules (e.g. "Run X in 5 minutes")
uint8 MODE_TRANSIENT=2

# The human-readable name for this schedule
# Should be unique, but there's no hard requirement for it to be so
string name

# The unique ID of this schedule
# A string of the form "12345678-90ab-cdef-1234-567890abcdef"
string uuid

# The time that this mission starts every day
clearpath_mission_scheduler_msgs/UtcTime start_time

# Either MODE_ONCE or MODE_LOOP to indicate the execution mode
uint8 mode

# In MODE_LOOP, how many times do we repeat the missions?
uint8 loop_repeats

# In MODE_LOOP, how long do we wait between executions?
duration loop_interval

# The ordered list of Mission UUIDs to execute
string[] mission_ids

# The minimum battery charge needed before we execute the missions
# Must be in the range 0-1
float32 min_battery

# If the missions take longer than this to execute, assume the schedule has failed and alert the user
# Set to zero to disable the timeout
duration timeout

# Is this schedule enabled?
# Only enabled schedules will execute
bool enabled

clearpath_mission_scheduler_msgs/msg/StorageState.msg

# Single-execution mode; the schedule starts at the designated time and runs once
uint8 MODE_ONCE=0

# Looping mode; the schedule starts at the designated time, and every loop_interval seconds after
# for the designated number of repeats
uint8 MODE_LOOP=1

# Single-shot execution, but does NOT get added to the persistent storage
# Equivalent to MODE_ONCE, but for one-off, throw-away schedules (e.g. "Run X in 5 minutes")
uint8 MODE_TRANSIENT=2

# The human-readable name for this schedule
# Should be unique, but there's no hard requirement for it to be so
string name

# The unique ID of this schedule
# A string of the form "12345678-90ab-cdef-1234-567890abcdef"
string uuid

# The time that this mission starts every day
clearpath_mission_scheduler_msgs/UtcTime start_time

# Either MODE_ONCE or MODE_LOOP to indicate the execution mode
uint8 mode

# In MODE_LOOP, how many times do we repeat the missions?
uint8 loop_repeats

# In MODE_LOOP, how long do we wait between executions?
duration loop_interval

# The ordered list of Mission UUIDs to execute
string[] mission_ids

# The minimum battery charge needed before we execute the missions
# Must be in the range 0-1
float32 min_battery

# If the missions take longer than this to execute, assume the schedule has failed and alert the user
# Set to zero to disable the timeout
duration timeout

# Is this schedule enabled?
# Only enabled schedules will execute
bool enabled

clearpath_mission_scheduler_msgs/msg/UtcTime.msg

# Represents a moment in time on a 24-hour clock

# The hour, 0-23
uint8 hour

# The minute, 0-59
uint8 minute

# The second, 0-59
uint8 second

# Milliseconds, 0-999 (not typically needed)
uint16 millisecond

clearpath_navigation_msgs/Mission.msg

# Message definition for an OutdoorNav mission

std_msgs/Header header

# The human-readable name of this mission
string name

# A UUID string used to uniquely identify this mission
string uuid

# The ordered list of Waypoints that make up the mission
clearpath_navigation_msgs/Waypoint[] waypoints

# Configuration parameters for the mission
# Additional details TBD
string onav_config

clearpath_navigation_msgs/DistanceToGoal.msg

# Message includes Euclidean and Path distance to goal

float32 euclidean
float32 path

clearpath_navigation_msgs/Metrics.msg

# Message containing some metric information related to the autonomy metrics.

float64 total_distance_travelled # [m]
float64 total_duration # [s]

uint64 num_missions_sent
uint64 num_missions_completed
uint64 num_replans
uint64 num_recoveries
uint64 num_tasks_executed

clearpath_navigation_msgs/MotionState.msg

# Motion state message to indicate the current motion, expected motion and the direction of travel of the robot.

# State pertaining to current motion of the robot.
uint8 MOTION_NORMAL=10
uint8 MOTION_STOPPED=11
uint8 MOTION_REVERSE=12
uint8 MOTION_SLOWING=13 # Currently unused
uint8 motion

# State pertaining to the robot's movement along the path. Predictive, ie state
# will be INDICATOR_LEFT_TURN if in or approaching a left turn.
uint8 INDICATOR_NORMAL=20
uint8 INDICATOR_LEFT_TURN=21
uint8 INDICATOR_RIGHT_TURN=22
uint8 INDICATOR_CLOCKWISE=23
uint8 INDICATOR_COUNTERCLOCKWISE=24
uint8 INDICATOR_HAZARD=25 # Currently unused
uint8 indicator

# Direction of travel of the robot relative to its physical forward direction.
uint8 DIRECTION_FORWARD=30
uint8 DIRECTION_REVERSE=31
uint8 direction

clearpath_navigation_msgs/NavigationState.msg

# Message containing the current navigation state(s). Navigation may be in multiple states.

uint8 STATE_IDLE = 0
uint8 STATE_COMPUTE_PATH = 1
uint8 STATE_EXECUTE_PATH = 2
uint8 STATE_REPLAN = 3
uint8 STATE_NAVIGATING_AROUND_OBSTACLE = 4
uint8 STATE_RECOVERY = 5
uint8 STATE_LOST = 6
uint8 STATE_DONE = 7
uint8 STATE_SAFETY_STOP = 8
uint8 STATE_PAUSE = 9
uint8 STATE_DISABLE = 10

uint8[] states

clearpath_navigation_msgs/OdomIntent.msg

# Message containing current and predicted odom related information

std_msgs/Header header

# Current and predicted odom
perception_navigation_msgs/Odom2DLean odom
perception_navigation_msgs/Odom2DLean predicted_odom

# Time offset corresponding to prediction
float32 dt

clearpath_navigation_msgs/PointOfInterest.msg

# Message containing the data used to represent a Point of interest (POI)

# If this tag is present, the POI can be used as a navigation goal
string TAG_GOTO = goto

# If this tag is present, the POI can be set as the target for a PTZ camera action
string TAG_INSPECT = inspect

# A UUID string to uniquely identify this POI
string uuid

# The human-readable name of this POI
string name

# The latitude (in decimal degrees) of this POI
float64 latitude

# The longitude (in decinal degrees) of this POI
float64 longitude

# The height above ground level (in meters)
float64 elevation

# The compass heading (in degrees) of this POI (optional)
bool enable_heading
float64 heading

# A set of labels assigned to the POI in order to categorize it
string[] tags

# A JSON formatted string that contains user defined POI fields
string custom_fields_json

clearpath_navigation_msgs/PointVector.msg

# Vector of point vectors (for GUI)
std_msgs/Header header

clearpath_navigation_msgs/Vector2D[] cloud

clearpath_navigation_msgs/Progress.msg (BETA)

# Message containing the completion percentage of the currently executed path and the current goal.

float32 path_progress
float32 goal_progress
float32 mission_progress

clearpath_navigation_msgs/ScanPoints.msg

# Message definition for the detection points used by the navigation that relate to the detected obstacles.

std_msgs/Header header

string[] frames_vector
clearpath_navigation_msgs/PointVector[] cloud_vector

clearpath_navigation_msgs/Task.msg

# A single task that can be executed at a Waypoint

# The human-readable name of this task
string name

# A UUID string to uniquely identify this Task
string uuid

# The ROS action that this task executes
string action_server_name

# The version of this task
string version

# Numerical/boolean data to be passed to the action_server_name
# The exact meaning of these values is dependent on the underlying service
float64[] floats

# String data to be passed to the action_server_name
# The exact meaning of these values is dependent on the underlying service
string[] strings

# Boolean value which determines whether a mission using this task can continue
# if this task fails to execute
bool allow_failure

clearpath_navigation_msgs/TrackError.msg

# The path error message containing the off-path cross track error and the relative heading error to the path direction

std_msgs/Header header
float32 cross_track_error
float32 heading_error

clearpath_navigation_msgs/Vector2D.msg

# 2D Vector of floats (used for GUI)

float32[2] point

clearpath_navigation_msgs/Waypoints.msg

# A single Waypoint along a Mission

# A UUID string to uniquely identify this Waypoint
string uuid

# The human-readable name of this Waypoint
string name

# The latitude (in degrees) of this Waypoint
float64 latitude

# The longitude (in degrees) of this Waypoint
float64 longitude

# The compass heading (in degrees) of this Waypoint
float64 heading

# A radius in meters indicating the acceptable radius from the target location
# Posititon tolerance is disabled if this value is negative
float64 position_tolerance

# A tolerance in degrees indicating the acceptable deviation from the heading
# Heading tolerance is disabled if this value is negative
float64 yaw_tolerance

# The ordered set of Tasks to execute once the goal position & orientation are reached
clearpath_navigation_msgs/Task[] tasks

clearpath_platform_msgs/PlatformID.msg

# Platform ID message containing the model, serial #, hardware and firmware versions

string model
string serial_id
string hardware_revision
string firmware_revision

clearpath_safety_msgs/Safety.msg

# Safety monitor message telling us if the safety monitor has been triggered and a message
# indicating what caused the trigger

uint8 SAFETY_ESTOP = 0
uint8 SAFETY_SENSOR_TIMEOUT = 1

bool safety_monitor_triggered
uint8 trigger_type
string message

clearpath_safety_msgs/AssistedTeleopState.msg

# Assisted teleoperation message indicating the current state of the protection

uint8 STATE_ACTIVE = 0
uint8 STATE_DISABLED = 1
uint8 STATE_COLLISION_IMMINENT = 2
uint8 STATE_STOPPED = 3
uint8 STATE_COLLISION = 4
uint8 STATE_ERROR = 5
uint8 state

uint8 ASSIST_ON = 100
uint8 ASSIST_OFF_SERVICE = 101
uint8 ASSIST_OFF_JOYSTICK_OVERRIDE = 102
uint8 ASSIST_OFF_SENSOR_TIMEOUT = 103
uint8 assist_off_trigger

string error_message

clearpath_safety_msgs/ObstacleMap.msg

# Assisted teleoperation message indicating the threat level of obstacles surrounding the platform

float32[] threat_level

clearpath_safety_msgs/WatchdogStatus.msg

# Watchdog status message containing information related to sensor monitoring, emergency stop and safety stops

bool[] gps_watchdog_triggered
bool[] lidar_watchdog_triggered
bool[] camera_watchdog_triggered

Standard ROS Messages


Service Definitions

clearpath_control_msgs/srv/SetControlMode.srv

# Service definition to set the control mode

clearpath_control_msgs/ControlMode mode
---

clearpath_dock_msgs/srv/AddDock.srv

# A dock information message that will be added to the docks list
clearpath_dock_msgs/DockInfo dock
---
# True if the location was updated/added successfully, otherwise False
bool success

clearpath_dock_msgs/srv/RemoveDock.srv

# A dock information message that will remove a dock from the docks list
string uuid
string name
---
# True if the dock was removed successfully, otherwise False
bool success

clearpath_dock_msgs/srv/SetDockLocationById.srv

# The UUID of the dock we're setting a location for
# If empty, a new dock is to be added with the location
string uuid
---
# True if the location was updated/added successfully, otherwise False
bool success

clearpath_dock_msgs/srv/SetDockLocationByName.srv

# The UUID of the dock we're setting a location for
# If empty, a new dock is to be added with the location
string name
---
# True if the location was updated/added successfully, otherwise False
bool success

clearpath_localization_msgs/srv/SetDatum.srv

# Service definition to set the datum with a latitude (lat) and longitude (lon)

float32 lat
float32 lon
---
bool success

clearpath_localization_msgs/srv/ResetLocalization.srv

# Service definition to reset the localization

bool require_gnss
uint32 gnss_samples
---
bool success

clearpath_logger_msgs/DeleteLog.srv

string uuid
bool delete_media
bool purge_record
---
bool success

clearpath_logger_msgs/DownloadLog.srv

# The UUID of the recording to download
string log_uuid
---
# The on-disk path the the generated archive
string path

# If True at least one media file from the recording has been moved/deleted
bool media_missing

clearpath_logger_msgs/GetAllLogs.srv

---
clearpath_logger_msgs/EventLog[] logs

clearpath_logger_msgs/RecordCustomEvent.srv

# A valid JSON string containing the custom data to be recorded
string custom_fields_json

# Tags to add to the event
string[] tags

# Optional frame ID relevant to the event
string frame_id
---
clearpath_logger_msgs/Event event

clearpath_logger_msgs/RecordErrorEvent.srv

# An error code indicating the type of error
int32 error_code

# A diagnostic error message, or non-integer error code
string error_msg

# The name of the module/process/pipeline/etc... that signalled the error
string error_component
---
clearpath_logger_msgs/Event event

clearpath_logger_msgs/RecordEvent.srv

# The event to be recorded
# If the header's stamp is not zero the header will be modified to be the current time
# Otherwise the provided time will be used without verification
clearpath_logger_msgs/Event event
---
# The event as it was recorded, after any modifications made for serialization
clearpath_logger_msgs/Event event

clearpath_logger_msgs/RecordLocationEvent.srv

# The robot's current latitude (decimal degrees)
float64 latitude

# The robot's current longitude (decimal degrees)
float64 longitude

# The robot's current heading (cardinal direction in decimal degrees)
float64 heading

# The robot's current linear & angular velocity
geometry_msgs/Twist velocity

# The robot's current odometry location
nav_msgs/Odometry odometry

# Tags for the event
# Should contain one or more of Event.TAG_LOCATION, TAG_ODOMETRY, or TAG_VELOCITY
string[] tags
---
clearpath_logger_msgs/Event event

clearpath_logger_msgs/RecordMediaEvent.srv

# The path to the media file on-disk
string media_path

# A MIME type string indicating the media type
# May be left blank if desired
string mime_type

# The frame ID for the sensor that recorded the media
# Leave blank if the sensor has no frame/TF data associated with it
string frame_id
---
# The logged event
clearpath_logger_msgs/Event event

clearpath_logger_msgs/RecordPowerEvent.srv

# The battery's current level
# 0.0 to 1.0
float32 battery_percent

# Is the battery currently charging?
bool charging
---
clearpath_logger_msgs/Event event

clearpath_logger_msgs/StartRecording.srv

# A human-readable name for the log
string name
---
clearpath_logger_msgs/EventLog log

clearpath_logger_msgs/StopRecording.srv

# Additional custom end-of-mission metrics to record as part of the log
string custom_fields_json
---
clearpath_logger_msgs/EventLog log

clearpath_mission_manager_msgs/srv/AddNetworkEdge.srv

# The UUID of the map we're operating on
string map_id

# The UUIDs of the start and end points for this edge
string start_point_id
string end_point_id

# The operational radius around the edge
float32 radius

# The speed limit when driving along this edge
float32 speed_limit

# An additional cost factor to prioritize certain edges over others in the planner
# Higher costs -> edge is less likely to be included in the planned route
# Expected range is (0.0, 100.0) (exclusive range).
# Values outside the expected range will be treated as the default 1.0
float32 cost_factor

# If true, we add 2 edges, with the second one having inverted start and end points
bool symmetrical

---

# The generated edge(s)
clearpath_navigation_msgs/NetworkEdge[] edges

clearpath_mission_manager_msgs/srv/AddNetworkPath.srv

# The lat-lon locations of the points to add
float64[] latitudes
float64[] longitudes

# The UUID of the map we're adding points to
string map_id

# If true, bidirectional edges are added between the points
bool symmetrical

---
bool success
string message

clearpath_mission_manager_msgs/srv/AddNetworkPoint.srv

# The location of this point on the map
float64 latitude
float64 longitude

# The UUID of the map we're adding this point to
string map_id

# Optional list of node IDs in the map we want to connect to the new node
# This specifies edges originating in the given nodes, pointing to the new node
string[] connect_from

# Optional list of node IDs in the map we want to connect to the new node
# This specifies edges originating at the new node, pointing to the nodes with the given UUIDs
string[] connect_to

# If true, bidirectional edge are added between the nodes specified in connect_from and connect_to
bool symmetrical

---

# The added point, with generated UUID
clearpath_navigation_msgs/NetworkPoint point

clearpath_mission_manager_msgs/srv/AddRemoveById.srv

# The UUID of the object we're inserting/removing
# When removing, all instances with this UUID are deleted from the parent
string uuid

# The UUID of the parent object
string parent_uuid

# The zero-based index to insert the object into
# Ignored when removing
int32 position
---
# True if the object was added/removed successfully, otherwise False
bool ok

clearpath_mission_manager_msgs/srv/AddRemoveTag.srv

# The UUID of the item whose tags we're modifying
string uuid

# The tag to add/remove
string tag
---
# The item's tags after modification
string[] tags

clearpath_mission_manager_msgs/srv/CloneMission.srv

# The UUID of the mission to clone
string uuid

# The new name for the mission
# If blank, the old mission name will be re-used with -copy appended to the end
string new_name

# If true, the order of the waypoints within the cloned mission are reversed
bool reverse
---
# The Mission with the given ID, or null if no Mission with that ID exists
clearpath_navigation_msgs/Mission mission
note

The reverse parameter was added in 0.9.0

clearpath_mission_manager_msgs/srv/CloneNetworkMap.srv

# The UUID of the map to clone
string uuid

# The new name for the map
# If blank, the old map name will be re-used with -copy appended to the end
string new_name

---
# The newly-created copy of the original map, with a new name and new UUID
clearpath_navigation_msgs/NetworkMap map

clearpath_mission_manager_msgs/srv/CloneNetworkMission.srv

# The UUID of the mission to clone
string uuid

# The new name for the mission
# If blank, the old mission name will be re-used with -copy appended to the end
string new_name

# If true, the order of the waypoints within the cloned mission are reversed
bool reverse
---
# The Mission with the given ID, or null if no Mission with that ID exists
clearpath_navigation_msgs/NetworkMission mission

clearpath_mission_manager_msgs/srv/ClonePointOfInterest.srv

string uuid

string new_name
---
clearpath_navigation_msgs/PointOfInterest result

clearpath_mission_manager_msgs/srv/CreateMission.srv

# The desired name for the new mission
string name

# The additional configuration options
# see clearpath_mission_manager_msgs/msg/Mission for details
string onav_config

# The ordered list of Waypoint UUIDs to include in this mission
string[] waypoint_ids
---
# The resulting Mission, with an auto-generated UUID is returned
clearpath_navigation_msgs/Mission result

clearpath_mission_manager_msgs/srv/CreatePointOfInterest.srv

# The human-readable name of this POI
string name

# The latitude (in decimal degrees) of this POI
float64 latitude

# The longitude (in decinal degrees) of this POI
float64 longitude

# The height above ground level (in meters)
float64 elevation

# The compass heading (in degrees) of this POI (optional)
bool enable_heading
float64 heading

# A set of labels assigned to the POI in order to categorize it
string[] tags

# A JSON formatted string that contains user defined POI fields
string custom_fields_json
---
clearpath_navigation_msgs/PointOfInterest result

clearpath_mission_manager_msgs/srv/CreateTask.srv

# The desired name for the Task
string name

# The ROS Action to invoke to execute the task
string service_call

# The version of the task
string version

# The numerical arguments to pass to the service_call
float64[] floats

# The string arguments to pass to the service_call
string[] strings

# Optional list of Waypoint UUIDs to assign this task to automatically
# The new task will be appended to the end of the existing Waypoints
string[] assign_to
---
# The resulting Task with an auto-generated UUID is returned
clearpath_navigation_msgs/Task result

clearpath_mission_manager_msgs/srv/CreateWaypoint.srv

# The desired name for the Waypoint
string name

# The latitude for the Waypoint in degrees
float64 latitude

# The longitude for the Waypoint in degrees
float64 longitude

# The compass heading in degrees for the Waypoint
float64 heading

# The position tolerance for the Waypoint in meters
float64 position_tolerance

# The orientation tolerance for the Waypoint in degrees
float64 yaw_tolerance

# Optional ordered list of Task UUIDs to execute at this Waypoint
string[] task_ids

# Optional list of Mission UUIDs to assign the new Waypoint to
# The new Waypoint is appended to the end of the existing Missions
string[] assign_to
---
# The resulting Waypoint with an auto-generated UUID is returned
clearpath_navigation_msgs/Waypoint result

clearpath_mission_manager_msgs/srv/DeleteById.srv

# The UUID of the object we want to delete
string uuid
---
# True if the item was successfully deleted, otherwise False
bool ok

clearpath_mission_manager_msgs/srv/DeleteEverything.srv

# Used to permanently delete everything from the database.
# Use this service at your own risk

# This must be set to true to confirm you really want to delete everything
bool yes_i_am_absolutely_sure_i_want_to_do_this
---
# True if the database was cleared, otherwise False
bool ok

clearpth_mission_manager_msgs/srv/DeleteMultiple.srv

# A list of UUIDs of items we want to delete
string[] uuids

# An optional ID of the parent object we're deleting from
string parent_id
---
# A list of UUIDs that we were asked to delete, but failed to
string[] failed_uuids

clearpath_mission_manager_msgs/srv/ExportData.srv

---
# A JSON string representing the database contents.
# This can be written to a file or used with the ImportData.srv
# to back-up/restore the database contents
string data

clearpath_mission_manager_msgs/srv/GetAllMissions.srv

---
# An array of all Missions defined in the database
clearpath_navigation_msgs/Mission[] missions

clearpath_mission_manager_msgs/srv/GetAllNetworkMaps.srv

---
clearpath_navigation_msgs/NetworkMap[] maps

clearpath_mission_manager_msgs/srv/GetAllNetworkMissions.srv

---
# An array of all Missions defined in the database
clearpath_navigation_msgs/NetworkMission[] missions

clearpath_mission_manager_msgs/srv/GetAllPointsOfInterest.srv

---
clearpath_navigation_msgs/PointOfInterest[] points_of_interest

clearpath_mission_manager_msgs/srv/GetAllTasks.srv

---
# The array of all Tasks defined in the database
clearpath_navigation_msgs/Task[] tasks

clearpath_mission_manager_msgs/srv/GetAllWaypoints.srv

---
# The array of all Waypoints defined in the database
clearpath_navigation_msgs/Waypoint[] waypoints

clearpath_mission_manager_msgs/srv/GetEverything.srv

---
# All Missions, Waypoints, and Tasks defined in the database
clearpath_mission_manager_msgs/StorageState state

clearpath_mission_manager_msgs/srv/GetMission.srv

# The UUID of the Mission we want to retrieve
string uuid
---
# The Mission with the given ID, or null if no Mission with that ID exists
clearpath_navigation_msgs/Mission mission

clearpath_mission_manager_msgs/srv/GetNetworkMap.srv

# The UUID of the NetworkMap we want to retrieve
string uuid
---
clearpath_navigation_msgs/NetworkMap map

clearpath_mission_manager_msgs/srv/GetNetworkMission.srv

# The UUID of the NetworkMission we want to retrieve
string uuid
---
# The Mission with the given ID, or null if no Mission with that ID exists
clearpath_navigation_msgs/NetworkMission mission

clearpath_mission_manager_msgs/srv/GetPointOfInterest.srv

string uuid
---
clearpath_navigation_msgs/PointOfInterest point_of_interest

clearpath_mission_manager_msgs/srv/GetTask.srv

# The UUID of the Task we want to retrieve
string uuid
---
# The Task with the given ID, or null if no Task with that ID exists
clearpath_navigation_msgs/Task task

clearpath_mission_manager_msgs/srv/GetWaypoint.srv

# The UUID of the Waypoint we want to retrieve
string uuid
---
# The Waypoint with the given ID, or null if no Waypoint with that ID exists
clearpath_navigation_msgs/Waypoint waypoint

clearpath_mission_manager_msgs/srv/ImportData.srv

# A JSON string representing the database contents.
# This is the same as the data output by the ExportData service, and is intended
# to be used to restore the database to a previous state
string data
---
# The state of the database after importing the data
clearpath_mission_manager_msgs/StorageState state

clearpath_mission_manager_msgs/srv/ImportMission.srv

# The Mission to import. All UUIDs will be re-generated
clearpath_navigation_msgs/Mission mission
---
# The generated mission with new UUIDs
clearpath_navigation_msgs/Mission mission

clearpath_mission_manager_msgs/srv/ImportNetworkMap.srv

# The map to import. UUIDs that do not already exist are added, but objects with existing UUIDs
# are re-used
clearpath_navigation_msgs/NetworkMap map
---
# The imported map
clearpath_navigation_msgs/NetworkMap map

clearpath_mission_manager_msgs/srv/ImportNetworkMission.srv

# The mission to import. UUIDs that do not already exist are added, but objects with existing UUIDs
# are re-used
clearpath_navigation_msgs/NetworkMission mission
---
# The imported mission
clearpath_navigation_msgs/NetworkMission mission

clearpath_mission_manager_msgs/srv/SplitNetworkEdge.srv

# Splits an edge on a NetworkMap to connect to a new point

# The UUID of the map to edit
string map_id

# The UUID of the edge we want to split
string edge_id

# The position of the new point to create
float64 new_point_latitude
float64 new_point_longitude

# If true, we also split the reverse edge (if it exists)
bool symmetrical
---
# The map in its new state
clearpath_navigation_msgs/NetworkMap result

clearpath_mission_manager_msgs/srv/UpdateMission.srv

# The UUID of the mission we want to edit
string uuid

# The human-readable name for the Mission
string name

# The configuration parameters for the Mission
string onav_config

# The ordered list of Waypoint UUIDs to include in the Mission
string[] waypoint_ids
---
# The edited Mission, or null if no mission with the given ID exists
clearpath_navigation_msgs/Mission result

clearpath_mission_manager_msgs/srv/UpdateNetworkEdge.srv

# The UUID of the map we're operating on
string map_id

# The UUID of the edge to edit
string uuid

# The UUIDs of the start & end points of the edge we're editing
# Ignored if null/empty
string start_point_id
string end_point_id

# The operational radius around the edge
float32 radius

# The speed limit when driving along this edge
float32 speed_limit

# An additional cost factor to prioritize certain edges over others in the planner
# Higher costs -> edge is less likely to be included in the planned route
# Expected range is (0.0, 100.0) (exclusive range).
# Values outside the expected range will be treated as the default 1.0
float32 cost_factor

---

# The updated edge
clearpath_navigation_msgs/NetworkEdge result

clearpath_mission_manager_msgs/srv/UpdateNetworkEdges.srv

# Update multiple edges in a single map

# The UUID of the map we're operating on
string map_id

# The UUIDs of edges to edit
string[] uuids

# The operational radii around the edges
# Ignored if negative
float32[] radii

# The speed limit when driving along the edges
# Ignored if negative
float32[] speed_limits

# The cost factors of the edges
float32[] cost_factors

---

# The updated edge
clearpath_navigation_msgs/NetworkEdge[] result

clearpath_mission_manager_msgs/srv/UpdateNetworkMap.srv

string uuid

string name
float32 default_radius
float32 default_speed_limit
---
clearpath_navigation_msgs/NetworkMap result

clearpath_mission_manager_msgs/srv/UpdateNetworkMission.srv

# The UUID of the mission we want to edit
string uuid

# The desired name for the new mission
string name

# The additional configuration options
# see clearpath_navigation_msgs/msg/Mission for details
string onav_config

# The ordered list of Waypoint UUIDs to include in this mission
string[] waypoint_ids

# The ordered list of Task UUIDs to include in the on_start Task Array
string[] on_start_ids

# The ordered list of Task UUIDs to include in the on_stop Task Array
string[] on_stop_ids

# Boolean value indicating whether robot should attempt 'return to dock' behavior
# when battery level drops below return_to_dock_battery_level
bool return_to_dock_enabled

# Dock UUID that the robot should return to for 'return to dock' behavior
string return_to_dock_id

# Value from 0 to 1 indicating what charge level the robot will return to dock at
float32 return_to_dock_battery_level

# Value from 0 to 1 indicating what charge level the robot should resume this mission at
# after returning to dock for recharging
float32 resume_mission_battery_level

# Boolean value indicating whether 'network' level replanning should be performed
# in the event that a network edge is deemed un-traversable (e.g., due to obstacles)
bool network_replan_enabled

---
# The resulting Mission, with an auto-generated UUID is returned
clearpath_navigation_msgs/NetworkMission result

clearpath_mission_manager_msgs/srv/UpdateNetworkPoint.srv

# The UUID of the map we're working on
string map_id

# The UUID of the point to edit
string uuid

# The location of this point on the map
float64 latitude
float64 longitude

---

# The added point, with generated UUID
clearpath_navigation_msgs/NetworkPoint result

clearpath_mission_manager_msgs/srv/UpdateNetworkPoints.srv

# The UUID of the map we're working on
string map_id

# The UUID of the points to edit
string[] uuids

# The location of the points on the map, in the same order as uuids
float64[] latitudes
float64[] longitudes

---

# The added point, with generated UUID
clearpath_navigation_msgs/NetworkPoint[] result

clearpath_mission_manager_msgs/srv/UpdatePointOfInterest.srv

# The ID of the point to edit
string uuid

# The human-readable name of this POI
string name

# The latitude (in decimal degrees) of this POI
float64 latitude

# The longitude (in decinal degrees) of this POI
float64 longitude

# The height above ground level (in meters)
float64 elevation

# The compass heading (in degrees) of this POI (optional)
bool enable_heading
float64 heading

# A set of labels assigned to the POI in order to categorize it
string[] tags

# A JSON formatted string that contains user defined POI fields
string custom_fields_json
---
clearpath_navigation_msgs/PointOfInterest result

clearpath_mission_manager_msgs/srv/UpdateTask.srv

# The UUID of the Task to edit
string uuid

# The human-readable name for the Task
string name

# The ROS Action that the Task executes
string service_call

# The version of the Task
string version

# The numerical data to pass to the service_call
float64[] floats

# The string data to pass to the service_call
string[] strings
---
# The edited Task, or null if no Task with the given ID exists
clearpath_navigation_msgs/Task result

clearpath_mission_manager_msgs/srv/UpdateWaypoint.srv

# The UUID of the Waypoint to edit
string uuid

# The human-readable name for the Waypoint
string name

# The latitude of the Waypoint in degrees
float64 latitude

# The longitude of the Waypoint in degrees
float64 longitude

# The compass heading of the Waypoint in degrees
float64 heading

# The Waypoint's position tolerance in meters
float64 position_tolerance

# The Waypoint's orientation tolerance in degrees
float64 yaw_tolerance

# The ordered list of Task UUIDs to execute at this Waypoint
string[] task_ids
---
# The edited Waypoint, or null if no Waypoint with the given ID exists
clearpath_navigation_msgs/Waypoint result

clearpath_mission_manager_msgs/srv/ValidateNetworkMap.srv

# Checks that a Network of Paths map is valid and error/warning-free

# The UUID of the map to check
string uuid
---
clearpath_mission_manager_msgs/NetworkMapState state

clearpath_mission_scheduler_msgs/srv/CloneSchedule.srv

# The UUID of the schedule to clone
string uuid

# The name for the new copy of the schedule
string new_name
---
# The cloned schedule
# This should be identical to the original, but with a new name and new UUID
clearpath_mission_scheduler_msgs/Schedule schedule

clearpath_mission_scheduler_msgs/srv/CreateSchedule.srv

# The human-readable name for this schedule
# Should be unique, but there's no hard requirement for it to be so
string name

# The time that this mission starts every day
clearpath_mission_scheduler_msgs/UtcTime start_time

# Either Schedule.MODE_ONCE, Schedule.MODE_LOOP, OR Schedule.MODE_TRANSIENT to indicate the execution mode
uint8 mode

# In MODE_LOOP, how many times do we repeat the missions?
uint8 loop_repeats

# In MODE_LOOP, how long do we wait between executions?
duration loop_interval

# The ordered list of Mission UUIDs to execute
string[] mission_ids

# The minimum battery charge needed before we execute the missions
# Must be in the range 0-1
float32 min_battery

# If the missions take longer than this to execute, assume the schedule has failed and alert the user
# Set to zero to disable the timeout
duration timeout

# Is this schedule enabled?
# Only enabled schedules will execute
bool enabled

---

# The created mission, as-saved on disk
clearpath_mission_scheduler_msgs/Schedule result

clearpath_mission_scheduler_msgs/srv/EnableSchedule.srv

# The ID of the schedule to enable/disable
string uuid

# Should this schedule be enabled or disabled?
bool enable

---

# True if we successfully enabled/disabled the schedule
# False if there was an error or the schedule wasn't found
bool ok

clearpath_mission_scheduler_msgs/srv/ExportData.srv

---
# A JSON string representing the database contents.
# This can be written to a file or used with the ImportData.srv
# to back-up/restore the database contents
string data

clearpath_mission_scheduler_msgs/srv/GetAllSchedules.srv

---
clearpath_mission_scheduler_msgs/Schedule[] schedules

clearpath_mission_scheduler_msgs/srv/GetNextSchedule.srv

---
# The ID of the next schedule to start
# Empty if nothing is scheduled
string uuid

# The time until the schedule starts (rounded to the nearest second)
duration time_to_start

clearpath_mission_scheduler_msgs/srv/GetSchedule.srv

string uuid
---
clearpath_mission_scheduler_msgs/Schedule schedule

clearpath_mission_scheduler_msgs/srv/ImportData.srv

# A JSON string representing the database contents.
# This is the same as the data output by the ExportData service, and is intended
# to be used to restore the database to a previous state
string data
---
# The state of the database after importing the data
clearpath_mission_scheduler_msgs/StorageState state

clearpath_mission_scheduler_msgs/srv/UpdateSchedule.srv

# The ID of the mission to edit
string uuid

# The human-readable name for this schedule
# Should be unique, but there's no hard requirement for it to be so
string name

# The time that this mission starts every day
clearpath_mission_scheduler_msgs/UtcTime start_time

# Either Schedule.MODE_ONCE, Schedule.MODE_LOOP, OR Schedule.MODE_TRANSIENT to indicate the execution mode
uint8 mode

# In MODE_LOOP, how many times do we repeat the missions?
uint8 loop_repeats

# In MODE_LOOP, how long do we wait between executions?
duration loop_interval

# The ordered list of Mission UUIDs to execute
string[] mission_ids

# The minimum battery charge needed before we execute the missions
# Must be in the range 0-1
float32 min_battery

# If the missions take longer than this to execute, assume the schedule has failed and alert the user
# Set to zero to disable the timeout
duration timeout

# Is this schedule enabled?
# Only enabled schedules will execute
bool enabled

---

# The modified mission, as-saved on disk
clearpath_mission_scheduler_msgs/Schedule result

clearpath_navigation_msgs/srv/SetDelayCompensation.srv

# Service definition to enable/disable the delay compensation feature. If enabling, the delay to compensate for must be specified in the request.

bool enable_delay_compensation
uint16 delay # units: milliseconds
---
bool success
string message

clearpath_navigation_msgs/srv/SetPathSmoother.srv

# Service definition to enable/disable the path smoothing feature. If enabling, minimum turning radius must be specified in the request.

bool enable_path_smoother
float32 turn_radius # units: meters
float32 step_size
---
bool success
string message

clearpath_navigation_msgs/srv/SetStopDistance.srv

# Service definition to enable/disable the stop distance. If enabling, the stop distance must be specified in the request.

bool enable_stop_distance
float32 stop_distance # units: meters
---
bool success
string message

Standard ROS Services


Action Definitions

clearpath_camera_msgs/action/InspectPOI.action

# Action definition for inspecting a Point of Interest (POI) with a PTZ mounted on the Clearpth UGV

# goal
string poi_uuid
float32 zoom

---
# result
bool success
string message

---
# feedback
string message

clearpath_dock_msgs/action/LocalDock.action

# Action definition for undocking a Clearpath UGV from one of its charging docks.

# goal

---
# result
bool success
string message

---
# feedback
string message

clearpath_dock_msgs/action/LocalDock.action

# Action definition for undocking a Clearpath UGV from one of its charging docks.

# goal
float32 undock_distance

---
# result
bool success
string message

---
# feedback
string message

clearpath_dock_msgs/action/NetworkDock.action

# Action definition for undocking a Clearpath UGV from one of its charging docks.

# goal
string dock_uuid
string network_uuid

---
# result
bool success
string message

---
# feedback
string message
clearpath_navigation_msgs/NetworkMissionSegment network_plan

clearpath_dock_msgs/action/RadiusDock.action

# Action definition for undocking a Clearpath UGV from one of its charging docks.

# goal
string dock_uuid

---
# result
bool success
string message

---
# feedback
string message

clearpath_localization_msgs/action/SurveyBaseStation.action

# Action definition for surveying the base station

# goal
# the number of GPS fixes that will be used to compute to surveyed position
uint32 number_of_desired_fixes
---
# result
bool success
---
# feedback
# current progress, as a percentage, of the surveying
float32 percent_complete

clearpath_mission_scheduler_msgs/action/RunScheduleByUuid.action

# Action definition for executing a schedule on-demand
# Potentially only useful for debugging

# The UUID of the schedule to execute
string uuid

# Wait this long before starting the schedule (ros:Duration msg, so the units are secs/nsecs)
duration delay
---
# Did the schedule terminate successfully?
bool success
---
# The ID of the mission we're executing right now
string current_mission_uuid

# One of "waiting" or "executing" indicating what the schedule is doing
string state

clearpath_navigation_msgs/action/ExecuteMissionByUuid.action

# Action definition for executing a mission by uuid

# goal
string uuid # UUID of The mission being executed

# from_start = True -> Forces the mission to execute from the beginning
bool from_start

# If from_start = False, mission will be executed from the waypoint with UUID specified.
# If from_start = False and no start_waypoint_uuid is specified then autonomy will pick the closest waypoint
string start_waypoint_uuid
---
# result
bool success
---
# feedback
string state

clearpath_navigation_msgs/action/ExecuteNetworkGoTo.action

# Action definition for sending a mission to the Clearpath OutdoorNav software

# goal
string map_uuid
clearpath_navigation_msgs/Waypoint waypoint

---
# result

uint8 UNKNOWN = 0
uint8 CANCELLED = 1
uint8 COLLISION = 2
uint8 PLANNING = 3
uint8 START_TASKS = 4
uint8 END_TASKS = 5
uint8 MISSION_TASKS = 6
uint8 code

bool success
string message

---
# feedback
string message
clearpath_navigation_msgs/NetworkMissionSegment network_plan

clearpath_navigation_msgs/action/ExecuteNetworkMissionByUuid.action

# Action definition for executing a NetworkMission by uuid

# goal
string mission_uuid
string map_uuid

---
# result

uint8 UNKNOWN = 0
uint8 CANCELLED = 1
uint8 COLLISION = 2
uint8 PLANNING = 3
uint8 START_TASKS = 4
uint8 END_TASKS = 5
uint8 MISSION_TASKS = 6
uint8 code

bool success
string message
clearpath_navigation_msgs/NetworkGoalState[] goal_states

---
# feedback
string message
clearpath_navigation_msgs/NetworkGoalState[] goal_states
clearpath_navigation_msgs/NetworkMissionSegment network_plan

clearpath_navigation_msgs/action/Mission.action

# Action definition for sending a mission to the Clearpath OutdoorNav software

# goal
clearpath_navigation_msgs/Mission mission

# from_start = True -> Forces the mission to execute from the beginning
bool from_start

# If from_start = False, mission will be executed from the start_waypoint specified.
# If from_start = False and no start_waypoint is specified then autonomy will pick the closest waypoint
clearpath_navigation_msgs/Waypoint start_waypoint
---
# result
bool success
---
# feedback
string state

clearpath_navigation_msgs/action/NetworkGoToPOI.action

# Action definition for sending the Clearpath UGV to a Point of Interest (POI)

# goal
string poi_uuid
string map_uuid

---
# result
bool success
string message

---
# feedback
string message
clearpath_navigation_msgs/NetworkMissionSegment network_plan

clearpath_navigation_msgs/action/RecordPath.action

# Action definition for sending the Clearpath UGV to a Point of Interest (POI)

# goal
string poi_uuid
string map_uuid

---
# result
bool success
string message

---
# feedback
string message
clearpath_navigation_msgs/NetworkMissionSegment network_plan