00001 /** 00002 * @file GT2004ConfigurationSymbols.h 00003 * 00004 * Declaration of class GT2004ConfigurationSymbols. 00005 * 00006 * @author Max Risler 00007 */ 00008 00009 #ifndef __GT2004ConfigurationSymbols_h_ 00010 #define __GT2004ConfigurationSymbols_h_ 00011 00012 #include "../../BehaviorControl.h" 00013 #include "Tools/Xabsl2/Xabsl2Engine/Xabsl2Engine.h" 00014 00015 /** 00016 * The Xabsl2 symbols that are defined in "configuration-symbols.xml" 00017 * 00018 * @author Max Risler 00019 */ 00020 class GT2004ConfigurationSymbols : public Xabsl2FunctionProvider, public BehaviorControlInterfaces 00021 { 00022 public: 00023 /* 00024 * Constructor. 00025 * @param interfaces The parameters of the BehaviorControl module. 00026 */ 00027 GT2004ConfigurationSymbols(BehaviorControlInterfaces& interfaces); 00028 00029 /** registers the symbols at an engine */ 00030 void registerSymbols(Xabsl2Engine& engine); 00031 00032 /** updates the symbols */ 00033 void update(); 00034 00035 //!@name Input symbols 00036 //!@{ 00037 double getCurrentKickoff(); /*!< A function for the symbol "current-kickoff-variant" */ 00038 double getOwnKickoffX(); /*!< A function for the symbol "own-kickoff.x" */ 00039 double getOwnKickoffY(); /*!< A function for the symbol "own-kickoff.y" */ 00040 double getOwnKickoffAngle(); /*!< A function for the symbol "own-kickoff.angle" */ 00041 double getOwnKickoffXByObstacles(); /*!< A function for the symbol "own-kickoff.x" by obstacle model */ 00042 double getOwnKickoffYByObstacles(); /*!< A function for the symbol "own-kickoff.y" by obstacle model */ 00043 double getOwnKickoffAngleByObstacles(); /*!< A function for the symbol "own-kickoff.angle" by obstacle model */ 00044 double getOpponentKickoffX(); /*!< A function for the symbol "opponent-kickoff.x" */ 00045 double getOpponentKickoffY(); /*!< A function for the symbol "opponent-kickoff.y" */ 00046 double getOpponentKickoffAngle(); /*!< A function for the symbol "opponent-kickoff.angle" */ 00047 //!@} 00048 private: 00049 00050 /** number of different kickoff variants */ 00051 enum { numOfKickoff = 2 }; 00052 00053 /** the max speed with which the robot walks to its kickoff position */ 00054 double goToKickoffMaxSpeed; 00055 00056 /** the goalie start position */ 00057 Vector2<double> goalie; 00058 00059 /** the defensive supporter start position */ 00060 Vector2<double> defensiveSupporter; 00061 00062 /** the offensive supporter start position at opponent kickoff */ 00063 Vector2<double> offensiveSupporterOpponentKickoff; 00064 /** the striker start position at opponent kickoff */ 00065 Vector2<double> strikerOpponentKickoff; 00066 00067 /** the offensive supporter start position at own kickoff */ 00068 Vector2<double> offensiveSupporterOwnKickoff[numOfKickoff]; 00069 /** the orientation of the offensive supporter at own kickoff in degrees */ 00070 double offensiveSupporterOwnKickoffAngle[numOfKickoff]; 00071 /** the striker start position at own kickoff */ 00072 Vector2<double> strikerOwnKickoff[numOfKickoff]; 00073 /** the orientation of the striker at own kickoff in degrees */ 00074 double strikerOwnKickoffAngle[numOfKickoff]; 00075 00076 /** 00077 * current own kickoff variant 00078 */ 00079 int currentKickoff; 00080 00081 /** kickoff-position of striker based on obstacle-model */ 00082 Pose2D obstacleKickoff; 00083 }; 00084 00085 00086 #endif // __GT2004ConfigurationSymbols_h_ 00087 00088 /* 00089 * Change Log 00090 * 00091 * $Log: GT2004ConfigurationSymbols.h,v $ 00092 * Revision 1.2 2004/07/02 16:52:55 thomas 00093 * modified kickoff 00094 * - striker positioning to angle based on obstacle-model 00095 * - supporter not so near to side-border and a bit more away from middle-line 00096 * 00097 * Revision 1.1.1.1 2004/05/22 17:18:02 cvsadm 00098 * created new repository GT2004_WM 00099 * 00100 * Revision 1.1 2004/05/02 13:23:45 juengel 00101 * Added GT2004BehaviorControl. 00102 * 00103 */ 00104