Motion

API for communication with ZBOS by Zora Robotics.

Channels

zbos/motion/animation/run

PUB Fires specific animation ID

Channel tags
  • Motion

AnimationOptions
Payload

Name

Type

Description

Accepted values

requestId

string

Any

type

string

Any

animationId

string

Any

loop

boolean

Any

interrupt

boolean

Any

transition

boolean

Determines whether a transition should be applied between this and a previous animation

Any

Examples of payload
{
  "requestId": "string",
  "type": "string",
  "animationId": "string",
  "loop": true,
  "interrupt": false,
  "transition": true
}

zbos/motion/animation/stop

PUB Stops all animations

Channel tags
  • Motion

EmptyMessage

Empty message

zbos/motion/animation/get

PUB Get available animations

Channel tags
  • Motion

KeyResult

Random key

Payload

Name

Type

Description

Accepted values

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz"
}

zbos/motion/animation/response/\{key}

SUB response: Get available animations

Channel tags
  • Motion

Array<AvailableAnimation>
Payload

Name

Type

Description

Accepted values

Message Payload

array (object)

Any

Message Payload. id

string

Any

Message Payload. name

string

Any

Message Payload. animation

string

Any

Message Payload. type

string

Any

Examples of payload
{
  "id": "string",
  "name": "string",
  "animation": "string",
  "type": "string"
}

zbos/motion/animation/event

SUB Event: animation started/stopped

A message (Boolean) is publish on this topic when an animation started or stopped running

Channel tags
  • Motion

Boolean
Payload

Name

Type

Description

Accepted values

Message Payload

boolean

Any

Example of payload (generated)
true

zbos/motion/dance/start

PUB Starts dance

Channel tags
  • Motion

DanceOptions
Payload

Name

Type

Description

Accepted values

requestId

string

Any

danceId

string

Any

Examples of payload
{
  "requestId": "string",
  "danceId": "string"
}

zbos/motion/dance/start/random

PUB Start random dance

Start a random default dance

Channel tags
  • Motion

EmptyMessage

Empty message

zbos/motion/dance/stop

PUB Stops dance

Channel tags
  • Motion

EmptyMessage

Empty message

zbos/motion/dance/get

PUB Get available dances

Channel tags
  • Motion

KeyResult

Random key

Payload

Name

Type

Description

Accepted values

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz"
}

zbos/motion/dance/response/\{key}

SUB response: Get available dances

Channel tags
  • Motion

Array<AvailableDance>
Payload

Name

Type

Description

Accepted values

Message Payload

array (object)

Any

Message Payload. id

string

Any

Message Payload. name

string

Any

Message Payload. animation

string

Any

Message Payload. song

string

Any

Message Payload. type

string

Any

Examples of payload
{
  "id": "string",
  "name": "string",
  "animation": "string",
  "song": "string"
}

zbos/motion/control/head

PUB Move the robot head

Publish on this topic to move the head of the robot

Channel tags
  • Motion

MobilityRequest
Payload

Name

Type

Description

Accepted values

yaw

number

Desired yaw for this part if supported, -100 to 100

Any

pitch

number

Desired pitch for this part if supported, -100 to 100

Any

angle

object

The direction the part should move in

Any

angle. degree

number

Angle between 0 and 360

Any

force

number

How strongly to perform the movement, 0 to 100

Any

distance

number

How far the part should move, in meters

Any

relative_rotation

number

The direction the part should move in relative to its current rotation where negative values rotate to the left and positive values rotate to the right, -360 to 360

Any

partName

string

Any

Examples of payload
{
  "yaw": 10,
  "pitch": 0,
  "angle": {
    "degree": 90
  },
  "force": 50,
  "distance": 2,
  "relative_rotation": 0
}

zbos/motion/control/movement

PUB Drive the robot

Publish on this topic to drive the robot

Channel tags
  • Motion

MobilityRequest
Payload

Name

Type

Description

Accepted values

yaw

number

Desired yaw for this part if supported, -100 to 100

Any

pitch

number

Desired pitch for this part if supported, -100 to 100

Any

angle

object

The direction the part should move in

Any

angle. degree

number

Angle between 0 and 360

Any

force

number

How strongly to perform the movement, 0 to 100

Any

distance

number

How far the part should move, in meters

Any

relative_rotation

number

The direction the part should move in relative to its current rotation where negative values rotate to the left and positive values rotate to the right, -360 to 360

Any

partName

string

Any

Examples of payload
{
  "yaw": 10,
  "pitch": 0,
  "angle": {
    "degree": 90
  },
  "force": 50,
  "distance": 2,
  "relative_rotation": 0
}

zbos/motion/control/part/\{name}

PUB Move a specific part of the robot

Publish on this topic to move a specific part of the robot, like an arm or a leg

Channel tags
  • Motion

MobilityRequest
Payload

Name

Type

Description

Accepted values

yaw

number

Desired yaw for this part if supported, -100 to 100

