00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00029
00030
00039 #ifndef CARMEN_LOCALIZE_MESSAGES_H
00040 #define CARMEN_LOCALIZE_MESSAGES_H
00041
00042 #ifdef __cplusplus
00043 extern "C" {
00044 #endif
00045
00046
00047
00048 #define CARMEN_INITIALIZE_UNIFORM 1
00049 #define CARMEN_INITIALIZE_GAUSSIAN 2
00050
00051 typedef struct {
00052 int distribution;
00053 int num_modes;
00054 carmen_point_t *mean, *std;
00055 double timestamp;
00056 char *host;
00057 } carmen_localize_initialize_message;
00058
00059 #define CARMEN_LOCALIZE_INITIALIZE_NAME "carmen_localize_initialize"
00060 #define CARMEN_LOCALIZE_INITIALIZE_FMT "{int,int,<{double,double,double}:2>,<{double,double,double}:2>,double,string}"
00061
00062
00063
00064 typedef struct {
00065 char *placename;
00066 double timestamp;
00067 char *host;
00068 } carmen_localize_initialize_placename_message;
00069
00070 #define CARMEN_LOCALIZE_INITIALIZE_PLACENAME_NAME "carmen_localize_initialize_placename"
00071 #define CARMEN_LOCALIZE_INITIALIZE_PLACENAME_FMT "{string,double,string}"
00072
00073
00074
00075 typedef struct {
00076 carmen_point_t globalpos, globalpos_std;
00077 carmen_point_t odometrypos;
00078 double globalpos_xy_cov;
00079 int converged;
00080 double timestamp;
00081 char *host;
00082 } carmen_localize_globalpos_message;
00083
00084 #define CARMEN_LOCALIZE_GLOBALPOS_NAME "carmen_localize_globalpos"
00085 #define CARMEN_LOCALIZE_GLOBALPOS_FMT "{{double,double,double},{double,double,double},{double,double,double},double,int,double,string}"
00086
00087
00088
00089 typedef struct {
00090 float x, y, theta, weight;
00091 } carmen_localize_particle_ipc_t, *carmen_localize_particle_ipc_p;
00092
00093 typedef struct {
00094 int num_particles;
00095 carmen_localize_particle_ipc_p particles;
00096 carmen_point_t globalpos, globalpos_std;
00097 double globalpos_xy_cov;
00098 double timestamp;
00099 char *host;
00100 } carmen_localize_particle_message;
00101
00102 #define CARMEN_LOCALIZE_PARTICLE_NAME "carmen_localize_particle"
00103 #define CARMEN_LOCALIZE_PARTICLE_FMT "{int,<{float,float,float,float}:1>,{double,double,double},{double,double,double},double,double,string}"
00104
00105
00106
00107 typedef struct {
00108 carmen_laser_laser_config_t config;
00109 int num_readings, laser_skip;
00110 float *range;
00111 char *mask;
00112 carmen_point_t pose;
00113 int num_laser;
00114 double timestamp;
00115 char *host;
00116 } carmen_localize_sensor_message;
00117
00118 #define CARMEN_LOCALIZE_SENSOR_NAME "carmen_localize_sensor"
00119 #define CARMEN_LOCALIZE_SENSOR_FMT "{{int,double,double,double,double,double,int},int,int,<float:2>,<char:2>,{double,double,double},int,double,string}"
00120
00121 typedef struct {
00122 int map_is_global_likelihood;
00123 double timestamp;
00124 char *host;
00125 } carmen_localize_map_query_message;
00126
00127 #define CARMEN_LOCALIZE_MAP_QUERY_NAME "carmen_localize_map_query"
00128 #define CARMEN_LOCALIZE_MAP_QUERY_FMT "{int,double,string}"
00129
00130 typedef struct {
00131 unsigned char *data;
00132 int size;
00133 carmen_map_config_t config;
00134 int compressed;
00135 int map_is_global_likelihood;
00136 double timestamp;
00137 char *host;
00138 } carmen_localize_map_message;
00139
00140 #define CARMEN_LOCALIZE_MAP_NAME "carmen_localize_map"
00141 #define CARMEN_LOCALIZE_MAP_FMT "{<char:2>,int,{int,int,double,string},int,int,double,string}"
00142
00143 #define CARMEN_LOCALIZE_GLOBALPOS_QUERY_NAME "carmen_localize_globalpos_query"
00144 typedef carmen_default_message carmen_localize_globalpos_query_message;
00145
00146 #ifdef __cplusplus
00147 }
00148 #endif
00149
00150 #endif
00151