limb
[Interface specifications]
Detailed Description
A multi-jointed limb.The limb interface provides access to a multi-jointed limb
- Todo:
- Use pre-defined types, like player_pose3d_t, wherever possible
| #define | PLAYER_LIMB_STATE_IDLE 1 |
| Idle. | |
| #define | PLAYER_LIMB_STATE_BRAKED 2 |
| Brakes are on. | |
| #define | PLAYER_LIMB_STATE_MOVING 3 |
| Moving to target. | |
| #define | PLAYER_LIMB_STATE_OOR 4 |
| Target was out of reach. | |
| #define | PLAYER_LIMB_STATE_COLL 5 |
| Target was blocked by collision. | |
| #define | PLAYER_LIMB_DATA 1 |
| Data subtype: state. | |
| #define | PLAYER_LIMB_HOME_CMD 1 |
| Command subtype: home. | |
| #define | PLAYER_LIMB_STOP_CMD 2 |
| Command subtype: stop. | |
| #define | PLAYER_LIMB_SETPOSE_CMD 3 |
| Command subtype: set pose. | |
| #define | PLAYER_LIMB_SETPOSITION_CMD 4 |
| Command subtype: set position. | |
| #define | PLAYER_LIMB_VECMOVE_CMD 5 |
| Command subtype: vector move. | |
| #define | PLAYER_LIMB_POWER_REQ 1 |
| Request/reply: power. | |
| #define | PLAYER_LIMB_BRAKES_REQ 2 |
| Request/reply: brakes. | |
| #define | PLAYER_LIMB_GEOM_REQ 3 |
| Request/reply: geometry. | |
| #define | PLAYER_LIMB_SPEED_REQ 4 |
| Request/reply: speed. | |
| typedef struct player_limb_data | player_limb_data_t |
| Data: state (PLAYER_LIMB_DATA). | |
| typedef struct player_limb_home_cmd | player_limb_home_cmd_t |
| Command: home (PLAYER_LIMB_HOME_CMD). | |
| typedef struct player_limb_stop_cmd | player_limb_stop_cmd_t |
| Command: stop (PLAYER_LIMB_STOP_CMD). | |
| typedef struct player_limb_setpose_cmd | player_limb_setpose_cmd_t |
| Command: Set end effector pose (PLAYER_LIMB_SETPOSE_CMD). | |
| typedef struct player_limb_setposition_cmd | player_limb_setposition_cmd_t |
| Command: Set end effector position (PLAYER_LIMB_SETPOSITION_CMD). | |
| typedef struct player_limb_vecmove_cmd | player_limb_vecmove_cmd_t |
| Command: Vector move the end effector (PLAYER_LIMB_VECMOVE_CMD). | |
| typedef struct player_limb_power_req | player_limb_power_req_t |
| Request/reply: Power. | |
| typedef struct player_limb_brakes_req | player_limb_brakes_req_t |
| Request/reply: Brakes. | |
| typedef struct player_limb_geom_req | player_limb_geom_req_t |
| Request/reply: get geometry. | |
| typedef struct player_limb_speed_req | player_limb_speed_req_t |
| Request/reply: Speed. |
Typedef Documentation
| typedef struct player_limb_brakes_req player_limb_brakes_req_t |
Request/reply: Brakes.
Turn the brakes of the limb on or off by sending a PLAYER_LIMB_BRAKES_REQ request. Null response
| typedef struct player_limb_data player_limb_data_t |
Data: state (PLAYER_LIMB_DATA).
The limb data packet.
| typedef struct player_limb_geom_req player_limb_geom_req_t |
Request/reply: get geometry.
Query geometry by sending a null PLAYER_LIMB_GEOM_REQ reqest.
| typedef struct player_limb_home_cmd player_limb_home_cmd_t |
Command: home (PLAYER_LIMB_HOME_CMD).
Tells the end effector to return to its home position.
| typedef struct player_limb_power_req player_limb_power_req_t |
Request/reply: Power.
Turn the power to the limb by sending a PLAYER_LIMB_POWER_REQ request. Be careful when turning power on that the limb is not obstructed from its home position in case it moves to it (common behaviour). Null reponse
| typedef struct player_limb_setpose_cmd player_limb_setpose_cmd_t |
Command: Set end effector pose (PLAYER_LIMB_SETPOSE_CMD).
Provides a fully-described pose (position, normal vector and orientation vector) for the end effector to move to.
| typedef struct player_limb_setposition_cmd player_limb_setposition_cmd_t |
Command: Set end effector position (PLAYER_LIMB_SETPOSITION_CMD).
Set the position of the end effector without worrying about a specific orientation.
| typedef struct player_limb_speed_req player_limb_speed_req_t |
Request/reply: Speed.
Set the speed of the end effector for all subsequent movements by sending a PLAYER_LIMB_SPEED_REQ request. Null response.
| typedef struct player_limb_stop_cmd player_limb_stop_cmd_t |
Command: stop (PLAYER_LIMB_STOP_CMD).
Tells the limb to stop moving immediatly.
| typedef struct player_limb_vecmove_cmd player_limb_vecmove_cmd_t |
Command: Vector move the end effector (PLAYER_LIMB_VECMOVE_CMD).
Move the end effector along the provided vector from its current position for the provided distance.
