00001 /** 00002 * @file Modules/HeadControl/GT2005HeadControl/GT2005HeadControlSymbols.h 00003 * 00004 * Declaration of class GT2005HeadControlSymbols. 00005 * 00006 * @author Martin Lötzsch 00007 */ 00008 00009 #ifndef __GT2005HeadControlSymbols_h_ 00010 #define __GT2005HeadControlSymbols_h_ 00011 00012 #include "../HeadControl.h" 00013 #include "Tools/Xabsl2/Xabsl2Engine/Xabsl2Engine.h" 00014 00015 // prototype to avoid inclusion of GT2004HeadControl.h 00016 class GT2005HeadControl; 00017 00018 // prototype to avoid inclusion of GT2004HeadControlBasicBehavior.h 00019 class GT2005BasicBehaviorDirectedScanForLandmarks; 00020 00021 /** 00022 * The Xabsl2 symbols that are defined in "symbols.xml" 00023 * 00024 * @author Martin Lötzsch 00025 */ 00026 class GT2005HeadControlSymbols : public Xabsl2FunctionProvider, public HeadControlInterfaces 00027 { 00028 public: 00029 /* 00030 * Constructor. 00031 * @param interfaces The paramters of the HeadControl module. 00032 * @param headControl A reference to the HeadControl module 00033 */ 00034 GT2005HeadControlSymbols(const HeadControlInterfaces& interfaces, 00035 GT2005HeadControl& headControl, 00036 GT2005BasicBehaviorDirectedScanForLandmarks& msh05BasicBehaviorDirectedScanForLandmarks); 00037 00038 /** registers the symbols at an engine */ 00039 void registerSymbols(Xabsl2Engine& engine); 00040 00041 /** updates the symbols */ 00042 void update(); 00043 00044 //!@name Input symbols 00045 //!@{ 00046 double getPositionInWalkCycle(); /*!< A function for the symbol "position-in-walk-cycle" */ 00047 double getBallTimeSinceLastSeen(); /*!< A function for the symbol "ball.time-since-last-seen" */ 00048 double getTimeSinceLastSeenConsecutively(); /*!< A function for the symbol "ball.time-since-last-seen-consecutively" */ 00049 double getBallConsecutivelySeenTime(); /*!< A function for the symbol "ball.consecutive-seen-time" */ 00050 double getCommunicatedBallDistance(); /*!< A function for the symbol "ball.communicated-ball-distance" */ 00051 double getRelativeBallSpeedX(); /*!< A function for the symbol "ball.relative-speed-x" */ 00052 double getRelativeBallSpeedY(); /*!< A function for the symbol "ball.relative-speed-y" */ 00053 double getBallSpeedAbs(); /*!< A function for the symbol "ball.speed-abs" */ 00054 double getSeenDistance(); /*!< A function for the symbol "ball.seen.distance" */ 00055 double getTimeSinceLastSeenABeacon(); /*!< A function for the symbol "time-since-last-seen-beacon" */ 00056 double getTimeBetweenSeen2LastBeacons(); /*!< A function for the symbol "time-between-last-beacons" */ 00057 bool getBodyPSDDetectBall(); /*!< A function for the symbol "body-PSD-detect-ball" */ 00058 bool getLastHeadPathIsFinished(); /*!< A function for the symbol "last-head-path-is-finished" */ 00059 bool getSetJointsIsCloseToDestination(); /*!< A function for the symbol "set-joints-is-close-to-destination" */ 00060 bool getSetJointsMaxPanReached(); /*!< A function for the symbol "set-joints-max-pan-reached" */ 00061 bool getNextLandmarkIsWithinReach(); /*!< A function for the symbol "next-landmark-is-within-reach" */ 00062 bool getReleasingBallLeftIsPossible(); /*!< A function for the symbol "releasing-ball-left-is-possible" */ 00063 bool getReleasingBallRightIsPossible(); /*!< A function for the symbol "releasing-ball-right-is-possible" */ 00064 //!@} 00065 00066 private: 00067 /** A reference to the HeadControl module */ 00068 GT2005HeadControl& headControl; 00069 GT2005BasicBehaviorDirectedScanForLandmarks& msh05BasicBehaviorDirectedScanForLandmarks; 00070 00071 int lastSeenBeaconIndex; 00072 }; 00073 00074 00075 #endif // __GT2004HeadControlSymbols_h_ 00076
1.3.6