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 CARMEN_LASER_MESSAGES_H
00039 #define CARMEN_LASER_MESSAGES_H
00040
00041 #ifdef __cplusplus
00042 extern "C" {
00043 #endif
00044
00046 typedef enum {SICK_LMS = 0,
00047 SICK_PLS = 1,
00048 HOKUYO_URG = 2,
00049 SIMULATED_LASER = 3,
00050 UMKNOWN_PROXIMITY_SENSOR = 99}
00051 carmen_laser_laser_type_t;
00052
00054 typedef enum {OFF = 0,
00055 DIRECT = 1,
00056 NORMALIZED = 2}
00057 carmen_laser_remission_type_t;
00058
00060 typedef struct {
00061 carmen_laser_laser_type_t laser_type;
00062 double start_angle;
00063 double fov;
00064 double angular_resolution;
00065 double maximum_range;
00066 double accuracy;
00068 carmen_laser_remission_type_t remission_mode;
00069
00070 } carmen_laser_laser_config_t;
00071
00072
00074 typedef struct {
00075 carmen_laser_laser_config_t config;
00076 int num_readings;
00077 float *range;
00078 int num_remissions;
00079 float *remission;
00080 double timestamp;
00081 char *host;
00082 } carmen_laser_laser_message;
00083
00084
00086 #define CARMEN_LASER_LASER_FMT "{{int,double,double,double,double,double,int},int,<float:2>,int,<float:4>,double,string}"
00087
00088 #define CARMEN_LASER_FRONTLASER_NAME "carmen_laser_frontlaser"
00089 #define CARMEN_LASER_FRONTLASER_FMT CARMEN_LASER_LASER_FMT
00090
00092 #define CARMEN_LASER_LASER1_NAME CARMEN_LASER_FRONTLASER_NAME
00093 #define CARMEN_LASER_LASER1_FMT CARMEN_LASER_FRONTLASER_FMT
00094
00095 #define CARMEN_LASER_REARLASER_NAME "carmen_laser_rearlaser"
00096 #define CARMEN_LASER_REARLASER_FMT CARMEN_LASER_LASER_FMT
00097
00099 #define CARMEN_LASER_LASER2_NAME CARMEN_LASER_REARLASER_NAME
00100 #define CARMEN_LASER_LASER2_FMT CARMEN_LASER_REARLASER_FMT
00101
00102 #define CARMEN_LASER_LASER3_NAME "carmen_laser_laser3"
00103 #define CARMEN_LASER_LASER3_FMT CARMEN_LASER_LASER_FMT
00104
00105 #define CARMEN_LASER_LASER4_NAME "carmen_laser_laser4"
00106 #define CARMEN_LASER_LASER4_FMT CARMEN_LASER_LASER_FMT
00107
00108 #define CARMEN_LASER_LASER5_NAME "carmen_laser_laser5"
00109 #define CARMEN_LASER_LASER5_FMT CARMEN_LASER_LASER_FMT
00110
00111
00113 typedef struct {
00114 int frontlaser_stalled;
00115 int rearlaser_stalled;
00116 int laser3_stalled;
00117 int laser4_stalled;
00118 int laser5_stalled;
00119 } carmen_laser_alive_message;
00120
00121 #define CARMEN_LASER_ALIVE_NAME "carmen_laser_alive"
00122 #define CARMEN_LASER_ALIVE_FMT "{int,int,int,int,int}"
00123
00124
00125 #ifdef __cplusplus
00126 }
00127 #endif
00128
00129 #endif
00130
00131