00001 /** 00002 * 00003 * This file contains a class that estimates the distance to the border. 00004 * 00005 * @author <a href="mailto:juengel@informatik.hu-berlin.de">Matthias Juengel</a> 00006 */ 00007 00008 #ifndef __DistanceToBorderEstimator_h_ 00009 #define __DistanceToBorderEstimator_h_ 00010 00011 #include "SelfLocator.h" 00012 #include "Tools/RingBufferWithSum.h" 00013 00014 /** 00015 * The class implements a lines-based Monte Carlo self-localization. 00016 */ 00017 class DistanceToBorderEstimator : public SelfLocatorInterfaces 00018 { 00019 public: 00020 /** 00021 * Constructor. 00022 * @param interfaces The paramters of the SelfLocator module. 00023 */ 00024 DistanceToBorderEstimator(const SelfLocatorInterfaces& interfaces); 00025 /** 00026 * The function executes the module. 00027 */ 00028 virtual void execute(); 00029 private: 00030 RingBufferWithSum<10> distanceToBorderBuffer; 00031 int numberOfLinesPerceptsWithoutBorderPoints; 00032 int lastDistanceToBorder; 00033 }; 00034 00035 #endif// __DistanceToBorderEstimator_h_ 00036 00037 /* 00038 * Change log : 00039 * 00040 * $Log: DistanceToBorderEstimator.h,v $ 00041 * Revision 1.1.1.1 2004/05/22 17:20:41 cvsadm 00042 * created new repository GT2004_WM 00043 * 00044 * Revision 1.1 2004/03/27 16:17:24 juengel 00045 * Added DistanceToBorderEstimator. 00046 * 00047 * 00048 */