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_BASE_MESSAGES_H
00040 #define CARMEN_BASE_MESSAGES_H
00041
00042 #ifdef __cplusplus
00043 extern "C" {
00044 #endif
00045
00046
00047
00048 #define CARMEN_BASE_RESET_OCCURRED_NAME "carmen_base_reset_occurred"
00049 typedef carmen_default_message carmen_base_reset_occurred_message;
00050 #define CARMEN_BASE_RESET_COMMAND_NAME "carmen_base_reset_command"
00051 typedef carmen_default_message carmen_base_reset_command_message;
00052
00053 typedef struct {
00054 double x, y, theta;
00055 double tv, rv;
00056 double acceleration;
00057 double timestamp;
00058 char *host;
00059 } carmen_base_odometry_message;
00060
00061 #define CARMEN_BASE_ODOMETRY_NAME "carmen_base_odometry"
00062 #define CARMEN_BASE_ODOMETRY_FMT "{double,double,double,double,double,double,double,string}"
00063
00064 typedef struct {
00065 double tv, rv;
00066 double timestamp;
00067 char *host;
00068 } carmen_base_velocity_message;
00069
00070 #define CARMEN_BASE_VELOCITY_NAME "carmen_base_velocity"
00071 #define CARMEN_BASE_VELOCITY_FMT "{double,double,double,string}"
00072
00073 typedef struct {
00074 double xv;
00075 double yv;
00076 double rv;
00077 double timestamp;
00078 char *host;
00079 } carmen_base_holonomic_velocity_message;
00080
00081 #define CARMEN_BASE_HOLONOMIC_VELOCITY_NAME "carmen_base_holonomic_velocity"
00082 #define CARMEN_BASE_HOLONOMIC_VELOCITY_FMT "{double,double,double,double,string}"
00083
00084 typedef struct {
00085 int num_sonars;
00086 double sensor_angle;
00087 double *range;
00088 carmen_point_p positions;
00089 double timestamp;
00090 char *host;
00091 } carmen_base_sonar_message;
00092
00093 #define CARMEN_BASE_SONAR_NAME "carmen_base_sonar"
00094 #define CARMEN_BASE_SONAR_FMT "{int,double,<double:1>,<{double,double,double}:1>,double,string}"
00095
00096 typedef struct {
00097 int rate;
00098 int num_sonars;
00099 int *order;
00100 carmen_point_t *sonar_offsets;
00101 double timestamp;
00102 char *host;
00103 } carmen_base_sonar_conf_message;
00104
00105 #define CARMEN_BASE_SONAR_CONF_NAME "carmen_base_sonar_conf"
00106 #define CARMEN_BASE_SONAR_CONF_FMT "{int,int,<int:2>,<{double,double,double}:2>,double,string}"
00107
00108 typedef struct {
00109 int num_bumpers;
00110 unsigned char *state;
00111 double timestamp;
00112 char *host;
00113 } carmen_base_bumper_message;
00114
00115 #define CARMEN_BASE_BUMPER_NAME "carmen_base_bumper"
00116 #define CARMEN_BASE_BUMPER_FMT "{int,<char:1>,double,string}"
00117
00118 typedef struct {
00119 int num_irs;
00120 double *range;
00121 double timestamp;
00122 char *host;
00123 } carmen_base_ir_message;
00124
00125 #define CARMEN_BASE_IR_NAME "carmen_base_ir"
00126 #define CARMEN_BASE_IR_FMT "{int,<double:1>,double,string}"
00127
00128 typedef struct {
00129 int history;
00130 int num_irs;
00131 int order[32];
00132 double timestamp;
00133 char *host;
00134 } carmen_base_ir_conf_message;
00135
00136 #define CARMEN_BASE_IR_CONF_NAME "carmen_base_ir_conf"
00137 #define CARMEN_BASE_IR_CONF_FMT "{int,int,[int:32],double,string}"
00138
00139 typedef struct {
00140 unsigned char *data;
00141 int size;
00142 double timestamp;
00143 char *host;
00144 } carmen_base_binary_data_message;
00145
00146 #define CARMEN_BASE_BINARY_COMMAND_NAME "carmen_base_binary_command"
00147 #define CARMEN_BASE_BINARY_COMMAND_FMT "{<char:2>,int,double,string}"
00148
00149 #define CARMEN_BASE_BINARY_DATA_NAME "carmen_base_binary_data"
00150 #define CARMEN_BASE_BINARY_DATA_FMT "{<char:2>,int,double,string}"
00151
00152 #ifdef __cplusplus
00153 }
00154 #endif
00155
00156 #endif
00157
00158
00159