00001 /** 00002 * 00003 * @author <A href=mailto:c_rohde@web.de>Carsten Rohde</A> 00004 */ 00005 00006 #ifndef __ComboLocator_h_ 00007 #define __ComboLocator_h_ 00008 00009 #include "SelfLocator.h" 00010 #include "LinesTables2005.h" 00011 #include "GT2005SelfLocator/GT2005SelfLocator.h" 00012 #include "GT2005StableSelfLocator/GT2005StableSelfLocator.h" 00013 #include "SelfLocator.h" 00014 00015 /** 00016 * The class implements a lines-based Monte Carlo self-localization. 00017 */ 00018 class ComboLocator : public SelfLocator, public LinesTables2005 00019 { 00020 private: 00021 SelfLocator* locator1; 00022 SelfLocator* locator2; 00023 Pose2D currentPose; 00024 Pose2D pose1; 00025 Pose2D pose2; 00026 bool finished; 00027 Vector2<double> dummy; 00028 00029 double *result1, *result2; 00030 long frames; 00031 00032 public: 00033 enum{ 00034 NO_OF_FRAMES = 3000 00035 }; 00036 /** 00037 * Constructor. 00038 * @param interfaces The paramters of the SelfLocator module. 00039 */ 00040 ComboLocator(const SelfLocatorInterfaces& interfaces); 00041 ~ComboLocator(void); 00042 /** 00043 * The function executes the module. 00044 */ 00045 virtual void execute(); 00046 virtual bool handleMessage(InMessage& message); 00047 }; 00048 00049 #endif
1.3.6