position2d
[Interface specifications]
Detailed Description
Planar mobile robot.
The position2d
interface is used to control mobile robot bases in 2D.
Typedef Documentation
|
Command: carlike (PLAYER_POSITION2D_CMD_CAR).
The |
|
Command: position (PLAYER_POSITION2D_CMD_POS).
The |
|
Command: vel/head (PLAYER_POSITION2D_CMD_VEL_HEAD).
The |
|
Command: velocity (PLAYER_POSITION2D_CMD_VEL).
The |
|
Data: state (PLAYER_POSITION2D_DATA_STATE).
The |
|
Data AND Request/reply: geometry. To request robot geometry, send a null PLAYER_POSITION2D_REQ_GET_GEOM request. Depending on the underlying driver, this message may also be sent as data, with subtype PLAYER_POSITION2D_DATA_GEOM. |
|
Request/reply: Change control mode. To change control mode, send a PLAYER_POSITION2D_REQ_POSITION_MODE request. Null response. |
|
Request/reply: Set position PID parameters. To set position PID parameters, send a PLAYER_POSITION2D_REQ_POSITION_PID request. Null response. |
|
Request/reply: Motor power.
On some robots, the motor power can be turned on and off from software. To do so, send a PLAYER_POSITION2D_REQ_MOTOR_POWER request with the format given below, and with the appropriate 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. |
|
Request/reply: Reset odometry. To reset the robot's odometry to , send a PLAYER_POSITION2D_REQ_RESET_ODOM request. Null response. |
|
Request/reply: Set odometry. To set the robot's odometry to a particular state, send a PLAYER_POSITION2D_REQ_SET_ODOM request. Null response. |
|
Request/reply: Set velocity PID parameters. To set velocity PID parameters, send a PLAYER_POSITION2D_REQ_SPEED_PID request. Null response. |
|
Request/reply: Set linear speed profile parameters. To set linear speed profile parameters, send a PLAYER_POSITION2D_REQ_SPEED_PROF request. Null response. |
|
Request/reply: Change velocity control.
Some robots offer different velocity control modes. It can be changed by sending a PLAYER_POSITION2D_REQ_VELOCITY_MODE request with the format given below, including the appropriate mode. No matter which mode is used, the external client interface to the 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. |