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

Modules/HeadControl/GT2004HeadControl/GT2004HeadControlSymbols.h

Go to the documentation of this file.
00001 /** 
00002 * @file GT2004HeadControlSymbols.h
00003 *
00004 * Declaration of class GT2004HeadControlSymbols.
00005 *
00006 * @author Martin Lötzsch
00007 */
00008 
00009 #ifndef __GT2004HeadControlSymbols_h_
00010 #define __GT2004HeadControlSymbols_h_
00011 
00012 #include "../HeadControl.h"
00013 #include "Tools/Xabsl2/Xabsl2Engine/Xabsl2Engine.h"
00014 
00015 // prototype to avoid inclusion of GT2004HeadControl.h
00016 class GT2004HeadControl;
00017 
00018 // prototype to avoid inclusion of GT2004HeadControlBasicBehavior.h
00019 class GT2004BasicBehaviorDirectedScanForLandmarks;
00020 
00021 /**
00022 * The Xabsl2 symbols that are defined in "symbols.xml"
00023 *
00024 * @author Martin Lötzsch
00025 */ 
00026 class GT2004HeadControlSymbols : 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   GT2004HeadControlSymbols(const HeadControlInterfaces& interfaces, 
00035     GT2004HeadControl& headControl,
00036     GT2004BasicBehaviorDirectedScanForLandmarks& gt2004BasicBehaviorDirectedScanForLandmarks);
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   GT2004HeadControl& headControl;
00069   GT2004BasicBehaviorDirectedScanForLandmarks& gt2004BasicBehaviorDirectedScanForLandmarks;
00070   
00071   int lastSeenBeaconIndex;
00072 };
00073 
00074 
00075 #endif // __GT2004HeadControlSymbols_h_
00076 
00077 /*
00078 * Change Log
00079 * 
00080 * $Log: GT2004HeadControlSymbols.h,v $
00081 * Revision 1.14  2004/06/28 09:46:57  dassler
00082 * introduced some more headcontrol symbols
00083 * time-since-last-seen-beacon
00084 * time-between-last-beacons
00085 *
00086 * Revision 1.13  2004/06/27 15:37:45  dassler
00087 * introduced ball speed to headcontrol
00088 *
00089 * Revision 1.12  2004/06/23 17:31:46  loetzsch
00090 * improved
00091 *
00092 * Revision 1.11  2004/06/23 12:46:40  loetzsch
00093 * added "ball.time-since-last-seen-consecutively"
00094 *
00095 * Revision 1.10  2004/06/18 18:28:39  dassler
00096 * introduced basic-behavior:
00097 * BeginBallSearchAtBallPositionSeen
00098 * BeginBallSearchAtBallPositionCommunicated
00099 * BeginBallSearchAtBallPositionPropagated
00100 *
00101 * track-ball modified and build in ball-just-lost
00102 *
00103 * Revision 1.9  2004/06/16 18:14:00  jhoffman
00104 * - search-for-landmarks-bug removed (setjointsdirect now sets "headPathPlanner.last...")
00105 *
00106 * Revision 1.8  2004/06/15 16:29:56  jhoffman
00107 * check in for practice match
00108 *
00109 * Revision 1.7  2004/06/14 20:12:10  jhoffman
00110 * - numerous changes and additions to headcontrol
00111 * - cameraInfo default constructor now creates ERS7 info
00112 * - debug drawing "headcontrolfield" added
00113 *
00114 * Revision 1.6  2004/06/11 16:31:59  juengel
00115 * Added symbol positionInWalkCycle.
00116 *
00117 * Revision 1.5  2004/05/26 12:25:24  juengel
00118 * Added release-ball modes.
00119 *
00120 * Revision 1.4  2004/05/25 13:12:06  tim
00121 * changed body PSD stuff
00122 *
00123 * Revision 1.3  2004/05/25 10:29:49  tim
00124 * added body PSD symbols
00125 *
00126 * Revision 1.2  2004/05/23 20:27:57  loetzsch
00127 * some improvements with the head control
00128 *
00129 * Revision 1.1.1.1  2004/05/22 17:19:24  cvsadm
00130 * created new repository GT2004_WM
00131 *
00132 * Revision 1.1  2004/05/18 13:40:00  loetzsch
00133 * registered symbols and basic behaviors for GT2004HeadControl,
00134 * renamed some states and basic behaviors
00135 *
00136 */
00137 

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