spot/choreography_params.proto
ArmMoveParams
Parameters specific to ArmMove move.
BodyHoldParams
Parameters specific to the BodyHold move.
Field |
Type |
Description |
rotation |
EulerZYXValue |
The robot will rotate its body to the specified orientation (roll/pitch/yaw) [rad]. |
translation |
bosdyn.api.Vec3Value |
The positional offset to the robot's current location [m]. |
entry_slices |
google.protobuf.DoubleValue |
How many "slices" (beats or sub-beats) are allowed before reaching the desired pose. |
exit_slices |
google.protobuf.DoubleValue |
How many "slices" (beats or sub-beats) are allowed for the robot to return to the original pose. |
BourreeParams
Parameters for the Bourree move.
ButtCircleParams
Parameters specific to the ButtCircle DanceMove.
ChickenHeadParams
Parameters specific to the chicken head move.
ClapParams
Parameters specific to clapping.
CrawlParams
Parameters for the robot’s crawling gait.
EulerRateZYXValue
Euler Angle rates (yaw->pitch->roll) vector that uses wrapped values so we can tell which elements are set.
EulerZYXValue
Euler Angle (yaw->pitch->roll) vector that uses wrapped values so we can tell which elements are set.
FrontUpParams
Parameters specific to FrontUp move.
GripperParams
Parameters for open/close of gripper.
Field |
Type |
Description |
angle |
google.protobuf.DoubleValue |
Angle in radians at which the gripper is open. Note that a 0 radian angle correlates to completely closed. |
speed |
google.protobuf.DoubleValue |
Speed in m/s at which the gripper should open/close to achieve the desired angle. |
HopParams
Parameters specific to Hop move.
JumpParams
Parameters for the robot making a jump.
KneelCircleParams
Parameters specific to the kneel_circles move.
KneelLegMove2Params
Parameters specific to KneelLegMove2 move.
KneelLegMoveParams
Parameters specific to KneelLegMove move.
Pace2StepParams
Parameters specific to pace translation.
RandomRotateParams
Parameters specific to the RandomRotate move.
Field |
Type |
Description |
amplitude |
EulerZYXValue |
The amplitude [rad] of the rotation in each axis. |
speed |
EulerRateZYXValue |
The speed [rad/s] of the motion in each axis. |
speed_variation |
google.protobuf.DoubleValue |
The amount of variation allowed in the speed of the random rotations [m/s]. Note, this must be a positive value. |
num_speed_tiers |
google.protobuf.Int32Value |
The specified speed values will be split into this many number of tiers between the bounds of [speed - speed_variation, speed + speed variation]. Then a tier (with a specified speed) will be randomly choosen and performed for each axis. |
tier_variation |
google.protobuf.DoubleValue |
How much can the output speed vary from the choosen tiered speed. |
RotateBodyParams
Parameters for the robot rotating the body.
Field |
Type |
Description |
rotation |
EulerZYXValue |
The robot will rotate its body to the specified orientation (roll/pitch/yaw). |
return_to_start_pose |
google.protobuf.BoolValue |
If true, the robot will transition back to the initial pose we started at before this choreography sequence move begin execution, and otherwise it will remain in whatever pose it is in after completing the choreography sequence move. |
RunningManParams
Parameters specific to RunningMan move.
SideParams
Parameters for moves that can go to either side.
StepParams
Field |
Type |
Description |
foot |
Leg |
Which foot to use (FL = 1, FR = 2, HL = 3, HR = 4). |
offset |
bosdyn.api.Vec2Value |
Offset of the foot from it's nominal position, in meters. |
second_foot |
Leg |
Should we use a second foot? (None = 0, FL = 1, FR = 2, HL = 3, HR = 4). |
swing_waypoint |
bosdyn.api.Vec3Value |
Where should the swing foot go? This vector should be described in a gravity-aligned body frame relative to the centerpoint of the swing. If set to {0,0,0}, uses the default swing path. |
swing_height |
google.protobuf.DoubleValue |
Parameters for altering swing. Note that these will have no effect if swing_waypoint is specified. As well, a zero (or nearly zero) value will be considered as an unspecified parameter. |
meters |
| liftoff_velocity | google.protobuf.DoubleValue | m/s |
| touchdown_velocity | google.protobuf.DoubleValue | m/s |
| mirror_x | google.protobuf.BoolValue | Should we mirror the offset for the second foot? Ignored if second_foot is set to None |
| mirror_y | google.protobuf.BoolValue | |
| mirror | google.protobuf.BoolValue | Deprecation Warning *** DEPRECATED as of 2.3.0: The mirror field has been deprecated in favor for a more descriptive break down to mirror_x and mirror_y. The following field will be deprecated and moved to ‘reserved’ in a future release. |
| waypoint_dwell | google.protobuf.DoubleValue | What fraction of the swing should be spent near the waypoint. |
| touch | google.protobuf.BoolValue | Should we touch the ground and come back rather than stepping to a new place? |
| touch_offset | bosdyn.api.Vec2Value | |
SwayParams
Parameters specific to Sway move.
TurnParams
Parameters specific to turning.
Field |
Type |
Description |
yaw |
google.protobuf.DoubleValue |
How far to turn, described in radians with a positive value representing a turn to the left. |
absolute |
google.protobuf.BoolValue |
Should we turn to a yaw in choreography sequence frame? |
swing_height |
google.protobuf.DoubleValue |
Swing parameters to describe the footstep pattern during the turning [height in meters]. Note, a zero (or nearly zero) value will be considered as an unspecified parameter. |
swing_velocity |
google.protobuf.DoubleValue |
Swing parameter to describe the foot's swing velocity during the turning [m/s]. Note, a zero (or nearly zero) value will be considered as an unspecified parameter. |
TwerkParams
Parameters specific to twerking
WorkspaceArmMoveParams
Field |
Type |
Description |
rotation |
EulerZYXValue |
The robot will rotate its body to the specified orientation (roll/pitch/yaw) [rad]. |
translation |
bosdyn.api.Vec3Value |
The positional offset to the robot's current location [m]. |
absolute |
google.protobuf.BoolValue |
Go to an absolute position/orientation? Otherwise, relative to starting pose. |
frame |
ArmMoveFrame |
What frame is the motion specified in. |
easing |
Easing |
How the motion should be paced. |
ArmMoveFrame
Name |
Number |
Description |
ARM_MOVE_FRAME_UNKNOWN |
0 |
|
ARM_MOVE_FRAME_CENTER_OF_FOOTPRINT |
1 |
|
ARM_MOVE_FRAME_HAND |
2 |
|
ARM_MOVE_FRAME_BODY |
3 |
|
ARM_MOVE_FRAME_SHOULDER |
4 |
|
ARM_MOVE_FRAME_SHADOW |
5 |
|
Easing
Enum to describe the type of easing to perform for the slices at either (or both) the
beginning and end of a move.
Name |
Number |
Description |
EASING_UNKNOWN |
0 |
|
EASING_LINEAR |
1 |
|
EASING_QUADRATIC_INPUT |
2 |
|
EASING_QUADRATIC_OUTPUT |
3 |
|
EASING_QUADRATIC_IN_OUT |
4 |
|
EASING_CUBIC_INPUT |
5 |
|
EASING_CUBIC_OUTPUT |
6 |
|
EASING_CUBIC_IN_OUT |
7 |
|
EASING_EXPONENTIAL_INPUT |
8 |
|
EASING_EXPONENTIAL_OUTPUT |
9 |
|
EASING_EXPONENTIAL_IN_OUT |
10 |
|
JumpParams.Lead
If split_fraction is non-zero, which legs to lift first.
Name |
Number |
Description |
LEAD_UNKNOWN |
0 |
|
LEAD_AUTO |
1 |
|
LEAD_FRONT |
2 |
|
LEAD_HIND |
3 |
|
LEAD_LEFT |
4 |
|
LEAD_RIGHT |
5 |
|
Leg
Enum to describe which leg is being referenced in specific choreography sequence moves.
Name |
Number |
Description |
LEG_UNKNOWN |
0 |
|
LEG_FRONT_LEFT |
1 |
|
LEG_FRONT_RIGHT |
2 |
|
LEG_HIND_LEFT |
3 |
|
LEG_HIND_RIGHT |
4 |
|
LEG_NO_LEG |
-1 |
|
Pivot
Enum for the pivot point for certain choreography sequence moves.
Name |
Number |
Description |
PIVOT_UNKNOWN |
0 |
|
PIVOT_FRONT |
1 |
|
PIVOT_HIND |
2 |
|
PIVOT_CENTER |
3 |
|
SideParams.Side
Name |
Number |
Description |
SIDE_UNKNOWN |
0 |
|
SIDE_LEFT |
1 |
|
SIDE_RIGHT |
2 |
|
SwayParams.SwayStyle
The type of motion used by the Sway sequence move.
Name |
Number |
Description |
SWAY_STYLE_UNKNOWN |
0 |
|
SWAY_STYLE_STANDARD |
1 |
|
SWAY_STYLE_FAST_OUT |
2 |
|
SWAY_STYLE_FAST_RETURN |
3 |
|
SWAY_STYLE_SQUARE |
4 |
|
SWAY_STYLE_SPIKE |
5 |
|
SWAY_STYLE_PLATEAU |
6 |
|
spot/choreography_sequence.proto
ChoreographerDisplayInfo
Information for the Choreographer to display.
Field |
Type |
Description |
color |
ChoreographerDisplayInfo.Color |
|
markers |
int32 |
For the GUI, these are marked events in steps. For example if the move puts a foot down, the mark might be exactly when the foot is placed on the ground, relative to the start of the move. |
description |
string |
Textual description to be displayed in the GUI. |
image |
string |
Image path (local to the UI) to display as an icon. May be an animated gif. |
category |
ChoreographerDisplayInfo.Category |
|
ChoreographerDisplayInfo.Color
Color of the object. Set it to override the default category color.
Field |
Type |
Description |
r |
int32 |
RGB values for color ranging from [0,255]. |
g |
int32 |
|
b |
int32 |
|
a |
double |
Alpha value for the coloration ranges from [0,1]. |
ChoreographerSave
Describes the metadata and information only used by the Choreographer GUI, which isn’t used in
the API
Field |
Type |
Description |
choreography_sequence |
ChoreographySequence |
The main ChoreographySequence that makes up the dance and is sent to the robot. |
music_file |
string |
If specified this is the UI local path of the music to load. |
music_start_slice |
double |
UI specific member that describes exactly when the music should start, in slices. This is for time sync issues. |
ChoreographySequence
Represents a particular choreography sequence, made up of MoveParams.
Field |
Type |
Description |
name |
string |
Display name or file name associated with the choreography sequence. |
slices_per_minute |
double |
Number of slices per minute in the choreography sequence. Typically a slice will correspond to 1/4 a beat. |
moves |
MoveParams |
All of the moves in this choreography sequence. |
ExecuteChoreographyRequest
Field |
Type |
Description |
header |
bosdyn.api.RequestHeader |
Common request header |
choreography_sequence_name |
string |
The string name of the ChoreographySequence to use. |
start_time |
google.protobuf.Timestamp |
The absolute time to start the choreography at. This should be in the robot's clock so we can synchronize music playing and the robot's choreography. |
choreography_starting_slice |
double |
The slice (betas/sub-beats) that the choreography should begin excution at. |
lease |
bosdyn.api.Lease |
The Lease to show ownership of the robot body. |
ExecuteChoreographyResponse
ListAllMovesRequest
Request a list of all possible moves and the associated parameters (min/max values).
ListAllMovesResponse
Response for ListAllMoves that defines the list of available moves and their parameter types.
Field |
Type |
Description |
header |
bosdyn.api.ResponseHeader |
Common response header |
moves |
MoveInfo |
List of moves that the robot knows about |
move_param_config |
string |
A copy of the MoveParamsConfig.txt that the robot is using. |
MoveInfo
Defines properties of a choreography move.
Field |
Type |
Description |
name |
string |
Unique ID of the move type. |
move_length_slices |
int32 |
The number of "slices" (beats or sub-beats) that this move takes up. |
min_move_length_slices |
int32 |
The minimum number of "slices" that this move can complete in. |
is_extendable |
bool |
If true, the user can extend the move beyond the requested length. |
entrance_states |
MoveInfo.TransitionState |
The admissible states the robot can be in currently for this move to execute. |
exit_state |
MoveInfo.TransitionState |
The state of the robot after the move is complete. |
min_time |
double |
The absolute minimum and maximum times of the move in seconds. |
max_time |
double |
|
controls_arm |
bool |
Indicators as to which parts of the robot that the move controls. |
controls_legs |
bool |
|
controls_body |
bool |
|
controls_gripper |
bool |
|
display |
ChoreographerDisplayInfo |
Information for the GUI tool to visualize the sequence move info. |
MoveParams
Defines varying parameters for a particular instance of a move.
UploadChoreographyRequest
Field |
Type |
Description |
header |
bosdyn.api.RequestHeader |
Common request header |
choreography_sequence |
ChoreographySequence |
ChoreographySequence to upload and store in memory |
non_strict_parsing |
bool |
Should we run a script that has correctable errors? If true, the service will fix any correctable errors and run the corrected choreography script. If false, the service will reject a choreography script that has any errors. |
UploadChoreographyResponse
Field |
Type |
Description |
header |
bosdyn.api.ResponseHeader |
Common response header. If the dance upload is invalid, the header INVALID request error will be set, which means that the choreography did not respect bounds of the parameters or has other attributes missing or incorrect. |
warnings |
string |
If the uploaded choreography is invalid (will throw a header InvalidRequest status), then certain warning messages will be populated here to indicate which choreography moves or parameters violated constraints of the robot. |
ChoreographerDisplayInfo.Category
Move Category affects the grouping in the choreographer list view, as well as the color it’s
displayed with.
Name |
Number |
Description |
CATEGORY_UNKNOWN |
0 |
|
CATEGORY_BODY |
1 |
|
CATEGORY_STEP |
2 |
|
CATEGORY_DYNAMIC |
3 |
|
CATEGORY_TRANSITION |
4 |
|
CATEGORY_KNEEL |
5 |
|
CATEGORY_ARM |
6 |
|
CATEGORY_ANIMATION |
7 |
|
ExecuteChoreographyResponse.Status
Name |
Number |
Description |
STATUS_UNKNOWN |
0 |
|
STATUS_OK |
1 |
|
STATUS_INVALID_UPLOADED_CHOREOGRAPHY |
2 |
|
STATUS_ROBOT_COMMAND_ISSUES |
3 |
|
STATUS_LEASE_ERROR |
4 |
|
MoveInfo.TransitionState
The state that the robot is in at the start or end of a move.
Name |
Number |
Description |
TRANSITION_STATE_UNKNOWN |
0 |
Unknown or unset state. |
TRANSITION_STATE_STAND |
1 |
The robot is in a normal (standing) state. |
TRANSITION_STATE_KNEEL |
2 |
The robot is kneeling down. |
TRANSITION_STATE_SIT |
3 |
The robot is sitting. |
TRANSITION_STATE_SPRAWL |
4 |
The robot requires a self-right. |