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

Modules/SelfLocator/GT2005SelfLocator/GT2005SelfLocatorParameters.h

Go to the documentation of this file.
00001 /**
00002 * @file Modules/SelfLocator/GT2005SelfLocator.h
00003 * 
00004 * This file contains parameters for the GT2005Parameter.
00005 *
00006 * @author Max Risler
00007 */
00008 
00009 #ifndef __GT2005SelfLocatorParameters_h__
00010 #define __GT2005SelfLocatorParameters_h__
00011 
00012 #include "Tools/Streams/Streamable.h"
00013 #include "Representations/Perception/LinesPercept.h"
00014 
00015 class GT2005SelfLocatorParameters : public Streamable
00016 {
00017   public:
00018 
00019     /** Constructor */
00020     GT2005SelfLocatorParameters();
00021 
00022     /*------------------------------ public variables ---------------------------------*/
00023 
00024     // parameter prepared for evolution
00025 
00026     // motion update parameters not yet adapted
00027 
00028     // observation update parameters
00029     // trust = weight / (variance)
00030 
00031     double 
00032             translationNoise,
00033             rotationNoise;
00034     bool noiseWithoutObservationUpdate;  // apply noise on samples without new observations 
00035 
00036     double  movedDistWeight,
00037             movedAngleWeight,
00038             majorDirTransWeight,
00039             minorDirTransWeight,
00040 
00041             headHeightEstimation,
00042 
00043             linePointZAngleVariance,
00044             linePointYAngleVariance,
00045             crossingZAngleVariance,
00046             crossingYAngleVariance,
00047             centerCircleZAngleVariance,
00048             centerCircleYAngleVariance,
00049             centerCircleOrientationAngleVariance,
00050 //            flagZAngleVariance,
00051             flagYAngleVariance,
00052             goalZAngleVariance,
00053             goalYAngleVariance,
00054 
00055             linePointZAngleMotionDependency,
00056             /*linePointYAngleMotionDependency,
00057             crossingZAngleMotionDependency,
00058             crossingYAngleMotionDependency,
00059             centerCircleZAngleMotionDependency,
00060             centerCircleYAngleMotionDependency,
00061             centerCircleOrientationAngleMotionDependency,
00062             flagZAngleMotionDependency,
00063             flagYAngleMotionDependency,
00064             goalZAngleMotionDependency,
00065             goalYAngleMotionDependency,*/
00066 
00067             linePointWeight,
00068             crossingWeight,
00069             centerCircleWeight,
00070             flagWeight,
00071             goalWeight;
00072 
00073   double probFlagUpLimit,       // step size for increasing probabilities
00074          probFlagDownLimit,     // step size for decreasing probabilities
00075          probLineUpLimit,       // step size for increasing probabilities
00076          probLineDownLimit,     // step size for decreasing probabilities
00077          probNoQualityOffset;   // particles with no valid quality are set to average probability minus this value
00078 
00079   int maxLinepoints,
00080       maxGoalpoints,
00081       maxBorderpoints,
00082       maxCrossings;
00083 
00084   double updateProbCenterCircle,  // probability for updating each sample with a center circle percept
00085          updateProbCrossing,      // probability for updating each sample with a line crossings percept
00086          updateProbFlag,          // probability for updating each sample with a flag percept
00087          updateProbGoalPost;      // probability for updating each sample with a goalpost percept
00088 
00089   double odometryProbNoCollision; // probability for a new sample created while no collision was detected of receiving odometry updates
00090   double odometryProbCollision;   // probability for a new sample created while a collision was detected of receiving odometry updates
00091 
00092   bool applyConstantResampling;   // when true a constant rate of samples is replaced in each frame 
00093                                   // instead of replacing according to average probability
00094   double constantResamplingRate;  // percentage of samples replaced each frame when applying constant resampling
00095 
00096   bool clipRobotPose;             // clip robot pose on the field
00097 
00098   bool resetSamplesWhenPenalized; // special sample position resetting when robot is penalized
00099 
00100   double agingFactor;             // sample probability is multiplied with this aging factor each frame
00101 
00102 
00103 
00104   virtual void serialize(In* in, Out* out)
00105   {
00106     STREAM_REGISTER_BEGIN();
00107     STREAM( translationNoise );
00108     STREAM( rotationNoise );
00109     STREAM( noiseWithoutObservationUpdate );
00110     STREAM( movedDistWeight );
00111     STREAM( movedAngleWeight );
00112     STREAM( majorDirTransWeight );
00113     STREAM( minorDirTransWeight );
00114     STREAM( headHeightEstimation );
00115     STREAM( linePointZAngleVariance );
00116     STREAM( linePointYAngleVariance );
00117     STREAM( crossingZAngleVariance );
00118     STREAM( crossingYAngleVariance );
00119     STREAM( centerCircleZAngleVariance );
00120     STREAM( centerCircleYAngleVariance );
00121     STREAM( centerCircleOrientationAngleVariance );
00122     //STREAM( flagZAngleVariance );
00123     STREAM( flagYAngleVariance );
00124     STREAM( goalZAngleVariance );
00125     STREAM( goalYAngleVariance );
00126     STREAM( linePointZAngleMotionDependency );
00127     STREAM( linePointWeight );
00128     STREAM( crossingWeight );
00129     STREAM( centerCircleWeight );
00130     STREAM( flagWeight );
00131     STREAM( goalWeight );
00132     STREAM( probFlagUpLimit );
00133     STREAM( probFlagDownLimit );
00134     STREAM( probLineUpLimit );
00135     STREAM( probLineDownLimit );
00136     STREAM( probNoQualityOffset );
00137     STREAM( maxLinepoints );
00138     STREAM( maxGoalpoints );
00139     STREAM( maxBorderpoints );
00140     STREAM( maxCrossings );
00141     STREAM( updateProbCenterCircle );
00142     STREAM( updateProbCrossing );
00143     STREAM( updateProbFlag );
00144     STREAM( updateProbGoalPost );
00145     STREAM( odometryProbNoCollision );
00146     STREAM( odometryProbCollision );
00147     STREAM( applyConstantResampling );
00148     STREAM( constantResamplingRate );
00149     STREAM( clipRobotPose );
00150     STREAM( resetSamplesWhenPenalized );
00151     STREAM( agingFactor );
00152     STREAM_REGISTER_FINISH();
00153   }
00154 };
00155 #endif

Generated on Mon Mar 20 21:59:55 2006 for GT2005 by doxygen 1.3.6