Motion

API for communication with ZBOS by Zora Robotics.

Channels

zbos/motion/animation/run

publish

Fires specific animation ID

Channel tags
  • Motion

Message AnimationOptions
Payload

Name

Type

Description

Accepted values

requestId

string

Any

type

string

Any

animationId

string

Any

Examples of payload
{
  "requestId": "string",
  "type": "string",
  "animationId": "string"
}

zbos/motion/animation/stop

publish

Stops all animations

Channel tags
  • Motion

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/motion/animation/get

publish

Get available animations

Channel tags
  • Motion

Message 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}

subscribe

response: Get available animations

Channel tags
  • Motion

Message 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

subscribe

Event: animation started/stopped

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

Channel tags
  • Motion

Message Boolean
Payload

Name

Type

Description

Accepted values

Message Payload

boolean

Any

Example of payload (generated)
true

zbos/motion/dance/start

publish

Starts dance

Channel tags
  • Motion

Message 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

publish

Start random dance

Start a random default dance

Channel tags
  • Motion

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/motion/dance/stop

publish

Stops dance

Channel tags
  • Motion

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/motion/dance/get

publish

Get available dances

Channel tags
  • Motion

Message 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}

subscribe

response: Get available dances

Channel tags
  • Motion

Message 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

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

zbos/motion/control/head

publish

Move the robot head

Publish on this topic to move the head of the robot

Channel tags
  • Motion

Message 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

publish

Drive the robot

Publish on this topic to drive the robot

Channel tags
  • Motion

Message 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}

publish

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

Message 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

subscribe

Event: started/stopped

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

Channel tags
  • Motion

Message Boolean
Payload

Name

Type

Description

Accepted values

Message Payload

boolean

Any

Example of payload (generated)
true

zbos/emotion/eyes/run

publish

Run animation for the eyes

Channel tags
  • Motion

Message EmotionOptions
Payload

Name

Type

Description

Accepted values

requestId

string

Any

emotionId

string

Any

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

zbos/emotion/eyes/get

publish

Get list of available emotions for the eyes

Channel tags
  • Motion

Message KeyResult

Random key

Payload

Name

Type

Description

Accepted values

key

string

Required random key

Any

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

zbos/emotion/eyes/response/{key}

subscribe

response: Get list of available emotions for the eyes

Channel tags
  • Motion

Message 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

Examples of payload
{
  "id": "2",
  "name": "Eyeroll"
}

zbos/followme/enable

publish

Enable follow me

Channel tags
  • Motion

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/followme/disable

publish

Disable follow me

Channel tags
  • Motion

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/followme/event

subscribe

response: follow me status

Channel tags
  • Motion

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/gestures/data

publish

Gestures data

Channel tags
  • Motion

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/gestures/enable

publish

Enable gestures

Channel tags
  • Motion

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/gestures/disable

publish

Disable gestures

Channel tags
  • Motion

Message EmptyMessage

Empty message

Payload

Name

Type

Description

Accepted values

Message Payload

object

Any

Example of payload (generated)
{}

zbos/gym/get/all

publish

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

Channel tags
  • Motion

Message 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}

subscribe

response: Get all gym movements

Channel tags
  • Motion

Message Array<AvailableGymMovement>
Payload

Name

Type

Description

Accepted values

Message Payload

array(object)

Any

Message Payload.categories

array(object)

Any

Message Payload.categories.name

string

Any

Message Payload.categories.translation

string

Any

Message Payload.categories.exercises

array(object)

Any

Message Payload.categories.exercises.name

string

Any

Message Payload.categories.exercises.translation

string

Any

Message Payload.categories.exercises.speedIn_min

number

Any

Message Payload.categories.exercises.speedIn_max

number

Any

Message Payload.categories.exercises.speedOut_min

number

Any

Message Payload.categories.exercises.speedOut_max

number

Any

Message Payload.categories.exercises.duty_min

number

Any

Message Payload.categories.exercises.duty_max

number

Any

Message Payload.categories.exercises.period_min

number

Any

Message Payload.categories.exercises.period_max

number

Any

Message Payload.categories.exercises.cycles_min

integer

Any

Message Payload.categories.exercises.cycles_max

integer

Any

Message Payload.categories.exercises.profiles

array(object)

Any

Message Payload.categories.exercises.profiles.name

string

Any

Message Payload.categories.exercises.profiles.code

string

Any

Message Payload.categories.exercises.profiles.translation

string

Any

Examples of payload
{
  "categories": [
    {
      "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
        }
      ]
    }
  ]
}