Mission Manager API
The Mission Manager API allows creation, deletion, and modification of OutdoorNav missions. Mission data is stored in a databse-like structure on-disk. The web UI is the primary method of managing missions, but this service API provides the ability to write your own UI if desired.
Topics Exported by Mission Manager
mission_manager/network_maps_validity
Message Type: clearpath_mission_manager_msgs/msg/NetworkMapValidityState
Description: Latched topic that publishes the validity state of all network of paths maps defined on the robot.
mission_manager/state
Message Type: clearpath_mission_manager_msgs/msg/StorageState
Description: Latched topic that publishes the current database contents every time a change is made.
Services Exported by Mission Manager
mission_manager/add_network_edge
Service Type: clearpath_mission_manager_msgs/srv/AddNetworkEdge
Description: Adds an edge between two vertices in a network of paths map. Edges are unidirectional, but symmetrical
edges can be added by setting symmetrical
to true
.
mission_manager/add_network_path
Service Type: clearpath_mission_manager_msgs/srv/AddNetworkEdge
Description: Adds multiple points and edges to an existing network of paths map. Vertices are supplied in-order, with edges automatically added between adjacent vertices.
mission_manager/add_network_point
Service Type: clearpath_mission_manager_msgs/srv/AddNetworkPoint
Description: Adds a single vertex to a network of paths map. The new vertex can optionally be connected to existing vertices by specifying the connecting points' UUIDs.
mission_manager/add_task_to_waypoint
Service Type: clearpath_mission_manager_msgs/srv/AddRemoveById
Description: Add an existing Task to an existing Waypoint. If the position
parameter is negative the Task
is added to the end of the Waypoint's tasks
list.
mission_manager/add_waypoint_to_mission
Service Type: clearpath_mission_manager_msgs/srv/AddRemoveById
Description: Add an existing Waypoint to an existing Mission. If the position
parameter is negative the Waypoint
is added to the end of the Task's waypoints
list.
mission_manager/clone_mission
Service Type: clearpath_mission_manager_msgs/srv/CloneMission
Description: Create a deep-copy of a Mission. The new Mission will be given the provided name, or reuse the original
mission's name wth -copy
appended to the end if no name is provided. All Waypoints and their associated Tasks are also
deep-copied. If the reverse
parameter is set to true
the order of waypoints is reversed in the new mission.
In 0.8.0 onward, all missions are required to have unique names. If the specified name is not unique the cloning will
fail. Cloning a mission multiple times without specifying a unique name will add incrementing numbers to the suffix:
-copy
for the first, -copy1
for the second, -copy2
for the third, and so on.
The reverse
parameter was added in 0.9.0 and is not available in older versions.
mission_manager/clone_network_map
Service Type: clearpath_mission_manager_msgs/srv/CloneNetworkMap
Description: Create a deep-copy of a network of paths map
mission_manager/clone_network_mission
Service Type: clearpath_mission_manager_msgs/srv/CloneNetworkMission
Description: Create a deep-copy of a network of paths mission
mission_manager/clone_task
Service Type: clearpath_mission_manager_msgs/srv/GetTask
Description: Create a deep-copy of a Task.
mission_manager/clone_waypoint
Service Type: clearpath_mission_manager_msgs/srv/GetWaypoint
Description: Create a deep-copy of a Waypoint. The new Waypoint will be renamed to have -copy
at the end. All
Tasks in the original Waypoint are also duplicated.
mission_manager/create_mission
Service Type: clearpath_mission_manager_msgs/srv/CreateMission
Description: Create a new Mission.
In 0.8.0 onward, all missions are required to have unique names. Creating a mission with a duplicate mission will fail.
mission_manager/create_network_map
Service Type: clearpath_mission_manager_msgs/srv/CreateNetworkMap
Description: Create a new network of paths map
mission_manager/create_network_mission
Service Type: clearpath_mission_manager_msgs/srv/CreateNetworkMission
Description: Create a new network of paths mission
mission_manager/create_task
Service Type: clearpath_mission_manager_msgs/srv/CreateTask
Description: Create a new Task.
mission_manager/create_waypoint
Service Type: clearpath_mission_manager_msgs/srv/CreateWaypoint
Description: Create a new Waypoint.
mission_manager/delete_all
Service Type: clearpath_mission_manager_msgs/srv/DeleteEverything
Description: Delete everything in the database.
Use with extreme caution; this procedure cannot be undone.
mission_manager/delete_mission
Service Type: clearpath_mission_manager_msgs/srv/DeleteById
Description: Delete the Mission with the given ID. Waypoints that are included in this mission are not deleted, as they may be referenced by other Missions.
mission_manager/delete_missions
Service Type: clearpath_mission_manager_msgs/srv/DeleteMultiple
Description: Delete the missions with the given IDs. Waypoints that are part of these missions are not deleted, as they may be referenced by other Missions.
mission_manager/delete_network_edge
Service Type: clearpath_mission_manager_msgs/srv/AddRemoveById
Description: Delete an edge from a network of paths map
mission_manager/delete_network_edges
Service Type: clearpath_mission_manager_msgs/srv/DeleteMultiple
Description: Delete multiple edges from a network of paths map
mission_manager/delete_network_map
Service Type: clearpath_mission_manager_msgs/srv/DeleteById
Description: Delete a network of paths map. All vertices and edges contained within the map are also deleted.
mission_manager/delete_network_mission
Service Type: clearpath_mission_manager_msgs/srv/DeleteById
Description: Delete a network of paths mission
mission_manager/delete_network_point
Service Type: clearpath_mission_manager_msgs/srv/AddRemoveById
Description: Delete a vertex from a network of paths map. All edges that connect to this vertex at either end are also deleted.
mission_manager/delete_network_points
Service Type: clearpath_mission_manager_msgs/srv/DeleteMultiple
Description: Delete multiple vertices from a network of paths map. All edges that connect to the deleted vertices are also deleted.
mission_manager/delete_orphan_objects
Service Type: clearpath_mission_manager_msgs/srv/DeleteEverything
Description: Delete all Waypoints that are not referenced by any Missions and all Tasks that are not referenced by any Waypoints.
Use with caution; deleted items cannot be recovered.
mission_manager/delete_task
Service Type: clearpath_mission_manager_msgs/srv/DeleteById
Description: Delete the Task with the given ID. Any Waypoints that reference the deleted Task will be modified to omit this Task once it is deleted.
mission_manager/delete_tasks
Service Type: clearpath_mission_manager_msgs/srv/DeleteMultiple
Description: Delete the tasks with the given IDs.
mission_manager/delete_waypoint
Service Type: clearpath_mission_manager_msgs/srv/DeleteById
Description: Delete the Waypoint with the given ID. Tasks that are included in this mission are not deleted, as they may be referenced by other Waypoints. Any Missions that reference the deleted Waypoint will be modified to omit this Waypoint once it is deleted.
mission_manager/delete_waypoints
Service Type: clearpath_mission_manager_msgs/srv/DeleteMultiple
Description: Delete the Waypoints with the given IDs. Tasks that are part of these Waypoints are not deleted, as they may be referenced by other Waypoints.
mission_manager/export
Service Type: clearpath_mission_manager_msgs/srv/ExportData
Description: Export the database so its contents can be restored later using the mission_manager/restore
service
or merged with other data using the mission_manager/import
service.
The data returned in a JSON string representing the underlying storage file's contents.
mission_manager/get_all
Service Type: clearpath_mission_manager_msgs/srv/GetEverything
Description: Get the entire contents of the database, including all Missions, Tasks, and Waypoints.
If you need to maintain an up-to-date copy of the database state, rather than calling this service repeatedly you
should subscribe to the mission_manager/state
topic.
mission_manager/get_all_missions
Service Type: clearpath_mission_manager_msgs/srv/GetAllMissions
Description: Get all Missions defined in the database.
mission_manager/get_all_network_maps
Service Type: clearpath_mission_manager_msgs/srv/GetAllNetworkMaps
Description: Get all network of paths maps defined in the database.
mission_manager/get_all_network_missions
Service Type: clearpath_mission_manager_msgs/srv/GetAllNetworkMissions
Description: Get all network of paths missions defined in the database.
mission_manager/get_all_tasks
Service Type: clearpath_mission_manager_msgs/srv/GetAllTasks
Description: Get all Tasks defined in the database.
mission_manager/get_all_waypoints
Service Type: clearpath_mission_manager_msgs/srv/GetAllWaypoints
Description: Get all Waypoints defined in the database.
mission_manager/get_mission
Service Type: clearpath_mission_manager_msgs/srv/GetMission
Description: Get the Mission with the specified ID.
mission_manager/get_network_map
Service Type: clearpath_mission_manager_msgs/srv/GetNetworkMap
Description: Get the network of paths map with the specified ID.
mission_manager/get_network_mission
Service Type: clearpath_mission_manager_msgs/srv/GetNetworkMission
Description: Get the network of paths mission with the specified ID.
mission_manager/get_task
Service Type: clearpath_mission_manager_msgs/srv/GetTask
Description: Get the Task with the specified ID.
mission_manager/get_waypoint
Service Type: clearpath_mission_manager_msgs/srv/GetWaypoint
Description: Get the Waypoint with the specified ID.
mission_manager/import
Service Type: clearpath_mission_manager_msgs/srv/ImportData
Description: Add existing Missions, Tasks, and Waypoints to the database.
All imported Missions, Tasks, and Waypoints are added to the existing database. Items whose UUIDs already exist will be skipped & the existing copies re-used. This allows you to copy all mission objects from one robot to another.
To delete all data and restore a backup, instead of merging with existing data, use the /mission_manager/restore
service instead.
mission_manager/import_mission
Service Type: clearpath_mission_manager_msgs/srv/ImportMission
Description: Add existing Mission to the database. All UUIDs will be regenerated.
mission_manager/remove_task_from_waypoint
Service Type: clearpath_mission_manager_msgs/srv/AddRemoveById
Description: Remove a Task from a Waypoint. All instances of the Task are removed from the given Waypoint.
mission_manager/remove_waypoint_from_mission
Service Type: clearpath_mission_manager_msgs/srv/AddRemoveById
Description: Remove a Waypoint from a Mission. All instances of the Waypoint are removed from the given Mission.
mission_manager/restore
Service Type: clearpath_mission_manager_msgs/srv/ImportData
Description: Overwite the database contents with data generated by the mission_manager/export
service. This is
intended to be used to restore a backup of the missions and roll the database back to an earlier state.
All existing Missions, Tasks and Waypoints are deleted permanently and the entire database contents are replaced with the imported data.
To merge the data with the existing database, without deleting existing data, use the /mission_manager/import
service instead.
mission_manager/split_network_edge
Service Type: clearpath_mission_manager_msgs/srv/SplitNetworkEdge
Description: Split an edge of network of paths map to create 2 edges connected to a new vertex between them. If
symmetrical
is set to true
the new edges will be bidirectional, otherwise only the edge going in one direction is
split.
mission_manager/update_mission
Service Type: clearpath_mission_manager_msgs/srv/UpdateMission
Description: Modify a Mission. All attributes of the Mission are replaced with the provided values.
In 0.8.0 onward, all missions are required to have unique names. Assigning a name that is already in-use will result in an error.
mission_manager/update_network_edge
Service Type: clearpath_mission_manager_msgs/srv/UpdateNetworkEdge
Description: Modify a network of paths edge
mission_manager/update_network_edges
Service Type: clearpath_mission_manager_msgs/srv/UpdateNetworkEdges
Description: Modify multiple network of paths edges
mission_manager/update_network_map
Service Type: clearpath_mission_manager_msgs/srv/UpdateNetworkEdge
Description: Modify a network of paths map
mission_manager/update_network_mission
Service Type: clearpath_mission_manager_msgs/srv/UpdateNetworkMission
Description: Modify a network of paths map
mission_manager/update_network_point
Service Type: clearpath_mission_manager_msgs/srv/UpdateNetworkPoint
Description: Modify a network of paths vertex
mission_manager/update_network_points
Service Type: clearpath_mission_manager_msgs/srv/UpdateNetworkPoints
Description: Modify multiple network of paths vertices
mission_manager/update_task
Service Type: clearpath_mission_manager_msgs/srv/UpdateTask
Description: Modify a Task. All attributes of the Task are replaced with the provided values.
mission_manager/update_waypoint
Service Type: clearpath_mission_manager_msgs/srv/UpdateWaypoint
Description: Modify a Waypoint. All attributes of the Waypoint are replaced with the provided values.
mission_manager/validate_network_map
Service Type: clearpath_mission_manager_msgs/srv/ValidateNetworkMap
Description: Manually run the network of paths validation on a specific map.