Skip to main content

Missions

Spot's autonomous mission functionality is exposed via the Rocos Agent. The Autowalk creation process using the Boston Dynamics tablet app is something that many users will be familiar with. The underlying sequence of instructions that Spot carries out during an Autowalk is defined with the Boston Dynamics mission format. Documentation on this format can be found here.

Data Model

Services

  • answerQuestion: if Spot encounters a problem during a mission which requires user input to determine the next step, this service can be used to provide this user input. Any questions that Spot requires to have answered will be published on the telemetry topic questionsToAnswer . The questionID and code are required for this service call. The questionID and options for the code will be provided in the questionsToAnswer telemetry message. This allows a user to make a choice on how Spot should continue. If there is only one option for the question asked, and you do not see a number for the code, simply enter 0 into the answerQuestion service call with the correct questionID.
  • downloadMissionFromSpot: this will download the mission and return the mission root node serialized into the gRPC proto wire format and encoded as a base64 string.
  • downloadMissionFromSpotAndWriteToDisk: this will download the mission and save it to disk with the name provided as input. From this point on it can be re-uploaded to Spot. The disk storage will persist across reboots of the computer running the Rocos Agent. For most users this computer will be the Spot CORE.
  • getIDOfCurrentMission: this returns the unique ID of the mission currently loaded on Spot.
  • getInfo: this provides the mission structure of the mission currently loaded on Spot.
  • getState: this provides the current state of Spot's mission service. This contains especially useful information when a mission is in progress.
  • pauseMission: pauses the running mission on Spot. The mission can then be resumed by calling playMission or restarted by calling restartMission.
  • playMission: starts the mission loaded on Spot.
  • readMissionFromDiskAndUploadToSpot: reads the mission saved to disk specified by the name provided as input. This is then uploaded to Spot. The mission can then be run.
  • restartMission: restarts the mission loaded on Spot.
  • stopMission: stops the mission running on Spot. The mission cannot then be resumed from the same point. Calling playMission or restartMission will both result in the mission running from the beginning. A service call to pauseMission instead allows the mission to be resumed.
  • uploadMissionToSpot: this service call expects the mission root node input to be serialized into the gRPC proto wire format and encoded as a base64 string. It will then be decoded and uploaded to Spot. The mission can then be run.

Telemetry:

  • finalMissionReport: the mission report sent once on mission completion. It contains information such as the nodes which were run by Spot, any questions Spot asked, as well as whether or not the mission was completed successfully.
  • liveMissionReport: the live report which is sent periodically (every second) while a mission is in progress.
  • missionFailed: sent once on mission completion if the mission was not completed successfully.
  • missionInfo: the mission info containing the mission status as well as a list of node states, running nodes, and nodes in error states. Each list contains the information only for nodes that are currently running.
  • missionSuccess: sent once on mission completion if the mission was completed successfully.
  • missionStart: sent once on mission start.
  • missionsSavedToDisk: a list of all of the mission names that are stored to disk as well as diagnostic information such as the Spot software version at the time the mission was saved.
  • questionsToAnswer: if Spot encounters a problem during a mission which requires user input to determine the next step, the question asked will be published here.