Skip to content

Carti

These endpoints and their message types are only available for the Carti robot family. Attempting to run a Carti commands on a non Carti robot will result in an INVALID_ARGUMENT error.


CreateMission

Use the shared CreateMission endpoint to send missions for Carti robots. Carti-specific missions must be sent using the appropriate request message format.

Note

When sending a Carti mission, carti.Feedback is returned in SubscribeMissionStatus response message.

carti.Feedback enum
Name Number Description
STATUS_UNKNOWN 0 Default value. It means status field is not returned.
STATUS_NAVIGATING 1 The robot is currently navigating to its goal.
STATUS_ARRIVED 2 The robot has arrived at a goal.
STATUS_DOCKING 3 The robot is performing a docking maneuver.
STATUS_UNDOCKING 4 The robot is performing an undocking maneuver.

Request

robot_id string required

The ID of the robot that will receive this command.

mission Mission required

Universal wrapper for mission types. Only one mission type may be set at a time.

Field (oneof) Message Type Description
base_mission BaseMission Base missions are applicable to all robot families.
Refer to Mission for how to create and send a base mission.
servi_mission servi.Mission Servi missions are specific to the Servi robot family.
Refer to Servi for how to create and send a servi mission.
carti_mission carti.Mission Carti missions are specific to the Carti robot family.
carti_mission carti.Mission

Use the field carti_mission to create and send a mission. Current API version supports 2 types of Carti missions.

Field (oneof) Message Type Description
traverse_mission TraverseMission Create a carti mission of type Traverse.
traverse_patrol_mission TraversePatrolMission Create a carti mission of type TraversePatrol.

TraverseMission
A traverse mission that navigates to one or more goals, stopping at each for a set amount of time or until directed to continue.

Field Message Type Description
goals repeated Goal
required
a list of Goal
params TraverseParams
optional
There is no param defined in this API version.

TraversePatrolMission
A traverse patrol mission that navigates to one or more goals and continuously loops through the goals, stopping at each for a set amount of time or until directed to continue.

Field Message Type Description
goals repeated Goal
required
a list of Goal
params TraversePatrolParam
optional
There is no param defined in this API version.
JSON Request Example
  {
    "robotId": "carti-001",
    "mission": {
      "cartiMission": {
        "traverseMission": {
          "goals": [
            { "destinationId": "room-a" },
            { "destinationId": "room-b" }
          ],
          "params": {}
        }
      }
    }
  }

Response

mission_id string

The ID of the mission created.

JSON Response Example
  {
    "missionId": "mission-abc123"
  }

Errors

ErrorCode Description
INVALID_ARGUMENT This command is sending to is not a Carti family robot.
FAILED_PRECONDITION The robot is already executing another mission.
This command is valid if current mission is in terminal state,
e.g Cancelled, Succeeded, Failed.