lasermodel.h
00001 #ifndef LASERMODEL_H_
00002 #define LASERMODEL_H_
00003
00004 typedef struct
00005 {
00006 double range, bearing;
00007 } laser_range_t;
00008
00009 class LaserModel
00010 {
00011 private:
00012 mapgrid * * map;
00013 double range_cov;
00014 double range_bad;
00015
00016 int lut_size;
00017 double lut_res;
00018 double *lut_probs;
00019 int range_count;
00020 laser_range_t *ranges;
00021 public :
00022 void ClearRanges();
00023 void AddRange(double,double);
00024 void PreCompute();
00025 double RangeProb(double,double);
00026 double PoseProb();
00027 LaserModel();
00028 ~LaserModel();
00029 LaserModel(mapgrid * * );
00030 };
00031 #endif