Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Modules/SelfLocator/SpecialPerceptSelfLocator.h

Go to the documentation of this file.
00001 /**
00002 * @file Modules/SelfLocator/SpecialPerceptSelfLocator.h
00003 * 
00004 * This file contains a class for self-localization based on
00005 * special percepts, e.g. checkerboard percepts.
00006 *
00007 * @author <a href="mailto:dueffert@informatik.hu-berlin.de">Uwe Düffert</a>
00008 *
00009 */
00010 
00011 #ifndef __SpecialPerceptSelfLocator_h_
00012 #define __SpecialPerceptSelfLocator_h_
00013 
00014 #include "SelfLocator.h"
00015 #include "Tools/RingBuffer.h"
00016 //#include "Tools/Math/Matrix2x2.h"
00017 //#include "Tools/Math/Vector2.h"
00018 #include "Tools/Math/PIDsmoothedValue.h"
00019 
00020 
00021 /**
00022 * Class for self-localization based on special percepts, e.g. checkerboard percepts
00023 * (see ImageProcessor/checkerboardDetector.* for details)
00024 */
00025 class SpecialPerceptSelfLocator : public SelfLocator
00026 {
00027 public:
00028   /** 
00029   * Constructor.
00030   * @param interfaces The paramters of the SelfLocator module.
00031   */
00032   SpecialPerceptSelfLocator(const SelfLocatorInterfaces& interfaces);
00033   
00034   /**
00035   * Destructor.
00036   */
00037   ~SpecialPerceptSelfLocator() {}
00038   
00039   /** Executes the module */
00040   virtual void execute();
00041 
00042 private:
00043   Pose2D lastRobotPose;
00044   int psdCrashCount;
00045   Pose2D lastOdometry;
00046   
00047 /*
00048   //6x6-Kalman:
00049   Matrix_3x6 H;
00050   Matrix_6x6 A;
00051   Matrix_6x1 xpre;
00052   Matrix_6x6 P;
00053   Matrix_6x6 Ppre;
00054   Matrix_3x3 R;
00055   Matrix_6x3 K;
00056 */
00057 
00058 /*
00059   //2x2-Kalman:
00060   Vector2<double> H;
00061   Matrix2x2<double> A;
00062   Vector2<double> xpre;
00063   Matrix2x2<double> P;
00064   Matrix2x2<double> Ppre;
00065   double R;
00066   Vector2<double> K;
00067 */
00068 
00069 /*
00070   //quadratische Kurve:
00071   RingBuffer<Pose2D,12> perceptPoseBuffer;
00072   RingBuffer<unsigned long,12> perceptTimeBuffer;
00073 */
00074   //PIDsmoothed:
00075   PIDsmoothedValue robotPosX, robotPosY, robotPosR;
00076   unsigned long lastFrame;
00077   bool lastWasOutlier;
00078 };
00079 
00080 #endif// __SpecialPerceptSelfLocator_h_
00081 
00082 /*
00083 * Change log :
00084 * 
00085 * $Log: SpecialPerceptSelfLocator.h,v $
00086 * Revision 1.1.1.1  2004/05/22 17:20:49  cvsadm
00087 * created new repository GT2004_WM
00088 *
00089 * Revision 1.5  2004/03/15 12:34:05  dueffert
00090 * cool filter for single outliers implemented
00091 *
00092 * Revision 1.4  2004/03/08 02:11:49  roefer
00093 * Interfaces should be const
00094 *
00095 * Revision 1.3  2004/01/16 15:47:51  dueffert
00096 * some improvements
00097 *
00098 * Revision 1.2  2003/11/10 13:34:07  dueffert
00099 * checkerboard localization improved
00100 *
00101 * Revision 1.1  2003/10/06 14:10:15  cvsadm
00102 * Created GT2004 (M.J.)
00103 *
00104 * Revision 1.3  2003/08/09 14:53:10  dueffert
00105 * files and docu beautified
00106 *
00107 * Revision 1.2  2003/07/30 14:47:46  dueffert
00108 * SpecialPerceptSelfLocator for Checkboard added
00109 *
00110 * Revision 1.1.1.1  2003/07/02 09:40:24  cvsadm
00111 * created new repository for the competitions in Padova from the 
00112 * tamara CVS (Tuesday 2:00 pm)
00113 *
00114 * removed unused solutions
00115 *
00116 * Revision 1.2  2003/03/31 21:01:44  roefer
00117 * Moved class Field to Tools
00118 *
00119 * Revision 1.1  2003/01/22 14:59:49  dueffert
00120 * checkerboard stuff added
00121 *
00122 *
00123 */

Generated on Thu Sep 23 19:57:32 2004 for GT2004 by doxygen 1.3.6