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
00038 #ifndef SIMULATOR_MESSAGES_H
00039 #define SIMULATOR_MESSAGES_H
00040
00041 #ifdef __cplusplus
00042 extern "C" {
00043 #endif
00044
00045 #define CARMEN_SIMULATOR_CLEAR_OBJECTS_NAME "carmen_simulator_clear_objects"
00046 typedef carmen_default_message carmen_simulator_clear_objects_message;
00047 #define CARMEN_SIMULATOR_NEXT_TICK_NAME "carmen_simulator_next_tick"
00048 typedef carmen_default_message carmen_simulator_next_tick_message;
00049 #define CARMEN_SIMULATOR_TRUEPOS_QUERY_NAME "carmen_simulator_truepos_query"
00050 typedef carmen_default_message carmen_simulator_truepos_query_message;
00051 #define CARMEN_SIMULATOR_OBJECTS_QUERY_NAME "carmen_simulator_objects_query"
00052 typedef carmen_default_message carmen_simulator_objects_query_message;
00053
00054 typedef enum {CARMEN_SIMULATOR_RANDOM_OBJECT, CARMEN_SIMULATOR_LINE_FOLLOWER,
00055 CARMEN_SIMULATOR_OTHER_ROBOT} carmen_simulator_object_t;
00056
00057 typedef struct {
00058 carmen_point_t pose;
00059 double timestamp;
00060 char *host;
00061 } carmen_simulator_set_truepose_message;
00062
00063 #define CARMEN_SIMULATOR_SET_TRUEPOSE_NAME "carmen_simulator_set_truepose"
00064 #define CARMEN_SIMULATOR_SET_TRUEPOSE_FMT "{{double,double,double},double,string}"
00065
00066 typedef struct {
00067 carmen_point_t truepose;
00068 carmen_point_t odometrypose;
00069 double timestamp;
00070 char *host;
00071 } carmen_simulator_truepos_message;
00072
00073 #define CARMEN_SIMULATOR_TRUEPOS_NAME "carmen_simulator_truepos"
00074 #define CARMEN_SIMULATOR_TRUEPOS_FMT "{{double,double,double},{double,double,double},double,string}"
00075
00076 typedef struct {
00077 char *other_central;
00078 double timestamp;
00079 char *host;
00080 } carmen_simulator_connect_robots_message;
00081
00082 #define CARMEN_SIMULATOR_CONNECT_ROBOTS_NAME "carmen_simulator_connect_robots"
00083 #define CARMEN_SIMULATOR_CONNECT_ROBOTS_FMT "{string,double,string}"
00084
00085 typedef struct {
00086 carmen_point_t pose;
00087 double speed;
00088 carmen_simulator_object_t type;
00089 double timestamp;
00090 char *host;
00091 } carmen_simulator_set_object_message;
00092
00093 #define CARMEN_SIMULATOR_SET_OBJECT_NAME "carmen_simulator_set_object"
00094 #define CARMEN_SIMULATOR_SET_OBJECT_FMT "{{double,double,double},double,int,double,string}"
00095
00096 typedef struct {
00097 int num_objects;
00098 carmen_traj_point_t *objects_list;
00099 double timestamp;
00100 char *host;
00101 } carmen_simulator_objects_message;
00102
00103 #define CARMEN_SIMULATOR_OBJECTS_NAME "carmen_simulator_objects"
00104 #define CARMEN_SIMULATOR_OBJECTS_FMT "{int,<{double,double,double,double,double}:1>,double,string}"
00105
00106 #ifdef __cplusplus
00107 }
00108 #endif
00109
00110 #endif
00111
00112
00113