next up previous contents
Next: 4.8 position Up: 4. Device Reference Previous: 4.6 laser   Contents

Subsections


4.7 localize

Synopsis

The localize proxy provides an interface to localization drivers. Generally speaking, these are abstract drivers that attempt to localize the robot by matching sensor observations (odometry, laser and/or sonar) against a prior map of the environment (such as an occupancy grid). Since the pose may be ambiguous, multiple hypotheses may returned; each hypothesis specifies one possible pose estimate for the robot. See the Player manual for details of the localize interface, and and drivers that support it (such as the amcl driver).

Data



struct playerc_localize_hypoth_t : Hypothesis data.

double mean[3];
Pose estimate (x, y, theta) in (m, m, radians).

double cov[3][3];
Covariance.

double weight;
Weight associated with this hypothesis.



struct playerc_localize_t : Localization device data.

playerc_device_t info;
Device info; must be at the start of all device structures.

int map_size_x, map_size_y;
Map dimensions (cells).

double map_scale;
Map scale (m/cell).

int map_tile_x, map_tile_y;
Next map tile to read.

int8_t *map_cells;
Map data (empty = -1, unknown = 0, occupied = +1).

int pending_count;
The number of pending (unprocessed) sensor readings.

double pending_time;
The timestamp on the last reading processed.

int hypoth_count;
playerc_localize_hypoth_t hypoths[PLAYER_LOCALIZE_MAX_HYPOTHS];
List of possible poses.

Methods

playerc_localize_t *playerc_localize_create(playerc_client_t *client, int index);

Create a localize proxy.

void playerc_localize_destroy(playerc_localize_t *device);

Destroy a localize proxy.

int playerc_localize_subscribe(playerc_localize_t *device, int access);

Subscribe to the localize device.

int playerc_localize_unsubscribe(playerc_localize_t *device);

Un-subscribe from the localize device.

int playerc_localize_set_pose(playerc_localize_t *device, double pose[3], double cov[3][3]);

Set the the robot pose (mean and covariance).

int playerc_localize_get_map_info(playerc_localize_t *device);

Retrieve the occupancy map info. The info is written into the proxy structure.

int playerc_localize_get_map_tile(playerc_localize_t *device);

Retrieve a tile from occupancy map. The map is written into the proxy structure.

int playerc_localize_get_map(playerc_localize_t *device);

Retrieve the entire occupancy map. The map is written into the proxy structure.

int playerc_localize_get_config(playerc_localize_t *device, player_localize_config_t *config);

Get the current configuration.

int playerc_localize_set_config(playerc_localize_t *device, player_localize_config_t config);

Modify the current configuration.


next up previous contents
Next: 4.8 position Up: 4. Device Reference Previous: 4.6 laser   Contents
2004-05-31