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

Modules/TeamBallLocator/TeamBallLocator.h

Go to the documentation of this file.
00001 /**
00002 * @file TeamBallLocator.h
00003 * 
00004 * Interfaces and definition of class TeamBallLocator.
00005 *
00006 * @author Martin Lötzsch
00007 */
00008 
00009 #ifndef __TeamBallLocator_h_
00010 #define __TeamBallLocator_h_
00011 
00012 #include "Tools/Module/Module.h"
00013 
00014 #include "Representations/Perception/CameraMatrix.h"
00015 #include "Representations/Cognition/BallModel.h"
00016 #include "Representations/Cognition/RobotPose.h"
00017 #include "Representations/WLan/TeamMessageCollection.h"
00018 #include "Representations/Motion/OdometryData.h"
00019 #include "Representations/Cognition/SampleSet.h"
00020 #include "Representations/RoboCup/GameControlData.h"
00021 #include "Representations/Cognition/RobotPoseCollection.h"
00022 #include "Representations/Perception/BallPercept.h"
00023 #include "Representations/Cognition/ObstaclesModel.h"
00024 #include "Modules/BallLocator/GT2005Particles/GT2005ParticleContainer.h"
00025 
00026 /**
00027 * @class TeamBallLocatorInterfaces
00028 * 
00029 * The interfaces of the TeamBallLocator module.
00030 */
00031 class TeamBallLocatorInterfaces
00032 {
00033 public:
00034   /** Constructor.*/
00035   TeamBallLocatorInterfaces(
00036     const SeenBallState& seenBallState,
00037     const OdometryData& odometryData,
00038     const RobotPose& robotPose,
00039     const TeamMessageCollection& teamMessageCollection,
00040     const RobotPoseCollection& robotPoseCollection,
00041     CommunicatedBallState& communicatedBallState,
00042     GT2005ParticleContainer& ballLocatorSamples,
00043     GameControlData& gameControlData,
00044     const BallPercept& ballPercept,
00045     const CameraMatrix& cameraMatrix,
00046     const ObstaclesModel& obstaclesModel
00047     )
00048   : seenBallState(seenBallState),
00049     odometryData(odometryData),
00050     robotPose(robotPose),
00051     teamMessageCollection(teamMessageCollection),
00052     robotPoseCollection(robotPoseCollection),
00053     communicatedBallState(communicatedBallState),
00054     ballLocatorSamples(ballLocatorSamples),
00055     gameControlData(gameControlData),
00056     ballPercept(ballPercept),
00057     cameraMatrix(cameraMatrix),
00058     obstaclesModel(obstaclesModel)
00059   {}
00060   
00061   /** The position of the seen ball */
00062   const SeenBallState& seenBallState;
00063 
00064   /** The odometry data provided by the motion modules */
00065   const OdometryData& odometryData;
00066   
00067   /** The robots position that was calculated last */
00068   const RobotPose& robotPose;
00069   
00070   /** Incoming team messages from other robots */ 
00071   const TeamMessageCollection& teamMessageCollection;
00072 
00073   /** the collection of candidate robot poses */
00074   const RobotPoseCollection& robotPoseCollection;
00075 
00076   /** The communicated ball position to be calculated by the module */
00077   CommunicatedBallState& communicatedBallState;
00078 
00079   /** The samples of the ball locator */
00080    GT2005ParticleContainer& ballLocatorSamples;
00081 
00082    /** The GameControlData (to know if the robot is penalized for example) */
00083    GameControlData& gameControlData;
00084 
00085    /** The ball percept of the image processor. */
00086    const BallPercept& ballPercept;
00087 
00088    /** The offset and the rotation of the camera */
00089    const CameraMatrix& cameraMatrix;
00090 
00091    /** The obstacles model */
00092    const ObstaclesModel& obstaclesModel;
00093 };
00094 
00095 /**
00096 * @class TeamBallLocator 
00097 *
00098 * The Base class for team ball locators
00099 *
00100 * It's task is to integrate ball measurements made by teammates.
00101 */
00102 class TeamBallLocator : public Module, public TeamBallLocatorInterfaces
00103 {
00104 public:
00105 /*
00106 * Constructor.
00107 * @param interfaces The paramters of the TeamBallLocator module.
00108   */
00109   TeamBallLocator(const TeamBallLocatorInterfaces& interfaces)
00110     : TeamBallLocatorInterfaces(interfaces)
00111   {}
00112   
00113   /** Destructor */
00114   virtual ~TeamBallLocator() {}
00115 };
00116 
00117 #endif //__TeamBallLocator_h_

Generated on Mon Mar 20 21:59:58 2006 for GT2005 by doxygen 1.3.6