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   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.

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

Typedef Documentation

Request/reply: Brakes.

Turn the brakes of the limb on or off by sending a PLAYER_LIMB_BRAKES_REQ request. Null response

Data: state (PLAYER_LIMB_DATA).

The limb data packet.

Request/reply: get geometry.

Query geometry by sending a null PLAYER_LIMB_GEOM_REQ reqest.

Command: home (PLAYER_LIMB_HOME_CMD).

Tells the end effector to return to its home position.

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

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.

Command: Set end effector position (PLAYER_LIMB_SETPOSITION_CMD).

Set the position of the end effector without worrying about a specific orientation.

Request/reply: Speed.

Set the speed of the end effector for all subsequent movements by sending a PLAYER_LIMB_SPEED_REQ request. Null response.

Command: stop (PLAYER_LIMB_STOP_CMD).

Tells the limb to stop moving immediatly.

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