|
Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages
laser.hGo to the documentation of this file.00001 00002 /************************************************************************** 00003 * Desc: Sensor models for the laser sensor. 00004 * Author: Andrew Howard 00005 * Date: 15 Dec 2002 00006 * CVS: $Id: laser.h,v 1.5 2003/08/23 04:03:43 inspectorg Exp $ 00007 *************************************************************************/ 00008 00009 #ifndef LASER_H 00010 #define LASER_H 00011 00012 #include "../pf/pf.h" 00013 #include "../map/map.h" 00014 00015 #ifdef __cplusplus 00016 extern "C" { 00017 #endif 00018 00019 00020 // Info for a single range measurement 00021 typedef struct 00022 { 00023 double range, bearing; 00024 00025 } laser_range_t; 00026 00027 00028 // Model information 00029 typedef struct 00030 { 00031 // Pointer to the map 00032 map_t *map; 00033 00034 // Laser pose relative to robot 00035 pf_vector_t laser_pose; 00036 00037 // Covariance in the range reading 00038 double range_cov; 00039 00040 // Probability of spurious range readings 00041 double range_bad; 00042 00043 // Pre-computed laser sensor model 00044 int lut_size; 00045 double lut_res; 00046 double *lut_probs; 00047 00048 // Laser (range, bearing) values 00049 int range_count; 00050 laser_range_t *ranges; 00051 00052 } laser_t; 00053 00054 00055 // Create an sensor model 00056 laser_t *laser_alloc(map_t *map); 00057 00058 // Free an sensor model 00059 void laser_free(laser_t *sensor); 00060 00061 // Clear all existing range readings 00062 void laser_clear_ranges(laser_t *sensor); 00063 00064 // Set the laser range readings that will be used. 00065 void laser_add_range(laser_t *sensor, double range, double bearing); 00066 00067 // The sensor model function 00068 double laser_sensor_model(laser_t *sensor, pf_vector_t pose); 00069 00070 00071 #ifdef __cplusplus 00072 } 00073 #endif 00074 00075 #endif 00076 Generated on Tue May 3 14:15:34 2005 for Player by 1.3.6 |