Protobuf Documentation

PLEASE NOTE: The Vector Python SDK is supported by Anki. Using protocol buffer messages directly is not supported. The proto messages are subject to change without warning. Use with caution.

Table of Contents

anki_vector/messaging/behavior.proto

Top

BehaviorControlRequest

Messages that can be sent to the behavior stream. Explicitly requesting or releasing control.

FieldTypeDescription
control_release ControlRelease

Release control of the behavior system back to Vector.

control_request ControlRequest

Request control of the behavior system for the SDK.

BehaviorControlResponse

Responses from the behavior stream.

FieldTypeDescription
control_granted_response ControlGrantedResponse

The SDK user is now free to directly control Vector.

control_lost_event ControlLostResponse

Control of the behavior system has been lost to a higher priority behavior.

keep_alive KeepAlivePing

Used by Vector to verify the connection is still alive.

reserved_control_lost_event ReservedControlLostResponse

Behavior system lock has been lost to another connection

ControlGrantedResponse

The SDK user is now free to run any actions and behaviors they like. Until a ControlLostResponse is received, they are directly in control of Vector's behavior system.

ControlLostResponse

This informs the user that they lost control of the behavior system. All direct actions will be unavailable via the sdk until control is regained. Regaining control can be either through a call to ControlRequest, or can be as a result of conditions passed to the original ControlRequest.

ControlRelease

Tell the behavior stream to release control from the SDK. The stream may stay alive, but Vector will be allowed to run his normal behaviors.

ControlRequest

Request control of the behavior system at a given priority. Currently there is only one priority level.

FieldTypeDescription
priority ControlRequest.Priority

Where in the behavior tree the SDK code should be executed.

ReservedControlLostResponse

The ability to reserve control before/after SDK scripts has been lost. This control can be regained through another ControlRequest.

ControlRequest.Priority

Where in the behavior tree the SDK code should be executed.

NameNumberDescription
UNKNOWN 0

Unknown priority. Used for versions that don't understand old priority levels.

OVERRIDE_BEHAVIORS 10

Highest priority level. Suppresses most automatic physical reactions, use with caution.

DEFAULT 20

Normal priority level. Directly under mandatory physical reactions.

RESERVE_CONTROL 30

Enable long-running SDK control between script execution. Not to be used for regular behavior control.

anki_vector/messaging/cube.proto

Top

ConnectCubeRequest

Attempt to connect to a cube. If a cube is currently connected, this will do nothing.

ConnectCubeResponse

FieldTypeDescription
status ResponseStatus

success bool

object_id uint32

factory_id string

CreateFixedCustomObjectRequest

Creates a CustomObject at the specific pose with no markers associated with it Since this object has no markers with which to be observed, it will remain in the specified pose as an obstacle forever (or until deleted with a deletion message above)

FieldTypeDescription
pose PoseStruct

x_size_mm float

y_size_mm float

z_size_mm float

CreateFixedCustomObjectResponse

FieldTypeDescription
status ResponseStatus

object_id uint32

CubeConnectionLost

Indicates that a the connection subscribed through ConnectCube has been lost.

CubesAvailableRequest

CubesAvailableResponse

FieldTypeDescription
status ResponseStatus

factory_ids string repeated

CustomBoxDefinition

Defines a custom object of the given size with the given markers centered on each side If isUnique=true, there is guaranteed to be no more than one object of this type present in the world

FieldTypeDescription
marker_front CustomObjectMarker

marker_back CustomObjectMarker

marker_top CustomObjectMarker

marker_bottom CustomObjectMarker

marker_left CustomObjectMarker

marker_right CustomObjectMarker

x_size_mm float

y_size_mm float

z_size_mm float

marker_width_mm float

marker_height_mm float

CustomCubeDefinition

Defines a custom cube of the given size. The cube will have the same marker centered on all faces. If isUnique=true, there is guaranteed to be no more than one cube of this type present in the world at a time.

FieldTypeDescription
marker CustomObjectMarker

size_mm float

marker_width_mm float

marker_height_mm float

CustomWallDefinition

Defines a custom wall of the given height and width, with the same marker centered on both sides (front and back). The wall's thickness is assumed to be 1cm (and thus there are no markers on its left, right, top, or bottom) If isUnique=true, there is guaranteed to be no more than one wall of this type present in the world at a time.

FieldTypeDescription
marker CustomObjectMarker

width_mm float

height_mm float

marker_width_mm float

marker_height_mm float

DefineCustomObjectRequest

FieldTypeDescription
custom_type CustomType

is_unique bool

custom_box CustomBoxDefinition

custom_cube CustomCubeDefinition

custom_wall CustomWallDefinition

DefineCustomObjectResponse

FieldTypeDescription
status ResponseStatus

success bool

DeleteCustomObjectsRequest

Deletes all custom objects matching a given deletion mode.

FieldTypeDescription
mode CustomObjectDeletionMode

DeleteCustomObjectsResponse

FieldTypeDescription
status ResponseStatus

DisconnectCubeRequest

Requests a disconnection from the currently connected cube.

DisconnectCubeResponse

FieldTypeDescription
status ResponseStatus

FlashCubeLightsRequest

Plays the default cube connection animation on the currently connected cube's lights. This is intended for app level user surfacing of cube connectivity, not for sdk cube light control.

FlashCubeLightsResponse

FieldTypeDescription
status ResponseStatus

ForgetPreferredCubeRequest

Forget the robot's preferred cube. This will cause the robot to connect to the cube with the highest RSSI (signal strength) next time a connection is requested. Saves this preference to disk. The next cube that the robot connects to will become its preferred cube.

ForgetPreferredCubeResponse

FieldTypeDescription
status ResponseStatus

ObjectAvailable

FieldTypeDescription
factory_id string

ObjectConnectionState

Indicates that a cube has connected or disconnected to the robot. This message will be sent for any connects or disconnects regardless of whether it originated from us or underlying robot behavior.

FieldTypeDescription
object_id uint32

factory_id string

object_type ObjectType

connected bool

ObjectEvent

FieldTypeDescription
object_available ObjectAvailable

object_connection_state ObjectConnectionState

object_moved ObjectMoved

object_stopped_moving ObjectStoppedMoving

object_up_axis_changed ObjectUpAxisChanged

object_tapped ObjectTapped

robot_observed_object RobotObservedObject

cube_connection_lost CubeConnectionLost

ObjectMoved

FieldTypeDescription
timestamp uint32

object_id uint32

ObjectStoppedMoving

FieldTypeDescription
timestamp uint32

object_id uint32

ObjectTapped

FieldTypeDescription
timestamp uint32

object_id uint32

ObjectUpAxisChanged

FieldTypeDescription
timestamp uint32

object_id uint32

up_axis UpAxis

RobotObservedObject

RobotObservedObject for signaling that an object with specified ID/Type was seen at a particular location in the image and the world

FieldTypeDescription
timestamp uint32

object_family ObjectFamily

ObjectFamily is deprecated. Use ObjectType instead to reason about groupings of objects.

object_type ObjectType

object_id int32

signed to match U2G::PickAndPlaceObject which has the option to have objectID<0

img_rect CladRect

position in image coords

pose PoseStruct

top_face_orientation_rad float

absolute orienation of top face, iff isActive==true

is_active uint32

SetCubeLightsRequest

Sets each LED on victor's cube. Two states are specified designated 'on' and 'off', each with a color, duration, and state transition time

FieldTypeDescription
object_id uint32

on_color uint32 repeated

off_color uint32 repeated

on_period_ms uint32 repeated

off_period_ms uint32 repeated

transition_on_period_ms uint32 repeated

