limb
Interface specifications

A multi-jointed limb. More...

#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_STATE 1
| Data subtype: state.
#define | PLAYER_LIMB_CMD_HOME 1
| Command: home (PLAYER_LIMB_HOME_CMD) More...
#define | PLAYER_LIMB_CMD_STOP 2
| Command: stop (PLAYER_LIMB_STOP_CMD) More...
#define | PLAYER_LIMB_CMD_SETPOSE 3
| Command subtype: set pose.
#define | PLAYER_LIMB_CMD_SETPOSITION 4
| Command subtype: set position.
#define | PLAYER_LIMB_CMD_VECMOVE 5
| Command subtype: vector move.
#define | PLAYER_LIMB_REQ_POWER 1
| Request/reply: power.
#define | PLAYER_LIMB_REQ_BRAKES 2
| Request/reply: brakes.
#define | PLAYER_LIMB_REQ_GEOM 3
| Request/reply: geometry.
#define | PLAYER_LIMB_REQ_SPEED 4
| Request/reply: speed.
typedef struct player_limb_data | player_limb_data_t
| Data: state (PLAYER_LIMB_DATA) More...
typedef struct player_limb_setpose_cmd | player_limb_setpose_cmd_t
| Command: Set end effector pose (PLAYER_LIMB_CMD_SETPOSE) More...
typedef struct player_limb_setposition_cmd | player_limb_setposition_cmd_t
| Command: Set end effector position (PLAYER_LIMB_CMD_SETPOSITION) More...
typedef struct player_limb_vecmove_cmd | player_limb_vecmove_cmd_t
| Command: Vector move the end effector (PLAYER_LIMB_CMD_VECMOVE) More...
typedef struct player_limb_power_req | player_limb_power_req_t
| Request/reply: Power. More...
typedef struct player_limb_brakes_req | player_limb_brakes_req_t
| Request/reply: Brakes. More...
typedef struct player_limb_geom_req | player_limb_geom_req_t
| Request/reply: get geometry. More...
typedef struct player_limb_speed_req | player_limb_speed_req_t
| Request/reply: Speed. More...

## Detailed Description

A multi-jointed limb.

The limb interface provides access to a multi-jointed limb

## Macro Definition Documentation

#define PLAYER_LIMB_CMD_HOME 1

Command: home (PLAYER_LIMB_HOME_CMD)

Tells the end effector to return to its home position.

Referenced by P2OS::ProcessMessage().

#define PLAYER_LIMB_CMD_STOP 2

Command: stop (PLAYER_LIMB_STOP_CMD)

Tells the limb to stop moving immediatly.

Referenced by P2OS::ProcessMessage().

## 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_REQ_BRAKES 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_REQ_GEOM reqest.

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_REQ_POWER 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_CMD_SETPOSE)

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_CMD_SETPOSITION)

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_REQ_SPEED request. Null response.

typedef struct player_limb_vecmove_cmd player_limb_vecmove_cmd_t

Command: Vector move the end effector (PLAYER_LIMB_CMD_VECMOVE)

Move the end effector along the provided vector from its current position for the provided distance.

Last updated 12 September 2005 21:38:45