The Maptools Module (maptools)

The CARMEN maptools module. More...


Files

file  linemapping.h
 Library for generating linemaps.
file  map_interface.h
 Library of function for mapserver clients.
file  map_messages.h
 Definition of the messages for this module.

Data Structures

struct  carmen_linemapping_segment_t
struct  carmen_linemapping_segment_set_t
struct  carmen_linemapping_parameters_t
struct  carmen_hmap_message
struct  carmen_grid_map_message
struct  carmen_named_gridmap_request
struct  carmen_map_placelist_message
struct  carmen_map_named_placelist_request
struct  carmen_map_offlimits_message
struct  carmen_map_named_offlimits_request
struct  carmen_map_zone_message
struct  carmen_map_change_map_zone_request
struct  carmen_map_change_map_zone_response

Defines

#define CARMEN_LINEMAPPING_ROBOT_FRAME   1
#define CARMEN_LINEMAPPING_GLOBAL_FRAME   0
#define CARMEN_HMAP_REQUEST_NAME   "carmen_hmap_request"
#define CARMEN_GRIDMAP_REQUEST_NAME   "carmen_gridmap_request"
#define CARMEN_PLACELIST_REQUEST_NAME   "carmen_placelist_request"
#define CARMEN_OFFLIMITS_REQUEST_NAME   "carmen_offlimits_request"
#define CARMEN_MAP_HMAP_NAME   "carmen_hmap_message"
#define CARMEN_MAP_HMAP_FMT   "{{int, <string:1>, int, <{int, int, <int:2>, int, <{double, double, double}:4>}:3>},double,string}"
#define CARMEN_MAP_GRIDMAP_NAME   "carmen_grid_map_message"
#define CARMEN_MAP_GRIDMAP_UPDATE_NAME   "carmen_grid_map_update_message"
#define CARMEN_MAP_GRIDMAP_FMT   "{<char:2>, int, int, {int, int, double, string}, string, double, string}"
#define CARMEN_NAMED_GRIDMAP_REQUEST_NAME   "carmen_named_gridmap_request"
#define CARMEN_NAMED_GRIDMAP_REQUEST_FMT   "{string,double,string}"
#define CARMEN_MAP_PLACELIST_NAME   "carmen_placelist_message"
#define CARMEN_MAP_PLACELIST_FMT   "{<{int,int,[char:22],double,double,double,double,double,double}:2>,int,double,string}"
#define CARMEN_NAMED_PLACELIST_REQUEST_NAME   "carmen_named_placelist_request"
#define CARMEN_NAMED_PLACELIST_REQUEST_FMT   "{string,double,string}"
#define CARMEN_MAP_OFFLIMITS_NAME   "carmen_offlimits_message"
#define CARMEN_MAP_OFFLIMITS_FMT   "{<{int,int,int,int,int}:2>,int,double,string}"
#define CARMEN_NAMED_OFFLIMITS_REQUEST_NAME   "carmen_named_offlimits_request"
#define CARMEN_NAMED_OFFLIMITS_REQUEST_FMT   "{string,double,string}"
#define CARMEN_MAP_ZONE_NAME   "carmen_map_zone_message"
#define CARMEN_MAP_ZONE_FMT   "{string,double,string}"
#define CARMEN_CHANGE_MAP_ZONE_REQUEST_NAME   "carmen_change_map_zone_request"
#define CARMEN_CHANGE_MAP_ZONE_REQUEST_FMT   "{string,double,string}"
#define CARMEN_CHANGE_MAP_ZONE_RESPONSE_NAME   "carmen_change_map_zone_response"
#define CARMEN_CHANGE_MAP_ZONE_RESPONSE_FMT   "{string,double,string}"

Typedefs

typedef carmen_default_message carmen_hmap_request_message
typedef carmen_default_message carmen_gridmap_request_message
typedef carmen_default_message carmen_placelist_request_message
typedef carmen_default_message carmen_offlimits_request_message

Functions

void carmen_linemapping_init (int argc, char **argv)
carmen_linemapping_segment_set_t carmen_linemapping_get_segments_from_scan (const carmen_robot_laser_message *scan, int local)
carmen_linemapping_segment_set_t carmen_linemapping_get_segments_from_beams (const carmen_robot_laser_message *scan, int local, int from, int to)
carmen_linemapping_segment_set_t carmen_linemapping_get_segments_from_scans (const carmen_robot_laser_message *multiple_scans, int num_scans)
void carmen_linemapping_update_linemap (carmen_linemapping_segment_set_t *linemap, const carmen_robot_laser_message *laser)
void carmen_linemapping_free_segments (carmen_linemapping_segment_set_t *s)
double carmen_linemapping_angle_difference (const carmen_linemapping_segment_t *s1, const carmen_linemapping_segment_t *s2)
double carmen_linemapping_distance_point_point (const carmen_point_t *p1, const carmen_point_t *p2)
double carmen_linemapping_segment_length (const carmen_linemapping_segment_t *s)
double carmen_linemapping_distance_point_linesegment (const carmen_linemapping_segment_t *l, const carmen_point_t *p)
double carmen_linemapping_distance_linesegment_linesegment (const carmen_linemapping_segment_t *l1, const carmen_linemapping_segment_t *l2)
int carmen_map_get_hmap (carmen_hmap_p hmap)
int carmen_map_change_map_zone (char *zone_name)
void carmen_map_subscribe_map_zone_message (char **zone_name, carmen_handler_t handler, carmen_subscribe_t subscribe_how)
int carmen_map_get_gridmap (carmen_map_p map)
int carmen_map_get_gridmap_by_name (char *name, carmen_map_p map)
void carmen_map_subscribe_gridmap_update_message (carmen_map_t *map, carmen_handler_t handler, carmen_subscribe_t subscribe_how)
int carmen_map_get_placelist (carmen_map_placelist_p placelist)
int carmen_map_get_placelist_by_name (char *name, carmen_map_placelist_p placelist)
int carmen_map_get_offlimits (carmen_offlimits_p *offlimits, int *list_length)
int carmen_map_get_offlimits_by_name (char *name, carmen_offlimits_p *offlimits, int *list_length)
int carmen_map_apply_offlimits_chunk_to_map (carmen_offlimits_p offlimits, int list_length, carmen_map_p map)
int carmen_map_to_world (carmen_map_point_p map_point, carmen_world_point_p world_point)
int carmen_world_to_map (carmen_world_point_p world_point, carmen_map_point_p map_point)
int carmen_point_to_map (carmen_point_p point, carmen_map_point_p map_point, carmen_map_p map)
double carmen_distance_map (carmen_map_point_p p1, carmen_map_point_p p2)
double carmen_distance_world (carmen_world_point_p p1, carmen_world_point_p p2)
int carmen_map_cmp (carmen_map_point_p p1, carmen_map_point_p p2)
int carmen_world_cmp (carmen_world_point_p p1, carmen_world_point_p p2)
int carmen_map_to_trajectory (carmen_map_point_p carmen_map_point, carmen_traj_point_p traj_point)
int carmen_trajectory_to_map (carmen_traj_point_p traj_point, carmen_map_point_p carmen_map_point, carmen_map_p map)
carmen_map_p carmen_map_copy (carmen_map_p map)
void carmen_map_destroy (carmen_map_p *map)

Detailed Description

The CARMEN maptools module.

A set of small tool for maps.


Generated on Wed Apr 5 18:34:21 2006 for CARMEN by  doxygen 1.4.4