Any

pitch

number

Desired pitch for this part if supported, -100 to 100

Any

angle

object

The direction the part should move in

Any

angle. degree

number

Angle between 0 and 360

Any

force

number

How strongly to perform the movement, 0 to 100

Any

distance

number

How far the part should move, in meters

Any

relative_rotation

number

The direction the part should move in relative to its current rotation where negative values rotate to the left and positive values rotate to the right, -360 to 360

Any

partName

string

Any

Examples of payload
{
  "yaw": 10,
  "pitch": 0,
  "angle": {
    "degree": 90
  },
  "force": 50,
  "distance": 2,
  "relative_rotation": 0
}

zbos/motion/event

SUB Event: started/stopped

A message (Boolean) is publish on this topic when the robot chassis starts, or stops moving.

Channel tags
  • Motion

Boolean
Payload

Name

Type

Description

Accepted values

Message Payload

boolean

Any

Example of payload (generated)
true

zbos/emotion/eyes/run

PUB Run animation for the eyes

Channel tags
  • Motion

EmotionOptions
Payload

Name

Type

Description

Accepted values

requestId

string

Any

emotionId

string

Any

Examples of payload
{
  "emotionId": "2"
}

zbos/emotion/eyes/get

PUB Get list of available emotions for the eyes

Channel tags
  • Motion

GetEmotionRequest
Payload

Name

Type

Description

Accepted values

key

string

Any

language

string

Optional. Set the language to have all translations filled in. The language format is ISO 639-1 language code, Eg: 'en' or 'en-US'

Any

Example of payload (generated)
{
  "key": "string",
  "language": "string"
}

zbos/emotion/eyes/response/\{key}

SUB response: Get list of available emotions for the eyes

Channel tags
  • Motion

Array<AvailableEmotion>
Payload

Name

Type

Description

Accepted values

Message Payload

array (object)

Any

Message Payload. id

string

Any

Message Payload. name

string

Any

Message Payload. animation

string

Any

Message Payload. translationkey

string

Any

Message Payload. type

string

Any

Message Payload. type_translation_key

string

Any

Examples of payload
{
  "id": "2",
  "name": "Eyeroll",
  "translationkey": "alpha-mini.emotion_2_title",
  "type": "Attentive",
  "type_translation_key": "alpha-mini.emotion_category_attentive"
}

zbos/followme/enable

PUB Enable follow me

Channel tags
  • Motion

EmptyMessage

Empty message

zbos/followme/disable

PUB Disable follow me

Channel tags
  • Motion

EmptyMessage

Empty message

zbos/followme/event

SUB response: follow me status

Channel tags
  • Motion

EmptyMessage

Empty message

zbos/gestures/data

PUB Gestures data

Channel tags
  • Motion

EmptyMessage

Empty message

zbos/gestures/enable

PUB Enable gestures

Channel tags
  • Motion

EmptyMessage

Empty message

zbos/gestures/disable

PUB Disable gestures

Channel tags
  • Motion

EmptyMessage

Empty message

zbos/gym/get/all

PUB Get all the gym movements that can be used in the composer

Channel tags
  • Motion

KeyResult

Random key

Payload

Name

Type

Description

Accepted values

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz"
}

zbos/gym/get/all/response/\{key}

SUB response: Get all gym movements

Channel tags
  • Motion

Array<GymCategory>
Payload

Name

Type

Description

Accepted values

Message Payload

array (object)

Any

Message Payload. name

string

Any

Message Payload. translation

string

Any

Message Payload. exercises

array (object)

Any

Message Payload.exercises. name

string

Any

Message Payload.exercises. translation

string

Any

Message Payload.exercises. speedIn_min

number

Any

Message Payload.exercises. speedIn_max

number

Any

Message Payload.exercises. speedOut_min

number

Any

Message Payload.exercises. speedOut_max

number

Any

Message Payload.exercises. duty_min

number

Any

Message Payload.exercises. duty_max

number

Any

Message Payload.exercises. period_min

number

Any

Message Payload.exercises. period_max

number

Any

Message Payload.exercises. cycles_min

integer

Any

Message Payload.exercises. cycles_max

integer

Any

Message Payload.exercises. profiles

array (object)

Any

Message Payload.exercises.profiles. name

string

Any

Message Payload.exercises.profiles. code

string

Any

Message Payload.exercises.profiles. translation

string

Any

Examples of payload
{
  "name": "string",
  "translation": "string",
  "exercises": [
    {
      "name": "string",
      "translation": "string",
      "profiles": [
        {
          "name": "string",
          "code": "string",
          "translation": "string"
        }
      ],
      "speedIn_min": 15,
      "speedIn_max": 50,
      "speedOut_min": 25,
      "speedOut_max": 60,
      "duty_min": 5,
      "duty_max": 10,
      "period_min": 5,
      "period_max": 10,
      "cycles_min": 5,
      "cycles_max": 10
    }
  ]
}