position3d
Interface specifications

A robot that moves in 3-D. More...

#define | PLAYER_POSITION3D_DATA_STATE 1
| Data subtype: state.
#define | PLAYER_POSITION3D_DATA_GEOMETRY 2
| Data subtype: geometry.
#define | PLAYER_POSITION3D_CMD_SET_VEL 1
| Command subtype: velocity control.
#define | PLAYER_POSITION3D_CMD_SET_POS 2
| Command subtype: position control.
#define | PLAYER_POSITION3D_REQ_GET_GEOM 1
| Request/reply subtype: get geometry.
#define | PLAYER_POSITION3D_REQ_MOTOR_POWER 2
| Request/reply subtype: motor power.
#define | PLAYER_POSITION3D_REQ_VELOCITY_MODE 3
| Request/reply subtype: velocity mode.
#define | PLAYER_POSITION3D_REQ_POSITION_MODE 4
| Request/reply subtype: position mode.
#define | PLAYER_POSITION3D_REQ_RESET_ODOM 5
| Request/reply subtype: reset odometry.
#define | PLAYER_POSITION3D_REQ_SET_ODOM 6
| Request/reply subtype: set odometry.
#define | PLAYER_POSITION3D_REQ_SPEED_PID 7
| Request/reply subtype: set speed PID params.
#define | PLAYER_POSITION3D_REQ_POSITION_PID 8
| Request/reply subtype: set position PID params.
#define | PLAYER_POSITION3D_REQ_SPEED_PROF 9
| Request/reply subtype: set speed profile params.
typedef struct player_position3d_data | player_position3d_data_t
| Data: state (PLAYER_POSITION3D_DATA_STATE) More...
typedef struct player_position3d_cmd_pos | player_position3d_cmd_pos_t
| Command: position (PLAYER_POSITION3D_CMD_SET_POS) More...
typedef struct player_position3d_cmd_vel | player_position3d_cmd_vel_t
| Command: velocity (PLAYER_POSITION3D_CMD_SET_VEL) More...
typedef struct player_position3d_geom | player_position3d_geom_t
| Request/reply: Query geometry. More...
typedef struct player_position3d_power_config | player_position3d_power_config_t
| Request/reply: Motor power. More...
typedef struct player_position3d_position_mode_req | player_position3d_position_mode_req_t
| Request/reply: Change position control. More...
typedef struct player_position3d_velocity_mode_config | player_position3d_velocity_mode_config_t
| Request/reply: Change velocity control. More...
typedef struct player_position3d_set_odom_req | player_position3d_set_odom_req_t
| Request/reply: Set odometry. More...
typedef struct player_position3d_speed_pid_req | player_position3d_speed_pid_req_t
| Request/reply: Reset odometry. More...
typedef struct player_position3d_position_pid_req | player_position3d_position_pid_req_t
| Request/reply: Set position PID parameters. More...
typedef struct player_position3d_speed_prof_req | player_position3d_speed_prof_req_t
| Request/reply: Set speed profile parameters. More...

## Detailed Description

A robot that moves in 3-D.

The position3d interface is used to control mobile robot bases in 3D (i.e., pitch and roll are important).

## Typedef Documentation

typedef struct player_position3d_cmd_pos player_position3d_cmd_pos_t

Command: position (PLAYER_POSITION3D_CMD_SET_POS)

It accepts new positions and/or velocities for the robot's motors (drivers may support position control, speed control, or both).

typedef struct player_position3d_cmd_vel player_position3d_cmd_vel_t

Command: velocity (PLAYER_POSITION3D_CMD_SET_VEL)

It accepts new positions and/or velocities for the robot's motors (drivers may support position control, speed control, or both).

typedef struct player_position3d_data player_position3d_data_t

Data: state (PLAYER_POSITION3D_DATA_STATE)

This interface returns data regarding the odometric pose and velocity of the robot, as well as motor stall information.

typedef struct player_position3d_geom player_position3d_geom_t

Request/reply: Query geometry.

To request robot geometry, send a null PLAYER_POSITION3D_GET_GEOM request.

typedef struct player_position3d_position_mode_req player_position3d_position_mode_req_t

Request/reply: Change position control.

To change control mode, send a PLAYER_POSITION3D_POSITION_MODE request. Null response.

typedef struct player_position3d_position_pid_req player_position3d_position_pid_req_t

Request/reply: Set position PID parameters.

To set position PID parameters, send a PLAYER_POSITION3D_POSITION_PID request. Null response.

typedef struct player_position3d_power_config player_position3d_power_config_t

Request/reply: Motor power.

On some robots, the motor power can be turned on and off from software. To do so, send a PLAYER_POSITION3D_REQ_MOTOR_POWER request with the format given below, and with the appropriate `state` (zero for motors off and non-zero for motors on). Null response.

Be VERY careful with this command! You are very likely to start the robot running across the room at high speed with the battery charger still attached.

typedef struct player_position3d_set_odom_req player_position3d_set_odom_req_t

Request/reply: Set odometry.

To set the robot's odometry to a particular state, send a PLAYER_POSITION3D_SET_ODOM request. Null response.

typedef struct player_position3d_speed_pid_req player_position3d_speed_pid_req_t

Request/reply: Reset odometry.

To reset the robot's odometry to , send a PLAYER_POSITION3D_RESET_ODOM request. Null response. Request/reply: Set velocity PID parameters.

To set velocity PID parameters, send a PLAYER_POSITION3D_SPEED_PID request. Null response.

typedef struct player_position3d_speed_prof_req player_position3d_speed_prof_req_t

Request/reply: Set speed profile parameters.

To set speed profile parameters, send a PLAYER_POSITION3D_SPEED_PROF request. Null response.

typedef struct player_position3d_velocity_mode_config player_position3d_velocity_mode_config_t

Request/reply: Change velocity control.

Some robots offer different velocity control modes. It can be changed by sending a PLAYER_POSITION3D_VELOCITY_MODE request with the format given below, including the appropriate mode. No matter which mode is used, the external client interface to the `position3d` device remains the same. Null response.

Last updated 12 September 2005 21:38:45