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 player_limb_data player_limb_data_t
 Data: state (PLAYER_LIMB_DATA).
typedef player_limb_home_cmd player_limb_home_cmd_t
 Command: home (PLAYER_LIMB_HOME_CMD).
typedef player_limb_stop_cmd player_limb_stop_cmd_t
 Command: stop (PLAYER_LIMB_STOP_CMD).
typedef player_limb_setpose_cmd player_limb_setpose_cmd_t
 Command: Set end effector pose (PLAYER_LIMB_SETPOSE_CMD).
typedef player_limb_setposition_cmd player_limb_setposition_cmd_t
 Command: Set end effector position (PLAYER_LIMB_SETPOSITION_CMD).
typedef player_limb_vecmove_cmd player_limb_vecmove_cmd_t
 Command: Vector move the end effector (PLAYER_LIMB_VECMOVE_CMD).
typedef player_limb_power_req player_limb_power_req_t
 Request/reply: Power.
typedef player_limb_brakes_req player_limb_brakes_req_t
 Request/reply: Brakes.
typedef player_limb_geom_req player_limb_geom_req_t
 Request/reply: get geometry.
typedef 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.


Last updated 12 September 2005 21:38:45