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

Modules/PlayersLocator/PlayersLocator.h

Go to the documentation of this file.
00001 /**
00002 * @file PlayersLocator.h
00003 * 
00004 * This file contains a generic class for Players-Localization.
00005 */
00006 
00007 #ifndef __PlayersLocator_h_
00008 #define __PlayersLocator_h_
00009 
00010 #include "Tools/Module/Module.h"
00011 
00012 #include "Representations/Perception/PlayersPercept.h"
00013 #include "Representations/Cognition/RobotPose.h"
00014 #include "Representations/Cognition/BallModel.h"
00015 #include "Representations/WLan/TeamMessageCollection.h"
00016 #include "Representations/Cognition/PlayerPoseCollection.h"
00017 //#include "Representations/Cognition/ObstaclesModel.h"
00018 #include "Representations/Cognition/PassCorridorCollection.h"
00019 #include "Representations/Cognition/PlayersModel.h"
00020 #include "Representations/Cognition/GTCamWorldState.h" // TD (inserted)
00021 #include "Representations/Motion/OdometryData.h"
00022 
00023 /**
00024 * @class PlayersLocatorInterfaces
00025 * 
00026 * The interfaces of the PlayersLocator module.
00027 */
00028 class PlayersLocatorInterfaces
00029 {
00030 public:
00031   /** Constructor.*/
00032   PlayersLocatorInterfaces(
00033     const RobotPose& robotPose,
00034     const TeamMessageCollection& teamMessageCollection,
00035     const OdometryData& odometryData,
00036     const GTCamWorldState& gtCamWorldState, // TD (inserted)
00037     //const ObstaclesModel& obstaclesModel,
00038     const BallModel& ballModel,
00039     PlayersPercept& playersPercept,
00040     PlayerPoseCollection& playerPoseCollection,
00041     PassCorridorCollection& passCorridorCollection,
00042     PlayersModel& playersModel)
00043     : robotPose(robotPose),
00044     teamMessageCollection(teamMessageCollection),
00045     odometryData(odometryData),
00046     gtCamWorldState(gtCamWorldState), // TD (inserted)
00047     //obstaclesModel(obstaclesModel),
00048     ballModel(ballModel),
00049     playersPercept(playersPercept),
00050     playerPoseCollection(playerPoseCollection),
00051     passCorridorCollection(passCorridorCollection),
00052     playersModel(playersModel)
00053   {}
00054 
00055  
00056 protected:
00057  
00058   /** The estimated position of the robot */
00059   const RobotPose& robotPose;
00060   
00061   /** Team messages from the other robots */ 
00062   const TeamMessageCollection& teamMessageCollection;
00063 
00064   /** The odometry data that was calculated by the motion modules */
00065   const OdometryData& odometryData;
00066 
00067   /** The obstacle model of the obstacle locator. It is used to refine the playersPercept */
00068   //const ObstaclesModel& obstaclesModel;
00069 
00070   /** The ball model of the ball locator. It is used by the particle system to propergate the players position */
00071   const BallModel& ballModel;
00072 
00073   /** The worldstate generated by the GTCam */
00074   const GTCamWorldState& gtCamWorldState; // TD (inserted)
00075 
00076   /** The player positions to be calculated */
00077   PlayerPoseCollection& playerPoseCollection;
00078 
00079   /** The availible pass corridors */
00080   PassCorridorCollection& passCorridorCollection;
00081 
00082   /** The players model which hold the informations about the opponent players */
00083   PlayersModel& playersModel;
00084   /** The detected players */
00085   PlayersPercept& playersPercept;
00086 
00087 };
00088 
00089 /**
00090 * @class PlayersLocator 
00091 *
00092 * The Base class for player locators
00093 *
00094 * The locator for other players performs the calculation of the positions of
00095 * the other players based on players percepts. In addition, positions of
00096 * team mates received via the wireless network communication are integrated.
00097 */
00098 class PlayersLocator : public Module, public PlayersLocatorInterfaces
00099 {
00100 public:
00101 /*
00102 * Constructor.
00103 * @param interfaces The paramters of the PlayersLocator module.
00104   */
00105   PlayersLocator(const PlayersLocatorInterfaces& interfaces)
00106     : PlayersLocatorInterfaces(interfaces)
00107   {}
00108   
00109   /** Destructor */
00110   virtual ~PlayersLocator() {}
00111 };
00112 
00113 #endif //__PlayersLocator_h_

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