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

Modules/BehaviorControl/CommonXabsl2Symbols/ChallengeSymbols.h

Go to the documentation of this file.
00001 /** 
00002 * @file ChallengeSymbols.h
00003 *
00004 * Declaration of class ChallengeSymbols.
00005 *
00006 * @author Thomas Röfer
00007 */
00008 
00009 #ifndef __ChallengeSymbols_h_
00010 #define __ChallengeSymbols_h_
00011 
00012 #include "../BehaviorControl.h"
00013 #include "Tools/Xabsl2/Xabsl2Engine/Xabsl2Engine.h"
00014 
00015 /**
00016 * The Xabsl2 symbols that are defined in "challenge-symbols.xml"
00017 *
00018 * @author Thomas Röfer
00019 */ 
00020 class ChallengeSymbols : public Xabsl2FunctionProvider, public BehaviorControlInterfaces
00021 {
00022 public:
00023 /*
00024 * Constructor.
00025 * @param interfaces The parameters of the BehaviorControl module.
00026   */
00027   ChallengeSymbols(const BehaviorControlInterfaces& interfaces);
00028   
00029   /** registers the symbols at an engine */
00030   void registerSymbols(Xabsl2Engine& engine);
00031 
00032   /** updates the symbols */
00033   void update();
00034   void challenge2Swap(Pose2D* p, int i, int j);
00035   void challenge2ShortestPermutation(Pose2D* p, int n, double& minLength);
00036   void challenge2ShortestPath();
00037   void challenge2OptimalRotation(Pose2D& pose);
00038   double challenge2TargetPositionX(); /**< Returns x coordinate of target position with current index. */
00039   double challenge2TargetPositionY(); /**< Returns y coordinate of target position with current index. */
00040   double challenge2TargetPositionRotation(); /**< Returns rotation of target position with current index. */
00041 private:
00042   Pose2D targetPositions[5]; /**< The 5 target positions for the localization challenge */
00043   double index, /**< the index for targetPosition? functions */
00044          lastIndex; /**< The index of the previous call */
00045 
00046 };
00047 
00048 
00049 #endif // __ChallengeSymbols_h_
00050 
00051 /*
00052 * Change Log
00053 * 
00054 * $Log: ChallengeSymbols.h,v $
00055 * Revision 1.2  2004/06/28 12:27:59  schumann
00056 * part 1 of the almost slam challenge behavior
00057 *
00058 * Revision 1.1.1.1  2004/05/22 17:16:57  cvsadm
00059 * created new repository GT2004_WM
00060 *
00061 * Revision 1.2  2004/03/08 00:58:55  roefer
00062 * Interfaces should be const
00063 *
00064 * Revision 1.1  2003/10/22 22:18:44  loetzsch
00065 * prepared the cloning of the GT2003BehaviorControl
00066 *
00067 */
00068 

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