Home
FAQ
Player
Stage
Gazebo
Contrib
Documentation
Publications
Contributors
Users

Project
Download
Bugs/Feedback
Mailing lists

Radish

Old news
Old stuff

position
[Interfaces]


Detailed Description

The position interface is used to control mobile robot bases in 2D.


Classes

struct  player_position_data
 Data. More...

struct  player_position_cmd
 Command. More...

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

struct  player_position_power_config
 Configuratoin request: Motor power. More...

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

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

struct  player_position_position_mode_req
 Configuration request: Change control mode. More...

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

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

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

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

struct  player_rmp_config
 Configuration request: Segway RMP-specific configuration. More...


Defines

#define PLAYER_POSITION_GET_GEOM_REQ   ((uint8_t)1)
#define PLAYER_POSITION_MOTOR_POWER_REQ   ((uint8_t)2)
#define PLAYER_POSITION_VELOCITY_MODE_REQ   ((uint8_t)3)
#define PLAYER_POSITION_RESET_ODOM_REQ   ((uint8_t)4)
#define PLAYER_POSITION_POSITION_MODE_REQ   ((uint8_t)5)
#define PLAYER_POSITION_SPEED_PID_REQ   ((uint8_t)6)
#define PLAYER_POSITION_POSITION_PID_REQ   ((uint8_t)7)
#define PLAYER_POSITION_SPEED_PROF_REQ   ((uint8_t)8)
#define PLAYER_POSITION_SET_ODOM_REQ   ((uint8_t)9)
#define PLAYER_POSITION_RMP_VELOCITY_SCALE   ((uint8_t)51)
#define PLAYER_POSITION_RMP_ACCEL_SCALE   ((uint8_t)52)
#define PLAYER_POSITION_RMP_TURN_SCALE   ((uint8_t)53)
#define PLAYER_POSITION_RMP_GAIN_SCHEDULE   ((uint8_t)54)
#define PLAYER_POSITION_RMP_CURRENT_LIMIT   ((uint8_t)55)
#define PLAYER_POSITION_RMP_RST_INTEGRATORS   ((uint8_t)56)
#define PLAYER_POSITION_RMP_SHUTDOWN   ((uint8_t)57)
#define PLAYER_POSITION_RMP_RST_INT_RIGHT   0x01
#define PLAYER_POSITION_RMP_RST_INT_LEFT   0x02
#define PLAYER_POSITION_RMP_RST_INT_YAW   0x04
#define PLAYER_POSITION_RMP_RST_INT_FOREAFT   0x08

Typedefs

typedef player_position_data player_position_data_t
 Data.

typedef player_position_cmd player_position_cmd_t
 Command.

typedef player_position_geom player_position_geom_t
 Configuration request: Query geometry.

typedef player_position_power_config player_position_power_config_t
 Configuratoin request: Motor power.

typedef player_position_velocitymode_config player_position_velocitymode_config_t
 Configuration request: Change velocity control.

typedef player_position_resetodom_config player_position_resetodom_config_t
 Configuration request: Reset odometry.

typedef player_position_position_mode_req player_position_position_mode_req_t
 Configuration request: Change control mode.

typedef player_position_set_odom_req player_position_set_odom_req_t
 Configuration request: Set odometry.

typedef player_position_speed_pid_req player_position_speed_pid_req_t
 Configuration request: Set velocity PID parameters.

typedef player_position_position_pid_req player_position_position_pid_req_t
 Configuration request: Set position PID parameters.

typedef player_position_speed_prof_req player_position_speed_prof_req_t
 Configuration request: Set speed profile parameters.

typedef player_rmp_config player_rmp_config_t
 Configuration request: Segway RMP-specific configuration.


Define Documentation

#define PLAYER_POSITION_GET_GEOM_REQ   ((uint8_t)1)
 

#define PLAYER_POSITION_MOTOR_POWER_REQ   ((uint8_t)2)
 

#define PLAYER_POSITION_VELOCITY_MODE_REQ   ((uint8_t)3)
 

#define PLAYER_POSITION_RESET_ODOM_REQ   ((uint8_t)4)
 

#define PLAYER_POSITION_POSITION_MODE_REQ   ((uint8_t)5)
 

#define PLAYER_POSITION_SPEED_PID_REQ   ((uint8_t)6)
 

#define PLAYER_POSITION_POSITION_PID_REQ   ((uint8_t)7)
 

#define PLAYER_POSITION_SPEED_PROF_REQ   ((uint8_t)8)
 

#define PLAYER_POSITION_SET_ODOM_REQ   ((uint8_t)9)
 

#define PLAYER_POSITION_RMP_VELOCITY_SCALE   ((uint8_t)51)
 

#define PLAYER_POSITION_RMP_ACCEL_SCALE   ((uint8_t)52)
 

#define PLAYER_POSITION_RMP_TURN_SCALE   ((uint8_t)53)
 

#define PLAYER_POSITION_RMP_GAIN_SCHEDULE   ((uint8_t)54)
 

#define PLAYER_POSITION_RMP_CURRENT_LIMIT   ((uint8_t)55)
 

#define PLAYER_POSITION_RMP_RST_INTEGRATORS   ((uint8_t)56)
 

#define PLAYER_POSITION_RMP_SHUTDOWN   ((uint8_t)57)
 

#define PLAYER_POSITION_RMP_RST_INT_RIGHT   0x01
 

#define PLAYER_POSITION_RMP_RST_INT_LEFT   0x02
 

#define PLAYER_POSITION_RMP_RST_INT_YAW   0x04
 

#define PLAYER_POSITION_RMP_RST_INT_FOREAFT   0x08
 


Typedef Documentation

typedef struct player_position_data player_position_data_t
 

Data.

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

typedef struct player_position_cmd player_position_cmd_t
 

Command.

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

typedef struct player_position_geom player_position_geom_t
 

Configuration request: Query geometry.

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

typedef struct player_position_power_config player_position_power_config_t
 

Configuratoin 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_position_velocitymode_config player_position_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 position 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_position_resetodom_config player_position_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_position_position_mode_req player_position_position_mode_req_t
 

Configuration request: Change control mode.

typedef struct player_position_set_odom_req player_position_set_odom_req_t
 

Configuration request: Set odometry.

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

typedef struct player_position_speed_pid_req player_position_speed_pid_req_t
 

Configuration request: Set velocity PID parameters.

typedef struct player_position_position_pid_req player_position_position_pid_req_t
 

Configuration request: Set position PID parameters.

typedef struct player_position_speed_prof_req player_position_speed_prof_req_t
 

Configuration request: Set speed profile parameters.

typedef struct player_rmp_config player_rmp_config_t
 

Configuration request: Segway RMP-specific configuration.


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