transition_off_period_ms uint32 repeated

offset int32 repeated

relative_to_x float

relative_to_y float

rotate bool

make_relative SetCubeLightsRequest.MakeRelativeMode

SetCubeLightsResponse

FieldTypeDescription
status ResponseStatus

SetPreferredCubeRequest

Set the robot's preferred cube and save it to disk. The robot will always attempt to connect to this cube if it is available. This is only used in simulation for now.

FieldTypeDescription
factory_id string

SetPreferredCubeResponse

FieldTypeDescription
status ResponseStatus

CustomObjectDeletionMode

NameNumberDescription
DELETION_MASK_UNKNOWN 0

DELETION_MASK_FIXED_CUSTOM_OBJECTS 1

DELETION_MASK_CUSTOM_MARKER_OBJECTS 2

DELETION_MASK_ARCHETYPES 3

CustomObjectMarker

NameNumberDescription
CUSTOM_MARKER_UNKNOWN 0

CUSTOM_MARKER_CIRCLES_2 1

CUSTOM_MARKER_CIRCLES_3 2

CUSTOM_MARKER_CIRCLES_4 3

CUSTOM_MARKER_CIRCLES_5 4

CUSTOM_MARKER_DIAMONDS_2 5

CUSTOM_MARKER_DIAMONDS_3 6

CUSTOM_MARKER_DIAMONDS_4 7

CUSTOM_MARKER_DIAMONDS_5 8

CUSTOM_MARKER_HEXAGONS_2 9

CUSTOM_MARKER_HEXAGONS_3 10

CUSTOM_MARKER_HEXAGONS_4 11

CUSTOM_MARKER_HEXAGONS_5 12

CUSTOM_MARKER_TRIANGLES_2 13

CUSTOM_MARKER_TRIANGLES_3 14

CUSTOM_MARKER_TRIANGLES_4 15

CUSTOM_MARKER_TRIANGLES_5 16

CUSTOM_MARKER_COUNT 16

CustomType

NameNumberDescription
INVALID_CUSTOM_TYPE 0

CUSTOM_TYPE_00 1

CUSTOM_TYPE_01 2

CUSTOM_TYPE_02 3

CUSTOM_TYPE_03 4

CUSTOM_TYPE_04 5

CUSTOM_TYPE_05 6

CUSTOM_TYPE_06 7

CUSTOM_TYPE_07 8

CUSTOM_TYPE_08 9

CUSTOM_TYPE_09 10

CUSTOM_TYPE_10 11

CUSTOM_TYPE_11 12

CUSTOM_TYPE_12 13

CUSTOM_TYPE_13 14

CUSTOM_TYPE_14 15

CUSTOM_TYPE_15 16

CUSTOM_TYPE_16 17

CUSTOM_TYPE_17 18

CUSTOM_TYPE_18 19

CUSTOM_TYPE_19 20

CUSTOM_TYPE_COUNT 20

ObjectConstants

Constants associated with the audio feed

NameNumberDescription
OBJECT_CONSTANTS_NULL 0

error value

FIXED_CUSTOM_WALL_THICKNESS_MM 10

The depth of custom walls used in the engine

ObjectFamily

Note: ObjectFamily is deprecated and will be removed in future releases

NameNumberDescription
INVALID_FAMILY 0

UNKNOWN_FAMILY 1

BLOCK 2

LIGHT_CUBE 3

CHARGER 4

CUSTOM_OBJECT 7

OBJECT_FAMILY_COUNT 7

ObjectType

NameNumberDescription
INVALID_OBJECT 0

UNKNOWN_OBJECT 1

BLOCK_LIGHTCUBE1 2

Light Cube (a.k.a. Active Block)

CHARGER_BASIC 6

FIRST_CUSTOM_OBJECT_TYPE 15

SetCubeLightsRequest.MakeRelativeMode

This is a uint_8 internally.

NameNumberDescription
UNKNOWN 0

OFF 1

BY_CORNER 2

BY_SIDE 3

UpAxis

NameNumberDescription
INVALID_AXIS 0

X_NEGATIVE 1

X_POSITIVE 2

Y_NEGATIVE 3

Y_POSITIVE 4

Z_NEGATIVE 5

Z_POSITIVE 6

NUM_AXES 7

anki_vector/messaging/extensions.proto

Top

File-level Extensions

ExtensionTypeBaseNumberDescription
streamed bool .google.protobuf.MessageOptions 60000

anki_vector/messaging/external_interface.proto

Top

ProtocolVersion

The valid versions of the protocol.

Protocol versions are updated when messages change significantly: new ones are added and removed, fields deprecated, etc.

The goal is to support as many old versions as possible, only bumping the minimum when there is no way to handle a prior version.

NameNumberDescription
PROTOCOL_VERSION_UNKNOWN 0

Required zero value for enums

PROTOCOL_VERSION_MINIMUM 0

Minimum supported version

PROTOCOL_VERSION_CURRENT 5

Current version (incremented on 2019.03.12 for streaming update status support.)

ExternalInterface

The grpc-defined connection between the SDK and Anki's Vector robot.

Method NameDescription
ProtocolVersion

Checks the supported protocol version by passing in the client version and minimum host version and receiving a response to see whether the versions are supported.

SDKInitialization

SDK-only message to pass version info for device OS, Python version, etc.

DriveWheels

Sets the speed and acceleration for Vector's wheel motors.

PlayAnimationTrigger

Requests that Vector play an animation trigger.

PlayAnimation

Requests that Vector play an animation.

ListAnimations

Constructs and returns a list of animations.

ListAnimationTriggers

Constructs and returns a list of animation triggers.

MoveHead

Moves Vector's head.

MoveLift

Moves Vector's lift.

StopAllMotors

Stop all motor commands requested: MoveHead, MoveLift and DriveWheels.

DisplayFaceImageRGB

