Mailing lists


Old news
Old stuff


Detailed Description

The position2d interface is used to control a planar mobile robot base. This interface is the same as the position interface, but uses different units (e.g., mrad instead of deg). The position2d interface will probably replace the position interface (eventually).


struct  player_position2d_data
 Data. More...

struct  player_position2d_cmd
 Command. More...

struct  player_position2d_geom
 Configuration request: Query geometry. More...

struct  player_position2d_power_config
 Configuration request : Motor power. More...

struct  player_position2d_velocitymode_config
 Configuration request: Change velocity control. More...

struct  player_position2d_resetodom_config
 Configuration request: Reset odometry. More...

struct  player_position2d_position_mode_req
 Configuration request: Change position control. More...

struct  player_position2d_set_odom_req
 Configuration request: Set odometry. More...

struct  player_position2d_speed_pid_req
 Configuration request: Set velocity PID parameters. More...

struct  player_position2d_position_pid_req
 Configuration request: Set position PID parameters. More...

struct  player_position2d_speed_prof_req
 Configuration request: Set speed profile parameters. More...


#define PLAYER_POSITION2D_GET_GEOM_REQ   ((uint8_t)1)
#define PLAYER_POSITION2D_MOTOR_POWER_REQ   ((uint8_t)2)
#define PLAYER_POSITION2D_RESET_ODOM_REQ   ((uint8_t)4)
#define PLAYER_POSITION2D_SPEED_PID_REQ   ((uint8_t)6)
#define PLAYER_POSITION2D_SPEED_PROF_REQ   ((uint8_t)8)
#define PLAYER_POSITION2D_SET_ODOM_REQ   ((uint8_t)9)
#define PLAYER_POSITION2D_RMP_ACCEL_SCALE   ((uint8_t)52)
#define PLAYER_POSITION2D_RMP_TURN_SCALE   ((uint8_t)53)
#define PLAYER_POSITION2D_RMP_SHUTDOWN   ((uint8_t)57)


typedef player_position2d_data player_position2d_data_t

typedef player_position2d_cmd player_position2d_cmd_t

typedef player_position2d_geom player_position2d_geom_t
 Configuration request: Query geometry.

typedef player_position2d_power_config player_position2d_power_config_t
 Configuration request : Motor power.

typedef player_position2d_velocitymode_config player_position2d_velocitymode_config_t
 Configuration request: Change velocity control.

typedef player_position2d_resetodom_config player_position2d_resetodom_config_t
 Configuration request: Reset odometry.

typedef player_position2d_position_mode_req player_position2d_position_mode_req_t
 Configuration request: Change position control.

typedef player_position2d_set_odom_req player_position2d_set_odom_req_t
 Configuration request: Set odometry.

typedef player_position2d_speed_pid_req player_position2d_speed_pid_req_t
 Configuration request: Set velocity PID parameters.

typedef player_position2d_position_pid_req player_position2d_position_pid_req_t
 Configuration request: Set position PID parameters.

typedef player_position2d_speed_prof_req player_position2d_speed_prof_req_t
 Configuration request: Set speed profile parameters.

Define Documentation

#define PLAYER_POSITION2D_GET_GEOM_REQ   ((uint8_t)1)

#define PLAYER_POSITION2D_MOTOR_POWER_REQ   ((uint8_t)2)


#define PLAYER_POSITION2D_RESET_ODOM_REQ   ((uint8_t)4)


#define PLAYER_POSITION2D_SPEED_PID_REQ   ((uint8_t)6)


#define PLAYER_POSITION2D_SPEED_PROF_REQ   ((uint8_t)8)

#define PLAYER_POSITION2D_SET_ODOM_REQ   ((uint8_t)9)


#define PLAYER_POSITION2D_RMP_ACCEL_SCALE   ((uint8_t)52)

#define PLAYER_POSITION2D_RMP_TURN_SCALE   ((uint8_t)53)




#define PLAYER_POSITION2D_RMP_SHUTDOWN   ((uint8_t)57)





Typedef Documentation

typedef struct player_position2d_data player_position2d_data_t


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

typedef struct player_position2d_cmd player_position2d_cmd_t


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

typedef struct player_position2d_geom player_position2d_geom_t

Configuration request: Query geometry.

To request robot geometry, set the subtype to PLAYER_POSITION2D_GET_GEOM_REQ and leave the other fields empty. The server will reply with the pose and size fields filled in.

typedef struct player_position2d_power_config player_position2d_power_config_t

Configuration request : Motor power.

On some robots, the motor power can be turned on and off from software. To do so, send a request with the format given below, and with the appropriate state (zero for motors off and non-zero for motors on). The server will reply with a zero-length acknowledgement.

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_position2d_velocitymode_config player_position2d_velocitymode_config_t

Configuration request: Change velocity control.

Some robots offer different velocity control modes. It can be changed by sending a request with the format given below, including the appropriate mode. No matter which mode is used, the external client interface to the position2d device remains the same. The server will reply with a zero-length acknowledgement.

The p2os driver offers two modes of velocity control: separate translational and rotational control and direct wheel control. When in the separate mode, the robot's microcontroller internally computes left and right wheel velocities based on the currently commanded translational and rotational velocities and then attenuates these values to match a nice predefined acceleration profile. When in the direct mode, the microcontroller simply passes on the current left and right wheel velocities. Essentially, the separate mode offers smoother but slower (lower acceleration) control, and the direct mode offers faster but jerkier (higher acceleration) control. Player's default is to use the direct mode. Set mode to zero for direct control and non-zero for separate control.

For the reb driver, 0 is direct velocity control, 1 is for velocity-based heading PD controller.

typedef struct player_position2d_resetodom_config player_position2d_resetodom_config_t

Configuration request: Reset odometry.

To reset the robot's odometry to $(x,y,\theta) = (0,0,0)$, use the following request. The server will reply with a zero-length acknowledgement.

typedef struct player_position2d_position_mode_req player_position2d_position_mode_req_t

Configuration request: Change position control.

typedef struct player_position2d_set_odom_req player_position2d_set_odom_req_t

Configuration request: Set odometry.

To set the robot's odometry to a particular state, use this request.

typedef struct player_position2d_speed_pid_req player_position2d_speed_pid_req_t

Configuration request: Set velocity PID parameters.

typedef struct player_position2d_position_pid_req player_position2d_position_pid_req_t

Configuration request: Set position PID parameters.

typedef struct player_position2d_speed_prof_req player_position2d_speed_prof_req_t

Configuration request: Set speed profile parameters.

Generated on Tue May 3 14:16:09 2005 for Player by doxygen 1.3.6