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

Modules/BallLocator/BallLocator.h

Go to the documentation of this file.
00001 /**
00002 * @file BallLocator.h
00003 * 
00004 * This file contains a generic class for Ball-Localization.
00005 */
00006 
00007 #ifndef __BallLocator_h_
00008 #define __BallLocator_h_
00009 
00010 #include "Tools/Module/Module.h"
00011 
00012 #include "Representations/Perception/BallPercept.h"
00013 #include "Representations/Perception/LandmarksPercept.h"
00014 #include "Representations/Perception/CameraMatrix.h"
00015 #include "Representations/Cognition/RobotPose.h"
00016 #include "Representations/Perception/SensorDataBuffer.h"
00017 #include "Representations/Perception/CalibrationRequest.h"
00018 #include "Representations/Cognition/BallModel.h"
00019 #include "Representations/Motion/OdometryData.h"
00020 
00021 /**
00022 * @class BallLocatorInterfaces
00023 * 
00024 * The interfaces of the BallLocator module.
00025 */
00026 class BallLocatorInterfaces
00027 {
00028 public:
00029   /** Constructor.*/
00030   BallLocatorInterfaces(
00031     const OdometryData& odometryData,
00032     const CameraMatrix& cameraMatrix,
00033     const BallPercept& ballPercept,
00034     const LandmarksPercept& landmarksPercept,
00035     const RobotPose& robotPose,
00036     const CalibrationRequest& calibrationRequest,
00037     const SensorDataBuffer& sensorDataBuffer,
00038     BallModel& ballModel)
00039     : 
00040   odometryData(odometryData),
00041     cameraMatrix(cameraMatrix),
00042     ballPercept(ballPercept),
00043     landmarksPercept(landmarksPercept),
00044     robotPose(robotPose),
00045     calibrationRequest(calibrationRequest),
00046     sensorDataBuffer(sensorDataBuffer),
00047     ballModel(ballModel)
00048   {}
00049   
00050   /** The odometry data provided by the motion modules */
00051   const OdometryData& odometryData;
00052   
00053   /** The offset and the rotation of the camera */
00054   const CameraMatrix& cameraMatrix;
00055   
00056   /** The ball percept that was generated last */
00057   const BallPercept& ballPercept;
00058   
00059   /** The landmarkspercept that was generated last */
00060   const LandmarksPercept& landmarksPercept;
00061 
00062   /** The robots position that was calculated last */
00063   const RobotPose& robotPose;
00064   
00065   /** The calibration request */
00066   const CalibrationRequest& calibrationRequest;
00067 
00068   /** The sensor data buffer*/
00069   const SensorDataBuffer& sensorDataBuffer;
00070 
00071   /** The ball position to be changed */
00072   BallModel& ballModel;
00073 };
00074 
00075 /**
00076 * @class BallLocator 
00077 *
00078 * The Base class for ball locators
00079 *
00080 * It is the task of ball modeling to keep track of the location of 
00081 * the ball even if the ball is currently not seen.
00082 */
00083 class BallLocator : public Module, public BallLocatorInterfaces
00084 {
00085 public:
00086 /*
00087 * Constructor.
00088 * @param interfaces The paramters of the BallLocator module.
00089   */
00090   BallLocator(const BallLocatorInterfaces& interfaces)
00091     : BallLocatorInterfaces(interfaces)
00092   {}
00093   
00094   /** Destructor */
00095   virtual ~BallLocator() {}
00096 };
00097 
00098 #endif //__BallLocator_h_
00099 
00100 /*
00101 * Change log :
00102 * 
00103 * $Log: BallLocator.h,v $
00104 * Revision 1.3  2004/05/27 09:53:33  loetzsch
00105 * removed "timeOfImageProcessing"
00106 *
00107 * Revision 1.2  2004/05/22 22:52:01  juengel
00108 * Renamed ballP_osition to ballModel.
00109 *
00110 * Revision 1.1.1.1  2004/05/22 17:15:16  cvsadm
00111 * created new repository GT2004_WM
00112 *
00113 * Revision 1.8  2004/04/09 11:35:51  roefer
00114 * Bremen Byters German Open check-in
00115 *
00116 * Revision 1.7  2004/04/05 17:56:45  loetzsch
00117 * merged the local German Open CVS of the aibo team humboldt with the tamara CVS
00118 *
00119 * Revision 1.2  2004/04/02 10:03:15  jumped
00120 * added landmarkspercept to balllocator interface
00121 *
00122 * Revision 1.1.1.1  2004/03/31 11:16:37  loetzsch
00123 * created ATH repository for german open 2004
00124 *
00125 * Revision 1.6  2004/03/21 12:39:32  juengel
00126 * Added CalibrationRequest to BallLocatorInterfaces.
00127 *
00128 * Revision 1.5  2004/03/08 00:58:35  roefer
00129 * Interfaces should be const
00130 *
00131 * Revision 1.4  2004/02/03 13:19:48  spranger
00132 * renamed all references to  class BallP_osition to BallModel
00133 *
00134 * Revision 1.3  2004/01/20 23:09:49  loetzsch
00135 * bug fix
00136 *
00137 * Revision 1.2  2004/01/20 16:45:52  loetzsch
00138 * The BallLocator has access to the complete BallP_osition again
00139 *
00140 * Revision 1.1  2003/10/06 13:33:15  cvsadm
00141 * Created GT2004 (M.J.)
00142 *
00143 * Revision 1.2  2003/09/26 15:27:48  juengel
00144 * Renamed DataTypes to representations.
00145 *
00146 * Revision 1.1.1.1  2003/07/02 09:40:23  cvsadm
00147 * created new repository for the competitions in Padova from the 
00148 * tamara CVS (Tuesday 2:00 pm)
00149 *
00150 * removed unused solutions
00151 *
00152 * Revision 1.5  2003/05/01 17:09:06  loetzsch
00153 * Redesign of ball modeling:
00154 * - Modularized class BallP_osition
00155 * - splitted up module "BallLocator" into "BallLocator" for modeling of percepts
00156 *   and "TeamBallLocator" for modelling communicated positions
00157 * - Removed solution JumpingBallLocator
00158 * - Splitted Solution DefaultBallLocator into DefaultBallLocator and DefaultTeamBallLocator
00159 * - Renamed SensorFusionBallLocator to GaussBellTeamBallLocator
00160 *
00161 * Revision 1.4  2003/03/19 15:41:06  jhoffman
00162 * added proper ball speed
00163 *
00164 * Revision 1.3  2002/09/17 23:55:20  loetzsch
00165 * - unraveled several datatypes
00166 * - changed the WATCH macro
00167 * - completed the process restructuring
00168 *
00169 * Revision 1.2  2002/09/12 09:45:58  juengel
00170 * continued change of module/solution mechanisms
00171 *
00172 * Revision 1.1  2002/09/10 15:36:12  cvsadm
00173 * Created new project GT2003 (M.L.)
00174 * - Cleaned up the /Src/DataTypes directory
00175 * - Removed challenge related source code
00176 * - Removed processing of incoming audio data
00177 * - Renamed AcousticMessage to SoundRequest
00178 *
00179 * Revision 1.3  2002/08/22 14:41:04  risler
00180 * added some doxygen comments
00181 *
00182 * Revision 1.2  2002/06/03 15:27:30  roefer
00183 * BallLocator gets TeamMessageCollection
00184 *
00185 * Revision 1.1.1.1  2002/05/10 12:40:13  cvsadm
00186 * Moved GT2002 Project from ute to tamara.
00187 *
00188 * Revision 1.4  2002/04/02 13:10:18  dueffert
00189 * big change: odometryData and cameraMatrix in image now, old logfiles may be obsolete
00190 *
00191 * Revision 1.3  2001/12/21 14:09:39  roefer
00192 * Added several destructors
00193 *
00194 * Revision 1.2  2001/12/10 17:47:06  risler
00195 * change log added
00196 *
00197 */

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