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_