map

Access maps. More...


Detailed Description

Access maps.

The map interface provides access to maps. Depending on the underlying driver, the map may be provided as an occupancy grid, or as a set of segments (or both). In either case, the map is retrieved by request only. Segment (aka vector) maps are delivered in one message, whereas grid maps are delivered in tiles, via a sequence of requests.

#define PLAYER_MAP_DATA_INFO   1
 Data subtype: grid map metadata.
#define PLAYER_MAP_DATA_INFO   1
 Data subtype: grid map metadata.
#define PLAYER_MAP_REQ_GET_INFO   1
 Request/reply subtype: get grid map metadata.
#define PLAYER_MAP_REQ_GET_DATA   2
 Request/reply subtype: get grid map tile.
#define PLAYER_MAP_REQ_GET_VECTOR   3
 Request/reply subtype: get vector map.
typedef struct player_map_info player_map_info_t
 Data subtype: grid map metadata.
typedef struct player_map_data player_map_data_t
 Request/reply: get grid map tile.
typedef struct
player_map_data_vector 
player_map_data_vector_t
 Request/reply: get vector map.

Typedef Documentation

Request/reply: get grid map tile.

To request a grid map tile, send a PLAYER_MAP_REQ_GET_DATA request with the tile origin and size you want. Set data_count to 0 and leave the data field empty. The response will contain origin, size, and occupancy data for a tile. Note that the response tile may not be exactly the same as the tile you requested (e.g., your requested tile is too large or runs off the map).

Request/reply: get vector map.

A vector map is represented as line segments. To retrieve the vector map, send a null PLAYER_MAP_REQ_GET_VECTOR request.