limb

A multi-jointed limb. More...


Detailed Description

A multi-jointed limb.

The limb interface provides access to a multi-jointed limb

#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_CMD_HOME)
#define PLAYER_LIMB_CMD_STOP   2
 Command: stop (PLAYER_LIMB_CMD_STOP)
#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_STATE)
typedef struct
player_limb_setpose_cmd 
player_limb_setpose_cmd_t
 Command: Set end effector pose (PLAYER_LIMB_CMD_SETPOSE)
typedef struct
player_limb_setposition_cmd 
player_limb_setposition_cmd_t
 Command: Set end effector position (PLAYER_LIMB_CMD_SETPOSITION)
typedef struct
player_limb_vecmove_cmd 
player_limb_vecmove_cmd_t
 Command: Vector move the end effector (PLAYER_LIMB_CMD_VECMOVE)
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.

Define Documentation

#define PLAYER_LIMB_CMD_HOME   1

Command: home (PLAYER_LIMB_CMD_HOME)

Tells the end effector to return to its home position.

Referenced by P2OS::ProcessMessage().

#define PLAYER_LIMB_CMD_STOP   2

Command: stop (PLAYER_LIMB_CMD_STOP)

Tells the limb to stop moving immediatly.

Referenced by P2OS::ProcessMessage().


Typedef Documentation

Request/reply: Brakes.

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

Data: state (PLAYER_LIMB_DATA_STATE)

The limb data packet.

Request/reply: get geometry.

Query geometry by sending a null PLAYER_LIMB_REQ_GEOM reqest.

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

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.

Command: Set end effector position (PLAYER_LIMB_CMD_SETPOSITION)

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

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.