limb
[Interface specifications]
Collaboration diagram for limb:
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_STATE 1 |
Data subtype: state. | |
#define | PLAYER_LIMB_CMD_HOME 1 |
Command: home (PLAYER_LIMB_HOME_CMD). | |
#define | PLAYER_LIMB_CMD_STOP 2 |
Command: stop (PLAYER_LIMB_STOP_CMD). | |
#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 player_limb_data | player_limb_data_t |
Data: state (PLAYER_LIMB_DATA). | |
typedef player_limb_setpose_cmd | player_limb_setpose_cmd_t |
Command: Set end effector pose (PLAYER_LIMB_CMD_SETPOSE). | |
typedef player_limb_setposition_cmd | player_limb_setposition_cmd_t |
Command: Set end effector position (PLAYER_LIMB_CMD_SETPOSITION). | |
typedef player_limb_vecmove_cmd | player_limb_vecmove_cmd_t |
Command: Vector move the end effector (PLAYER_LIMB_CMD_VECMOVE). | |
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. |
Define Documentation
#define PLAYER_LIMB_CMD_HOME 1 |
Command: home (PLAYER_LIMB_HOME_CMD).
Tells the end effector to return to its home position.
Definition at line 4297 of file player_interfaces.h.
Referenced by P2OS::HandleLimbCommand(), and P2OS::ProcessMessage().
#define PLAYER_LIMB_CMD_STOP 2 |
Command: stop (PLAYER_LIMB_STOP_CMD).
Tells the limb to stop moving immediatly.
Definition at line 4302 of file player_interfaces.h.
Referenced by P2OS::HandleLimbCommand(), and 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.