laser_messages.h

Go to the documentation of this file.
00001 /*********************************************************
00002  *
00003  * This source code is part of the Carnegie Mellon Robot
00004  * Navigation Toolkit (CARMEN)
00005  *
00006  * CARMEN Copyright (c) 2002 Michael Montemerlo, Nicholas
00007  * Roy, and Sebastian Thrun
00008  *
00009  * CARMEN is free software; you can redistribute it and/or 
00010  * modify it under the terms of the GNU General Public 
00011  * License as published by the Free Software Foundation; 
00012  * either version 2 of the License, or (at your option)
00013  * any later version.
00014  *
00015  * CARMEN is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY; without even the implied 
00017  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00018  * PURPOSE.  See the GNU General Public License for more 
00019  * details.
00020  *
00021  * You should have received a copy of the GNU General 
00022  * Public License along with CARMEN; if not, write to the
00023  * Free Software Foundation, Inc., 59 Temple Place, 
00024  * Suite 330, Boston, MA  02111-1307 USA
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;  /* if and what kind of remission values are used */
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 // @}

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