This page is a working page and thus the details will frequently change
A gesture is a just a small segment of the total gait. It defines the motion of just one foot. The attachment gesture is used to attach the foot to the wall.
The gesture is comprised of a series of commands. The controller will read each command individually and implement the effect immediately. One command is the delimiter command, which adds a time component to the gesture.
Name |
Hex |
Parameters |
Servo Position |
0x1? |
Sets the absolute position of the servo (2 bytes) |
Servo Velocity |
0x2? |
Velocity to increment the servo in terms of ticks per timestep (2 bytes) |
Servo Accleration |
0x3? |
Acceleration to increment the velocity in terms of ticks per timestep (2 bytes) |
Desired Force |
0x4? |
Desired force (2 bytes) |
Desired Force derivative |
0x5? |
The first time derivative of desired force w.r.t. timesteps (2 bytes) |
Compliance Gain |
0x6? |
Compliance gain (in terms of servo ticks per force units) (2 bytes) |
Compliance Gain derivative |
0x7? |
The first time derivative of the compliance gain w.r.t. timesteps (2 bytes) |
Time Delay |
0x80 |
The number of ticks to wait until executing the next commands (1 byte) |
End of Gesture |
0x90 |
This ends the gesture file. (0 bytes) |
The lower nibble of the command, represented by a
?
is used to indicate which servo to use, wing, stroke or foot.
Thus, to set the velocity of the stroke motor, use command
0x11
If a time-step lacks a particular entry, the last used entry is used. Upon entering a gesture, all values should be initialized. Otherwise, the resulting behavior is undefined.
--
SalomonTrujillo - 30 Aug 2006