Sets screen (Vector's face) to a solid color.

EventStream

Streaming events endpoint

ExternalAudioStreamPlayback

Play audio using Vector's speaker

BehaviorControl

Integrate with and acquire control of Vector's AI system.

AssumeBehaviorControl

Acquire control of Vector's AI system.

CancelFaceEnrollment

RequestEnrolledNames

Get a list of names and their IDs.

UpdateEnrolledFaceByID

Update the name enrolled for a given face.

EraseEnrolledFaceByID

Erase the enrollment (name) record for the face with this ID.

EraseAllEnrolledFaces

Erase the enrollment (name) records for all faces.

SetFaceToEnroll

EnableMarkerDetection

EnableFaceDetection

EnableMotionDetection

EnableMirrorMode

EnableImageStreaming

IsImageStreamingEnabled

CancelActionByIdTag

Cancel action by id

GoToPose

Tells Vector to drive to the specified pose and orientation.

DockWithCube

Tells Vector to dock with a light cube with a given approach angle and distance.

DriveOffCharger

Drive Vector off the charger.

DriveOnCharger

Drive Vector onto the charger.

FindFaces

Make Vector look for faces by turning and angling his head

LookAroundInPlace

Make Vector look around in place by turning and moving his head

RollBlock

Make Vector roll his block, regardless of relative position and orientation

PhotosInfo

Get the photos info.

Photo

Get a photo by ID.

Thumbnail

Get a thumbnail by ID.

DeletePhoto

Delete a photo by ID.

DriveStraight

Tells Vector to drive in a straight line.

TurnInPlace

Turn the robot around its current position.

SetHeadAngle

Tell Vector's head to move to a given angle.

SetLiftHeight

Tell Vector's lift to move to a given height.

TurnTowardsFace

Tell Vector to turn towards this face.

GoToObject

Tell Vector to drive to the specified object.

RollObject

Tell Vector to roll his cube.

PopAWheelie

Tell Vector to "pop a wheelie" using his cube.

PickupObject

Instruct the robot to pick up the supplied object.

PlaceObjectOnGroundHere

Ask Vector to place the object he is carrying on the ground at the current location.

SetMasterVolume

Set the Robot's master volume

UserAuthentication

BatteryState

Check the current state of the battery.

VersionState

Get the versioning information for Vector.

SayText

Make Vector speak text.

ConnectCube

Attempt to connect to a cube. If a cube is currently connected, this will do nothing.

DisconnectCube

Requests a disconnection from the currently connected cube.

CubesAvailable

FlashCubeLights

Signal a connected cube to flash its lights using the default cube flash animation.

ForgetPreferredCube

Forget the robot's preferred cube. This will cause the robot to connect to the cube with the highest RSSI (signal strength) next time a connection is requested. Saves this preference to disk. The next cube that the robot connects to will become its preferred cube.

SetPreferredCube

Set the robot's preferred cube and save it to disk. The robot will always attempt to connect to this cube if it is available. This is only used in simulation for now.

DeleteCustomObjects

Causes the robot to forget about custom objects it currently knows about.

CreateFixedCustomObject

Creates a permanent custom object instance in the robot's world, with no connection to the vision system.

DefineCustomObject

Creates a custom object with distinct custom marker(s).

SetCubeLights

Set each of the lights on the currently connected cube based on two rgb values each and timing data for how to transition between them.

AudioFeed

Request an audio feed from the robot.

CameraFeed

Request a camera feed from the robot.

CaptureSingleImage

Request a single image to be captured and sent from the robot.

SetEyeColor

Set Vector's eye color.

NavMapFeed

Stream navigation map data.

AppIntent

GetOnboardingState

SendOnboardingInput

GetLatestAttentionTransfer

PullJdocs

UpdateSettings

UpdateAccountSettings

StartUpdateEngine

StartUpdateEngine cycles the update-engine service (to start a new check for an update) and sets up a stream of UpdateStatusResponse Events.

CheckUpdateStatus

CheckUpdateStatus tells if the robot is ready to reboot and update.

UpdateAndRestart

CheckCloudConnection

GetFeatureFlag

GetFeatureFlagList

GetAlexaAuthState

AlexaOptIn

anki_vector/messaging/messages.proto

Top

AccelData

All values are in mm/s^2.

FieldTypeDescription
x float

y float

z float

ActionResult

These codes are duplicated from actionResults.clad file and need to be kept in sync The possible results of running an action.

FieldTypeDescription
code ActionResult.ActionResultCode

Animation

An animation object.

FieldTypeDescription
name string

The name of a given animation.

AnimationTrigger

An animation trigger object.

FieldTypeDescription
name string

The name of a given animation trigger.

AppDisconnected

AppIntentRequest

FieldTypeDescription
intent string

param string

AppIntentResponse

FieldTypeDescription
status ResponseStatus

AttentionTransfer

FieldTypeDescription
reason AttentionTransferReason

seconds_ago float

AudioChunk

One frame of robot audio data and associated metadata

FieldTypeDescription
robot_time_stamp uint32

robot time at the final chunk of this audio sample group transmission

group_id uint32

the id of this sample transmission group

chunk_id uint32

the current batched chunk id within in this group id

audio_chunk_count uint32

number of chunks batched within this group id

signal_power bytes

mono audio amplitude samples

direction_strengths bytes

histogram data of which directions this audio chunk came from

source_direction uint32

0-11, with 12 representing "invalid"

source_confidence uint32

accuracy of the calculated source_direction

noise_floor_power uint32

power value, convert to db with log_10(value)

AudioFeedRequest

Request the robot to send audio data

AudioFeedResponse

Streamed audio data from the robot

FieldTypeDescription
robot_time_stamp uint32

robot time at the transmission of this audio sample group

group_id uint32

the index of this audio feed response

signal_power bytes

mono audio amplitude samples

direction_strengths bytes

histogram data of which directions this audio chunk came from

source_direction uint32

0-11, with 12 representing "invalid"

source_confidence uint32

accuracy of the calculated source_direction

noise_floor_power uint32

power value, convert to db with log_10(value)

AudioSendModeChanged

Event sent when the robot changes the mode it's processing and sending audio

FieldTypeDescription
mode AudioProcessingMode

AudioSendModeRequest

Request how the robot should process and send audio

FieldTypeDescription
mode AudioProcessingMode

BatteryStateRequest

BatteryStateResponse

FieldTypeDescription
status ResponseStatus

battery_level BatteryLevel

battery_volts float

is_charging bool

is_on_charger_platform bool

suggested_charger_sec float

cube_battery CubeBattery

CameraFeedRequest

CameraFeedResponse

FieldTypeDescription
frame_time_stamp uint32

image_id uint32

image_encoding ImageChunk.ImageEncoding

data bytes

CancelActionByIdTagRequest

Cancel a previously-requested action. Action requests include GoToPoseRequest, DockWithCubeRequest, DriveStraightRequest, TurnInPlaceRequest, SetHeadAngleRequest, and SetLiftHeightRequest.

FieldTypeDescription
id_tag uint32

Use the id_tag provided to the action request

CancelActionByIdTagResponse

Response from the robot to CancelActionByIdTagRequest.

FieldTypeDescription
status ResponseStatus

A generic status.

CancelFaceEnrollmentRequest

CancelFaceEnrollmentResponse

FieldTypeDescription
status ResponseStatus

CaptureSingleImageRequest

CaptureSingleImageResponse

FieldTypeDescription
status ResponseStatus

frame_time_stamp uint32

image_id uint32

image_encoding ImageChunk.ImageEncoding

data bytes

CheckCloudRequest

CheckCloudResponse

FieldTypeDescription
status ResponseStatus

code CheckCloudResponse.ConnectionCode

status_message string

num_packets int32

expected_packets int32

CheckUpdateStatusRequest

CheckUpdateStatusResponse

FieldTypeDescription
status ResponseStatus

update_status CheckUpdateStatusResponse.UpdateStatus

expected int64

progress int64

update_version string

CladPoint

FieldTypeDescription
x float

y float

CladRect

FieldTypeDescription
x_top_left float

y_top_left float

width float

height float

CubeBattery

FieldTypeDescription
level CubeBattery.CubeBatteryLevel

factory_id string

battery_volts float

time_since_last_reading_sec float

DeletePhotoRequest

FieldTypeDescription
photo_id uint32

DeletePhotoResponse

FieldTypeDescription
status ResponseStatus

success bool

DisplayFaceImageRGBRequest

See DisplayFaceImageRGB rpc for more details.

FieldTypeDescription
face_data bytes

The image to render.

duration_ms uint32

How long to display the image on the face.

interrupt_running bool

If this image should overwrite any current images on the face.

DisplayFaceImageRGBResponse

See DisplayFaceImageRGB rpc for more details.

FieldTypeDescription
status ResponseStatus

A generic status.

DockWithCubeRequest

FieldTypeDescription
object_id int32

distance_from_marker_mm float

approach_angle_rad float

alignment_type AlignmentType

use_approach_angle bool

use_pre_dock_pose bool

motion_prof PathMotionProfile

id_tag int32

num_retries int32

DockWithCubeResponse

FieldTypeDescription
status ResponseStatus

result ActionResult

DriveOffChargerRequest

DriveOffChargerResponse

FieldTypeDescription
status ResponseStatus

result BehaviorResults

DriveOnChargerRequest

DriveOnChargerResponse

FieldTypeDescription
status ResponseStatus

result BehaviorResults

DriveStraightRequest

FieldTypeDescription
speed_mmps float

Speed should be positive

dist_mm float

Use +ve for forward, -ve for backward

should_play_animation bool

id_tag int32

num_retries int32

DriveStraightResponse

FieldTypeDescription
status ResponseStatus

result ActionResult

DriveWheelsRequest

See the DriveWheels rpc for more details.

FieldTypeDescription
left_wheel_mmps float

right_wheel_mmps float

left_wheel_mmps2 float

right_wheel_mmps2 float

DriveWheelsResponse

See the DriveWheels rpc for more details.

FieldTypeDescription
status ResponseStatus

A generic status.

EnableFaceDetectionRequest

When enabled, RobotObservedFace messages will be produced

FieldTypeDescription
enable bool

enable_smile_detection bool

enable_expression_estimation bool

enable_blink_detection bool

enable_gaze_detection bool

EnableFaceDetectionResponse

FieldTypeDescription
status ResponseStatus

EnableImageStreamingRequest

Toggle image streaming at the given resolution

FieldTypeDescription
enable bool

EnableImageStreamingResponse

FieldTypeDescription
status ResponseStatus

EnableMarkerDetectionRequest

When enabled, RobotObservedObject messages will be produced

FieldTypeDescription
enable bool

EnableMarkerDetectionResponse

FieldTypeDescription
status ResponseStatus

EnableMirrorModeRequest

When enabled, camera feed will appear on the robot's face, along with any detections that are enabled from above messages

FieldTypeDescription
enable bool

EnableMirrorModeResponse

FieldTypeDescription
status ResponseStatus

EnableMotionDetectionRequest

When enabled, RobotObservedMotion messages will be produced

FieldTypeDescription
enable bool

EnableMotionDetectionResponse

FieldTypeDescription
status ResponseStatus

EraseAllEnrolledFacesRequest

EraseAllEnrolledFacesResponse

FieldTypeDescription
status ResponseStatus

EraseEnrolledFaceByIDRequest

FieldTypeDescription
face_id int32

EraseEnrolledFaceByIDResponse

FieldTypeDescription
status ResponseStatus

ExternalAudioStreamBufferOverrun

Audio has been sent to robot that would overrun the memory buffer

FieldTypeDescription
audio_samples_sent uint32

audio_samples_played uint32

ExternalAudioStreamCancel

Cancel a playing external robot audio stream

ExternalAudioStreamChunk

Send chunk of audio data to stream on robot

FieldTypeDescription
audio_chunk_size_bytes uint32

current engine maximum of 1024 bytes

audio_chunk_samples bytes

16-bit little-endian PCM audio data

ExternalAudioStreamComplete

Send notification of last chunk of audio sent to robot

ExternalAudioStreamPlaybackComplete

Audio has been played on the Robot

ExternalAudioStreamPlaybackFailure

Audio playback failure

ExternalAudioStreamPrepare

Preflight and initialization for audio streaming to robot

FieldTypeDescription
audio_frame_rate uint32

8000 - 16025

audio_volume uint32

0 - 100

ExternalAudioStreamRequest

Request to stream audio to the robot

FieldTypeDescription
audio_stream_prepare ExternalAudioStreamPrepare

audio_stream_chunk ExternalAudioStreamChunk

audio_stream_complete ExternalAudioStreamComplete

audio_stream_cancel ExternalAudioStreamCancel

ExternalAudioStreamResponse

Response from streaming audio to robot

FieldTypeDescription
audio_stream_playback_complete ExternalAudioStreamPlaybackComplete

audio_stream_buffer_overrun ExternalAudioStreamBufferOverrun

audio_stream_playback_failyer ExternalAudioStreamPlaybackFailure

FaceEnrollmentCompleted

FieldTypeDescription
result FaceEnrollmentResult

face_id int32

name string

FeatureFlagListRequest

FieldTypeDescription
request_list string repeated

FeatureFlagListResponse

FieldTypeDescription
status ResponseStatus

list string repeated

FeatureFlagRequest

FieldTypeDescription
feature_name string

FeatureFlagResponse

FieldTypeDescription
status ResponseStatus

valid_feature bool

feature_enabled bool

FeatureStatus

FieldTypeDescription
feature_name string

source string

Voice, App, AI, Unknown

FindFacesRequest

FindFacesResponse

FieldTypeDescription
status ResponseStatus

result BehaviorResults

GoToObjectRequest

GoToObject

FieldTypeDescription
object_id int32

motion_prof PathMotionProfile

distance_from_object_origin_mm float

use_pre_dock_pose bool

id_tag int32

num_retries int32

GoToObjectResponse

FieldTypeDescription
status ResponseStatus

result ActionResult

GoToPoseRequest

GotoPose

FieldTypeDescription
x_mm float

y_mm float

rad float

motion_prof PathMotionProfile

id_tag int32

num_retries int32

GoToPoseResponse

FieldTypeDescription
status ResponseStatus

result ActionResult

GyroData

All values are in rad/s.

FieldTypeDescription
x float

y float

z float

ImageChunk

One frame of image data and associated metadata

FieldTypeDescription
frame_time_stamp uint32

image_id uint32

width uint32

height uint32

image_encoding ImageChunk.ImageEncoding

display_index uint32

image_chunk_count uint32

chunk_id uint32

data bytes

IsImageStreamingEnabledRequest

Request whether or not image streaming is enabled on the robot

IsImageStreamingEnabledResponse

Indicates whether or not image streaming is enabled on the robot

FieldTypeDescription
is_image_streaming_enabled bool

KeepAlivePing

A null message used by streams to verify that the client is still connected.

LatestAttentionTransfer

FieldTypeDescription
attention_transfer AttentionTransfer

LatestAttentionTransferRequest

LatestAttentionTransferResponse

FieldTypeDescription
status ResponseStatus

latest_attention_transfer LatestAttentionTransfer

ListAnimationTriggersRequest

See ListAnimationTriggers rpc for more details.

ListAnimationTriggersResponse

See ListAnimationTriggers rpc for more details.

FieldTypeDescription
status ResponseStatus

A generic status.

animation_trigger_names AnimationTrigger repeated

The animation triggers that Vector knows.

ListAnimationsRequest

See ListAnimations rpc for more details.

ListAnimationsResponse

See ListAnimations rpc for more details.

FieldTypeDescription
status ResponseStatus

A generic status.

animation_names Animation repeated

The animations that Vector knows.

LoadedKnownFace

FieldTypeDescription
seconds_since_first_enrolled int64

seconds_since_last_updated int64

seconds_since_last_seen int64

last_seen_seconds_since_epoch int64

face_id int32

name string

LookAroundInPlaceRequest

LookAroundInPlaceResponse

FieldTypeDescription
status ResponseStatus

result BehaviorResults

MasterVolumeRequest

FieldTypeDescription
volume_level MasterVolumeLevel

MasterVolumeResponse

FieldTypeDescription
status ResponseStatus

MeetVictorFaceScanComplete

MeetVictorFaceScanStarted

MirrorModeDisabled

Sent if MirrorMode (camera feed displayed on face) is currently enabled but is automatically being disabled

MoveHeadRequest

See the MoveHead rpc for more details.

FieldTypeDescription
speed_rad_per_sec float

MoveHeadResponse

See the MoveHead rpc for more details.

FieldTypeDescription
status ResponseStatus

A generic status.

MoveLiftRequest

See the MoveLift rpc for more details.

FieldTypeDescription
speed_rad_per_sec float

MoveLiftResponse

See the MoveLift rpc for more details.

FieldTypeDescription
status ResponseStatus

A generic status.

Onboarding

FieldTypeDescription
onboarding_state OnboardingState

onboarding_wake_up_finished OnboardingWakeUpFinished

onboarding_1p0_charging_info Onboarding1p0ChargingInfo

1p0 backward compatibility messages ^^^

Onboarding1p0ChargingInfo

FieldTypeDescription
on_charger bool

needs_to_charge bool

suggested_charger_time float

OnboardingChargeInfoRequest

OnboardingChargeInfoResponse

FieldTypeDescription
status ResponseStatus

on_charger bool

needs_to_charge bool

required_charge_time float

OnboardingCompleteRequest

1p0 backward compatibility messages - - - - -

OnboardingCompleteResponse

FieldTypeDescription
completed bool

OnboardingInputRequest

FieldTypeDescription
onboarding_complete_request OnboardingCompleteRequest

onboarding_wake_up_request OnboardingWakeUpRequest

onboarding_skip_onboarding OnboardingSkipOnboarding

onboarding_restart OnboardingRestart

onboarding_wake_up_started_request OnboardingWakeUpStartedRequest

onboarding_set_phase_request OnboardingSetPhaseRequest

1p0 backward compatibility messages ^^^

onboarding_phase_progress_request OnboardingPhaseProgressRequest

onboarding_charge_info_request OnboardingChargeInfoRequest

onboarding_mark_complete_and_exit OnboardingMarkCompleteAndExit

OnboardingInputResponse

FieldTypeDescription
status ResponseStatus

onboarding_complete_response OnboardingCompleteResponse

onboarding_wake_up_response OnboardingWakeUpResponse

onboarding_wake_up_started_response OnboardingWakeUpStartedResponse

onboarding_set_phase_response OnboardingSetPhaseResponse

1p0 backward compatibility messages ^^^

onboarding_phase_progress_response OnboardingPhaseProgressResponse

onboarding_charge_info_response OnboardingChargeInfoResponse

OnboardingMarkCompleteAndExit

OnboardingPhaseProgressRequest

OnboardingPhaseProgressResponse

FieldTypeDescription
status ResponseStatus

last_set_phase OnboardingPhase

last_set_phase_state OnboardingPhaseState

percent_completed int32

OnboardingRestart

OnboardingSetPhaseRequest

FieldTypeDescription
phase OnboardingPhase

OnboardingSetPhaseResponse

FieldTypeDescription
status ResponseStatus

phase OnboardingPhase

phase_state OnboardingPhaseState

OnboardingSkipOnboarding

OnboardingState

FieldTypeDescription
stage OnboardingStages

OnboardingStateRequest

OnboardingStateResponse

FieldTypeDescription
status ResponseStatus

onboarding_state OnboardingState

OnboardingWakeUpFinished

OnboardingWakeUpRequest

OnboardingWakeUpResponse

FieldTypeDescription
waking_up bool

charging_info Onboarding1p0ChargingInfo

OnboardingWakeUpStartedRequest

OnboardingWakeUpStartedResponse

FieldTypeDescription
already_started bool

PathMotionProfile

Struct containing all the information relevant to how a path should be modified or traversed.

FieldTypeDescription
speed_mmps float

accel_mmps2 float

decel_mmps2 float

point_turn_speed_rad_per_sec float

point_turn_accel_rad_per_sec2 float

point_turn_decel_rad_per_sec2 float

dock_speed_mmps float

dock_accel_mmps2 float

dock_decel_mmps2 float

reverse_speed_mmps float

is_custom bool

PhotoInfo

FieldTypeDescription
photo_id uint32

timestamp_utc uint32

photo_copied_to_app bool

thumb_copied_to_app bool

PhotoPathMessage

FieldTypeDescription
success bool

full_path string

PhotoRequest

FieldTypeDescription
photo_id uint32

PhotoResponse

FieldTypeDescription
status ResponseStatus

success bool

image bytes

PhotoTaken

FieldTypeDescription
photo_id uint32

PhotosInfoRequest

PhotosInfoResponse

FieldTypeDescription
status ResponseStatus

photo_infos PhotoInfo repeated

PickupObjectRequest

PickupObject

FieldTypeDescription
object_id int32

negative value means "currently selected object"

motion_prof PathMotionProfile

approach_angle_rad float

use_approach_angle bool

use_pre_dock_pose bool

id_tag int32

num_retries int32

PickupObjectResponse

FieldTypeDescription
status ResponseStatus

result ActionResult

PlaceObjectOnGroundHereRequest

PlaceObjectOnGroundHere

FieldTypeDescription
id_tag int32

num_retries int32

PlaceObjectOnGroundHereResponse

FieldTypeDescription
status ResponseStatus

result ActionResult

PlayAnimationRequest

See PlayAnimation rpc for more details.

FieldTypeDescription
animation Animation

The animation to play.

loops uint32

The number of times to play the animation in a row.

ignore_body_track bool

Ignore any movement of Vector's body in the given animation.

ignore_head_track bool

Ignore any movement of Vector's head in the given animation.

ignore_lift_track bool

Ignore any movement of Vector's lift in the given animation.

PlayAnimationResponse

See PlayAnimation rpc for more details.

FieldTypeDescription
status ResponseStatus

A generic status.

result BehaviorResults

Information on whether the animation played successfully.

animation Animation

The animation that the robot executed.

PlayAnimationTriggerRequest

See PlayAnimationTrigger rpc for more details.

FieldTypeDescription
animation_trigger AnimationTrigger

The animation trigger to play.

loops uint32

The number of times to play the animation in a row.

use_lift_safe bool

Automatically ignore the lift track if Vector is currently carrying an object.

ignore_body_track bool

Ignore any movement of Vector's body when playing the animation.

ignore_head_track bool

Ignore any movement of Vector's head when playing the animation.

ignore_lift_track bool

Ignore any movement of Vector's lift when playing the animation.

PopAWheelieRequest

PopAWheelie

FieldTypeDescription
object_id int32

negative value means "currently selected object"

motion_prof PathMotionProfile

approach_angle_rad float

use_approach_angle bool

use_pre_dock_pose bool

id_tag int32

num_retries int32

PopAWheelieResponse

FieldTypeDescription
status ResponseStatus

result ActionResult

PoseStruct

FieldTypeDescription
x float

Translation

y float

z float

q0 float

Rotation quaternion

q1 float

q2 float

q3 float

origin_id uint32

Which coordinate frame this pose is in (0 for none or unknown)

ProxData

FieldTypeDescription
distance_mm uint32

signal_quality float

unobstructed bool

The sensor has confirmed it has not detected anything up to its max range

found_object bool

The sensor detected an object in the valid operating range

is_lift_in_fov bool

Lift (or object on lift) is occluding the sensor

RequestEnrolledNamesRequest

RequestEnrolledNamesResponse

FieldTypeDescription
status ResponseStatus

faces LoadedKnownFace repeated

RobotChangedObservedFaceID

RobotChangedObservedFaceID This generally happens when a tracked face (negative ID) is recognized and receives a positive ID or when face records get merged

FieldTypeDescription
old_id int32

new_id int32

RobotHistoryRequest

RobotHistoryResponse

FieldTypeDescription
messages TimeStampedStatus repeated

RobotObservedFace

FieldTypeDescription
face_id int32

negative: tracked but not recognized; positive: recognized face

timestamp uint32

pose PoseStruct

img_rect CladRect

position in image coords

name string

Empty if none assigned yet

expression FacialExpression

expression_values uint32 repeated

Individual expression values histogram, sums to 100 (Exception: all zero if expression=Unknown)

left_eye CladPoint repeated

Face landmarks

right_eye CladPoint repeated

nose CladPoint repeated

mouth CladPoint repeated

RobotRenamedEnrolledFace

FieldTypeDescription
face_id int32

name string

RobotState

FieldTypeDescription
pose PoseStruct

pose_angle_rad float

pose_pitch_rad float

left_wheel_speed_mmps float

right_wheel_speed_mmps float

head_angle_rad float

lift_height_mm float

accel AccelData

gyro GyroData

carrying_object_id int32

carrying_object_on_top_id int32

Not supported by engine

head_tracking_object_id int32

localized_to_object_id int32

last_image_time_stamp uint32

status uint32

prox_data ProxData

touch_data TouchData

RollBlockRequest

this triggers a Vector Behavior, different from RollObjectRequest which triggers an Action

RollBlockResponse

FieldTypeDescription
status ResponseStatus

result BehaviorResults

RollObjectRequest

RollObject

FieldTypeDescription
object_id int32

negative value means "currently selected object"

motion_prof PathMotionProfile

approach_angle_rad float

use_approach_angle bool

use_pre_dock_pose bool

id_tag int32

num_retries int32

RollObjectResponse

FieldTypeDescription
status ResponseStatus

result ActionResult

SDKInitializationRequest

FieldTypeDescription
sdk_module_version string

python_version string

python_implementation string

os_version string

cpu_version string

SDKInitializationResponse

FieldTypeDescription
status ResponseStatus

SayTextRequest

FieldTypeDescription
text string

use_vector_voice bool

duration_scalar float

SayTextResponse

FieldTypeDescription
status ResponseStatus

state SayTextResponse.UtteranceState

SetEyeColorRequest

FieldTypeDescription
hue float

saturation float

SetEyeColorResponse

FieldTypeDescription
status ResponseStatus

SetFaceToEnrollRequest

FieldTypeDescription
name string

observed_id int32

The ID of a specific observed face to enroll (0 for next one we see)

save_id int32

The ID of an existing face to merge final enrollment into (0 for none,

save_to_robot bool

Save to robot's NVStorage when done (NOTE: will (re)save everyone enrolled!)

say_name bool

Play say-name/celebration animations on success before completing

use_music bool

Starts special music during say-name animations (will leave music playing!)

SetFaceToEnrollResponse

FieldTypeDescription
status ResponseStatus

SetHeadAngleRequest

SetHeadAngle

FieldTypeDescription
angle_rad float

max_speed_rad_per_sec float

accel_rad_per_sec2 float

duration_sec float

id_tag int32

num_retries int32

SetHeadAngleResponse

FieldTypeDescription
status ResponseStatus

result ActionResult

SetLiftHeightRequest

SetLiftHeight

FieldTypeDescription
height_mm float

max_speed_rad_per_sec float

accel_rad_per_sec2 float

duration_sec float

id_tag int32

num_retries int32

SetLiftHeightResponse

FieldTypeDescription
status ResponseStatus

result ActionResult

Status

FieldTypeDescription
feature_status FeatureStatus

meet_victor_face_scan_started MeetVictorFaceScanStarted

meet_victor_face_scan_complete MeetVictorFaceScanComplete

face_enrollment_completed FaceEnrollmentCompleted

StimulationInfo

FieldTypeDescription
emotion_events string repeated

may be empty

value float

velocity float

value per second

accel float

value per sec per sec

value_before_event float

matches value if there were no emotion events

min_value float

max_value float

StopAllMotorsRequest

See the StopAllMotors rpc for more details.

StopAllMotorsResponse

See the StopAllMotors rpc for more details.

FieldTypeDescription
status ResponseStatus

ThumbnailPathMessage

FieldTypeDescription
success bool

full_path string

ThumbnailRequest

FieldTypeDescription
photo_id uint32

ThumbnailResponse

FieldTypeDescription
status ResponseStatus

success bool

image bytes

TimeStampedStatus

FieldTypeDescription
status Status

timestamp_utc uint32

TouchData

FieldTypeDescription
raw_touch_value uint32

Raw input from the touch sensor

is_being_touched bool

Robot's context aware evaluation of whether it currently is or isn't being touched

TurnInPlaceRequest

TurnInPlace If isAbsolute == 0, turns the specified number of radians, relative to the robot's current heading* If isAbsolute != 0, turns to the specified absolute orientation.

FieldTypeDescription
angle_rad float

relative mode: positive turns left negative turns right

speed_rad_per_sec float

accel_rad_per_sec2 float

tol_rad float

This should be no smaller than POINT_TURN_ANGLE_TOL (DEG_TO_RAD(2.f)).

is_absolute uint32

Smaller values are ignored except 0 which is interpreted to mean default tolerance of POINT_TURN_ANGLE_TOL. 0: angle_rad is relative to current orientation, 1: angle_rad is absolute angle to turn to

id_tag int32

num_retries int32

TurnInPlaceResponse

FieldTypeDescription
status ResponseStatus

result ActionResult

TurnTowardsFaceRequest

TurnTowardsFace

FieldTypeDescription
face_id int32

max_turn_angle_rad float

id_tag int32

num_retries int32

TurnTowardsFaceResponse

FieldTypeDescription
status ResponseStatus

result ActionResult

UpdateAndRestartRequest

UpdateAndRestartResponse

FieldTypeDescription
status ResponseStatus

UpdateEnrolledFaceByIDRequest

FieldTypeDescription
face_id int32

old_name string

new_name string

UpdateEnrolledFaceByIDResponse

FieldTypeDescription
status ResponseStatus

UserIntent

FieldTypeDescription
intent_id uint32

json_data string

VersionStateRequest

VersionStateResponse

FieldTypeDescription
status ResponseStatus

os_version string

engine_build_id string

VisionModesAutoDisabled

Sent when vision modes are automatically disabled due to the SDK no longer having control of the robot

WakeWord

FieldTypeDescription
wake_word_begin WakeWordBegin

wake_word_end WakeWordEnd

WakeWordBegin

WakeWordEnd

FieldTypeDescription
intent_heard bool

intent_json string

ActionResult.ActionResultCode

The possible results of running an action.

NameNumberDescription
ACTION_RESULT_SUCCESS 0

Action completed successfully.

ACTION_RESULT_RUNNING 16777216

Action is still running.

ACTION_RESULT_CANCELLED_WHILE_RUNNING 33554432

Action was cancelled by SDK request

NOT_STARTED 33554433

Initial state of an Action to indicate it has not yet started.

ABORT 50331648

Action aborted itself (e.g. had invalid attributes, or a runtime failure).

ANIM_ABORTED 50331649

Animation Action aborted itself (e.g. there was an error playing the animation).

BAD_MARKER 50331650

There was an error related to vision markers.

BAD_MESSAGE_TAG 50331651

There was a problem related to a subscribed or unsupported message tag

BAD_OBJECT 50331652

There was a problem with the Object ID provided (e.g. there is no Object with that ID).

BAD_POSE 50331653

There was a problem with the Pose provided.

BAD_TAG 50331654

The SDK-provided tag was bad.

CHARGER_UNPLUGGED_ABORT 50331655

Vector is on the charger but cannot sense the contacts. Charger may be unplugged.

CLIFF_ALIGN_FAILED_TIMEOUT 50331656

CLIFF_ALIGN_FAILED_NO_TURNING 50331657

CLIFF_ALIGN_FAILED_OVER_TURNING 50331658

CLIFF_ALIGN_FAILED_NO_WHITE 50331659

CLIFF_ALIGN_FAILED_STOPPED 50331660

FAILED_SETTING_CALIBRATION 50331661

Shouldn't occur outside of factory.

FOLLOWING_PATH_BUT_NOT_TRAVERSING 50331662

There was an error following the planned path.

INTERRUPTED 50331663

The action was interrupted by another Action or Behavior.

INVALID_OFF_TREADS_STATE 50331664

The robot ended up in an "off treads state" not valid for this action (e.g. the robot was placed on its back while executing a turn).

MISMATCHED_UP_AXIS 50331665

The Up Axis of a carried object doesn't match the desired placement pose.

NO_ANIM_NAME 50331666

No valid Animation name was found.

NO_DISTANCE_SET 50331667

An invalid distance value was given.

NO_FACE 50331668

There was a problem with the Face ID (e.g. Vector doesn't no where it is).

NO_GOAL_SET 50331669

No goal pose was set.

NO_PREACTION_POSES 50331670

No pre-action poses were found (e.g. could not get into position).

NOT_CARRYING_OBJECT_ABORT 50331671

No object is being carried, but the action requires one.

NOT_ON_CHARGER_ABORT 50331672

Vector is expected to be on the charger, but is not.

NULL_SUBACTION 50331673

No sub-action was provided.

PATH_PLANNING_FAILED_ABORT 50331674

Vector was unable to plan a path.

PICKUP_OBJECT_UNEXPECTEDLY_MOVING 50331675

The object that Vector is attempting to pickup is unexpectedly moving (e.g it is being moved by someone else).

SEND_MESSAGE_TO_ROBOT_FAILED 50331676

Shouldn't occur in SDK usage.

STILL_CARRYING_OBJECT 50331677

Vector is unexpectedly still carrying an object.

TIMEOUT 50331678

The Action timed out before completing correctly.

TRACKS_LOCKED 50331679

One or more movement tracks (Head, Lift, Body, Face, Backpack Lights, Audio) are already being used by another Action.

UNEXPECTED_DOCK_ACTION 50331680

There was an internal error related to an unexpected type of dock action.

UNKNOWN_TOOL_CODE 50331681

Shouldn't occur outside of factory.

UPDATE_DERIVED_FAILED 50331682

There was a problem in the subclass's update on the robot.

VISUAL_OBSERVATION_FAILED 50331683

Vector did not see the expected result (e.g. unable to see cube in the expected position after a related action).

SHOULDNT_DRIVE_ON_CHARGER 50331684

Action is not permitted on the charger.

RETRY 67108864

The Action failed, but may succeed if retried.

DID_NOT_REACH_PREACTION_POSE 67108865

Failed to get into position.

FAILED_TRAVERSING_PATH 67108866

Failed to follow the planned path.

LAST_PICK_AND_PLACE_FAILED 67108867

The previous attempt to pick and place an object failed.

MOTOR_STOPPED_MAKING_PROGRESS 67108868

The required motor isn't moving so the action cannot complete.

NOT_CARRYING_OBJECT_RETRY 67108869

Not carrying an object when it was expected, but may succeed if the action is retried.

NOT_ON_CHARGER_RETRY 67108870

Driving onto the charger failed, but may succeed if the action is retried.

PATH_PLANNING_FAILED_RETRY 67108871

Vector was unable to plan a path, but may succeed if the action is retried.

PLACEMENT_GOAL_NOT_FREE 67108872

There is no room to place the object at the desired destination.

PICKUP_OBJECT_UNEXPECTEDLY_NOT_MOVING 67108873

The object that Vector thought he was lifting didn't start moving, so he must have missed.

STILL_ON_CHARGER 67108874

Vector failed to drive off the charger.

UNEXPECTED_PITCH_ANGLE 67108875

Vector's pitch is at an unexpected angle for the Action.

ActionTagConstants

NameNumberDescription
INVALID_SDK_TAG 0

FIRST_SDK_TAG 2000001

LAST_SDK_TAG 3000000

AlignmentType

This is a uint8 in CLAD

NameNumberDescription
ALIGNMENT_TYPE_UNKNOWN 0

ALIGNMENT_TYPE_LIFT_FINGER 1

Align the tips of the lift fingers with the target object

ALIGNMENT_TYPE_LIFT_PLATE 2

Align the flat part of the lift with the object (useful for getting the fingers in the cube's grooves)

ALIGNMENT_TYPE_BODY 3

Align the front of Vector's body (useful for when the lift is up)

ALIGNMENT_TYPE_CUSTOM 4

For use with distanceFromMarker parameter

AttentionTransferReason

NOTE: must match attentionTransferTypes.clad

NameNumberDescription
Invalid 0

NoCloudConnection 1

NoWifi 2

UnmatchedIntent 3

AudioConstants

Constants associated with the audio feed

NameNumberDescription
AUDIO_CONSTANTS_NULL 0

error value

MIC_DETECTION_DIRECTIONS 12

The number of audio directions the four microphones can isolate

SAMPLE_COUNTS_PER_ENGINE_MESSAGE 160

The number of audio samples in each internal audio chunk

SAMPLE_COUNTS_PER_SDK_MESSAGE 1600

The number of audio samples delivered in each audio feed response

MICROPHONE_SAMPLE_RATE 15625

The sampling rate victor's microphones record at

PROCESSED_SAMPLE_RATE 16000

The sampling rate the robot processes audio at

AudioProcessingMode

The robot can process audio in a variety of ways

NameNumberDescription
AUDIO_UNKNOWN 0

error value

AUDIO_OFF 1

deactivates audio SDK mode

AUDIO_FAST_MODE 2

unprocessed single microphone data - most performant on robot

AUDIO_DIRECTIONAL_MODE 3

beamforming support for focusing on specific direction - sounds cleanest

AUDIO_VOICE_DETECT_MODE 4

multi-microphone non-beamforming - best for voice detection programs

BatteryLevel

NameNumberDescription
BATTERY_LEVEL_UNKNOWN 0

BATTERY_LEVEL_LOW 1

BATTERY_LEVEL_NOMINAL 2

BATTERY_LEVEL_FULL 3

BehaviorResults

NameNumberDescription
BEHAVIOR_INVALID_STATE 0

BEHAVIOR_COMPLETE_STATE 1

BEHAVIOR_WONT_ACTIVATE_STATE 2

CheckCloudResponse.ConnectionCode

NameNumberDescription
UNKNOWN 0

AVAILABLE 1

BAD_CONNECTIVITY 2

FAILED_TLS 3

FAILED_AUTH 4

INSUFFICIENT_BANDWIDTH 5

CheckUpdateStatusResponse.UpdateStatus

NameNumberDescription
NO_UPDATE 0

READY_TO_INSTALL 1

IN_PROGRESS_DOWNLOAD 2

CubeBattery.CubeBatteryLevel

NameNumberDescription
Low 0

Normal 1

FaceEnrollmentResult

NameNumberDescription
SUCCESS 0

SAW_WRONG_FACE 1

Failures:

SAW_MULTIPLE_FACES 2

TIMED_OUT 3

SAVE_FAILED 4

INCOMPLETE 5

CANCELLED 6

NAME_IN_USE 7

NAMED_STORAGE_FULL 8

UNKNOWN_FAILURE 9

FacialExpression

This is an int8 on the clad side. Proto field names are prefixed with "EXPRESSION_"

NameNumberDescription
EXPRESSION_UNKNOWN 0

e.g. expression estimation disabled.

EXPRESSION_NEUTRAL 1

EXPRESSION_HAPPINESS 2

EXPRESSION_SURPRISE 3

EXPRESSION_ANGER 4

EXPRESSION_SADNESS 5

EXPRESSION_COUNT 5

Clad does not account for "Unknown" in the count.

ImageChunk.ImageEncoding

NameNumberDescription
NONE_IMAGE_ENCODING 0

RAW_GRAY 1

no compression

RAW_RGB 2

no compression, just [RGBRGBRG...]

YUYV 3

YUV420SP 4

BAYER 5

JPEG_GRAY 6

JPEG_COLOR 7

JPEG_COLOR_HALF_WIDTH 8

JPEG_MINIMIZED_GRAY 9

Minimized grayscale JPEG - no header, no footer, no byte stuffing

JPEG_MINIMIZED_COLOR 10

Minimized grayscale JPEG - no header, no footer, no byte stuffing, with added color data

MasterVolumeLevel

NameNumberDescription
VOLUME_LOW 0

VOLUME_MEDIUM_LOW 1

VOLUME_MEDIUM 2

VOLUME_MEDIUM_HIGH 3

VOLUME_HIGH 4

OnboardingPhase

NameNumberDescription
InvalidPhase 0

Default 1

LookAtPhone 2

WakeUp 3

LookAtUser 4

TeachWakeWord 5

TeachComeHere 6

TeachMeetVictor 7

OnboardingPhaseState

NameNumberDescription
PhaseInvalid 0

PhasePending 1

PhaseInProgress 2

PhaseComplete 3

OnboardingStages

NameNumberDescription
NotStarted 0

TimedOut 1

Complete 3

Maintain this numbering for backward compatibility

DevDoNothing 4

RobotStatus

NameNumberDescription
ROBOT_STATUS_NONE 0

ROBOT_STATUS_IS_MOVING 1

ROBOT_STATUS_IS_CARRYING_BLOCK 2

ROBOT_STATUS_IS_PICKING_OR_PLACING 4

ROBOT_STATUS_IS_PICKED_UP 8

ROBOT_STATUS_IS_BUTTON_PRESSED 16

ROBOT_STATUS_IS_FALLING 32

ROBOT_STATUS_IS_ANIMATING 64

ROBOT_STATUS_IS_PATHING 128

ROBOT_STATUS_LIFT_IN_POS 256

ROBOT_STATUS_HEAD_IN_POS 512

ROBOT_STATUS_CALM_POWER_MODE 1024

ROBOT_STATUS_IS_ON_CHARGER 4096

ROBOT_STATUS_IS_CHARGING 8192

ROBOT_STATUS_CLIFF_DETECTED 16384

ROBOT_STATUS_ARE_WHEELS_MOVING 32768

ROBOT_STATUS_IS_BEING_HELD 65536

ROBOT_STATUS_IS_MOTION_DETECTED 131072

SayTextResponse.UtteranceState

NameNumberDescription
INVALID 0

GENERATING 1

READY 2

PLAYING 3

FINISHED 4

anki_vector/messaging/nav_map.proto

Top

NavMapFeedRequest

Requests nav map data from the robot at a specified maximum update frequency. Responses in the nav map stream may be sent less frequently if the robot does not consider there to be relevant new information.

FieldTypeDescription
frequency float

NavMapFeedResponse

A full nav map sent from the robot. It contains an origin_id that which can be compared against the robot's current origin_id, general info about the map, and a collection of quads representing the map's content.

FieldTypeDescription
origin_id uint32

map_info NavMapInfo

quad_infos NavMapQuadInfo repeated

NavMapInfo

General information about the nav map as a whole.

FieldTypeDescription
root_depth int32

root_size_mm float

root_center_x float

root_center_y float

root_center_z float

NavMapQuadInfo

An individual sample of vector's nav map. This quad's size will vary and depends on the resolution the map requires to effectively identify boundaries in the environment.

FieldTypeDescription
content NavNodeContentType

depth uint32

color_rgba uint32

NavNodeContentType

Every tile in the nav map will be tagged with a content key referring to the different environmental elements that Vector can identify.

NameNumberDescription
NAV_NODE_UNKNOWN 0

NAV_NODE_CLEAR_OF_OBSTACLE 1

NAV_NODE_CLEAR_OF_CLIFF 2

NAV_NODE_OBSTACLE_CUBE 3

NAV_NODE_OBSTACLE_PROXIMITY 4

NAV_NODE_OBSTACLE_PROXIMITY_EXPLORED 5

NAV_NODE_OBSTACLE_UNRECOGNIZED 6

NAV_NODE_CLIFF 7

NAV_NODE_INTERESTING_EDGE 8

NAV_NODE_NON_INTERESTING_EDGE 9

anki_vector/messaging/response_status.proto

Top

ResponseStatus

A shared response message sent back as part of most requests. This will indicate the generic state of the request.

FieldTypeDescription
code ResponseStatus.StatusCode

The generic status code to give high-level insight into the progress of a given message.

ResponseStatus.StatusCode

NameNumberDescription
UNKNOWN 0

RESPONSE_RECEIVED 1

The message has completed as expected.

REQUEST_PROCESSING 2

The message has been sent to the robot.

OK 3

The message has been handled successfully at the interface level.

FORBIDDEN 100

The user was not authorizied.

NOT_FOUND 101

The requested attribute was not found.

ERROR_UPDATE_IN_PROGRESS 102

Currently updating values from another call.

anki_vector/messaging/shared.proto

Top

ConnectionResponse

FieldTypeDescription
status ResponseStatus

is_primary bool

Event

Messages originating from the engine

FieldTypeDescription
time_stamped_status TimeStampedStatus

onboarding Onboarding

wake_word WakeWord

attention_transfer AttentionTransfer

robot_observed_face RobotObservedFace

robot_changed_observed_face_id RobotChangedObservedFaceID

object_event ObjectEvent

stimulation_info StimulationInfo

photo_taken PhotoTaken

robot_state RobotState

cube_battery CubeBattery

keep_alive KeepAlivePing

Used by Vector to verify the connection is still alive.

connection_response ConnectionResponse

jdocs_changed JdocsChanged

alexa_auth_event AlexaAuthEvent

mirror_mode_disabled MirrorModeDisabled

vision_modes_auto_disabled VisionModesAutoDisabled

check_update_status_response CheckUpdateStatusResponse

user_intent UserIntent

EventRequest

FieldTypeDescription
white_list FilterList

black_list FilterList

connection_id string

EventResponse

FieldTypeDescription
status ResponseStatus

event Event

FilterList

FieldTypeDescription
list string repeated

ProtocolVersionRequest

FieldTypeDescription
client_version int64

min_host_version int64

ProtocolVersionResponse

FieldTypeDescription
result ProtocolVersionResponse.Result

host_version int64

UserAuthenticationRequest

FieldTypeDescription
user_session_id bytes

client_name bytes

UserAuthenticationResponse

FieldTypeDescription
status ResponseStatus

code UserAuthenticationResponse.Code

client_token_guid bytes

ProtocolVersionResponse.Result

NameNumberDescription
UNSUPPORTED 0

SUCCESS 1

UserAuthenticationResponse.Code

NameNumberDescription
UNAUTHORIZED 0

AUTHORIZED 1

Scalar Value Types

.proto TypeNotesPython Type
double float
float float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int/long
uint32 Uses variable-length encoding. int/long
uint64 Uses variable-length encoding. int/long
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int/long
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. int
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. int/long
sfixed32 Always four bytes. int
sfixed64 Always eight bytes. int/long
bool boolean
string A string must always contain UTF-8 encoded or 7-bit ASCII text. str/unicode
bytes May contain any arbitrary sequence of bytes. str

Terms and Conditions and Privacy Policy

Click here to return to the Anki Developer website.