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/WLan/TeamMessageCollection.h" 00015 #include "Representations/Cognition/PlayerPoseCollection.h" 00016 #include "Representations/Motion/OdometryData.h" 00017 00018 /** 00019 * @class PlayersLocatorInterfaces 00020 * 00021 * The interfaces of the PlayersLocator module. 00022 */ 00023 class PlayersLocatorInterfaces 00024 { 00025 public: 00026 /** Constructor.*/ 00027 PlayersLocatorInterfaces( 00028 const PlayersPercept& playersPercept, 00029 const RobotPose& robotPose, 00030 const TeamMessageCollection& teamMessageCollection, 00031 const OdometryData& odometryData, 00032 PlayerPoseCollection& playerPoseCollection) 00033 : playersPercept(playersPercept), 00034 robotPose(robotPose), 00035 teamMessageCollection(teamMessageCollection), 00036 odometryData(odometryData), 00037 playerPoseCollection(playerPoseCollection) 00038 {} 00039 00040 protected: 00041 /** A detected player */ 00042 const PlayersPercept& playersPercept; 00043 00044 /** The estimated position of the robot */ 00045 const RobotPose& robotPose; 00046 00047 /** Team messages from the other robots */ 00048 const TeamMessageCollection& teamMessageCollection; 00049 00050 /** The odometry data that was calculated by the motion modules */ 00051 const OdometryData& odometryData; 00052 00053 /** The player positions to be calculated */ 00054 PlayerPoseCollection& playerPoseCollection; 00055 00056 }; 00057 00058 /** 00059 * @class PlayersLocator 00060 * 00061 * The Base class for player locators 00062 * 00063 * The locator for other players performs the calculation of the positions of 00064 * the other players based on players percepts. In addition, positions of 00065 * team mates received via the wireless network communication are integrated. 00066 */ 00067 class PlayersLocator : public Module, public PlayersLocatorInterfaces 00068 { 00069 public: 00070 /* 00071 * Constructor. 00072 * @param interfaces The paramters of the PlayersLocator module. 00073 */ 00074 PlayersLocator(const PlayersLocatorInterfaces& interfaces) 00075 : PlayersLocatorInterfaces(interfaces) 00076 {} 00077 00078 /** Destructor */ 00079 virtual ~PlayersLocator() {} 00080 }; 00081 00082 #endif //__PlayersLocator_h_ 00083 00084 /* 00085 * Change log : 00086 * 00087 * $Log: PlayersLocator.h,v $ 00088 * Revision 1.1.1.1 2004/05/22 17:20:39 cvsadm 00089 * created new repository GT2004_WM 00090 * 00091 * Revision 1.2 2004/03/08 01:07:16 roefer 00092 * Interfaces should be const 00093 * 00094 * Revision 1.1 2003/10/06 14:10:15 cvsadm 00095 * Created GT2004 (M.J.) 00096 * 00097 * Revision 1.2 2003/09/26 15:27:49 juengel 00098 * Renamed DataTypes to representations. 00099 * 00100 * Revision 1.1.1.1 2003/07/02 09:40:24 cvsadm 00101 * created new repository for the competitions in Padova from the 00102 * tamara CVS (Tuesday 2:00 pm) 00103 * 00104 * removed unused solutions 00105 * 00106 * Revision 1.3 2002/09/17 23:55:21 loetzsch 00107 * - unraveled several datatypes 00108 * - changed the WATCH macro 00109 * - completed the process restructuring 00110 * 00111 * Revision 1.2 2002/09/12 12:24:09 juengel 00112 * continued change of module/solution mechanisms 00113 * 00114 * Revision 1.1 2002/09/10 15:36:15 cvsadm 00115 * Created new project GT2003 (M.L.) 00116 * - Cleaned up the /Src/DataTypes directory 00117 * - Removed challenge related source code 00118 * - Removed processing of incoming audio data 00119 * - Renamed AcousticMessage to SoundRequest 00120 * 00121 * Revision 1.4 2002/08/30 13:38:16 dueffert 00122 * removed unused includes 00123 * 00124 * Revision 1.3 2002/08/22 14:41:04 risler 00125 * added some doxygen comments 00126 * 00127 * Revision 1.2 2002/06/07 10:16:37 kspiess 00128 * constructor changed; team messages integration 00129 * 00130 * Revision 1.1.1.1 2002/05/10 12:40:15 cvsadm 00131 * Moved GT2002 Project from ute to tamara. 00132 * 00133 * Revision 1.5 2002/04/02 13:10:20 dueffert 00134 * big change: odometryData and cameraMatrix in image now, old logfiles may be obsolete 00135 * 00136 * Revision 1.4 2002/02/05 04:06:02 loetzsch 00137 * changed the execution of the PlayersLocator. Parameter 00138 * const PerceptCollection& perceptCollection became 00139 * const BallPercept& ballPercept. 00140 * 00141 * Revision 1.3 2001/12/21 14:09:39 roefer 00142 * Added several destructors 00143 * 00144 * Revision 1.2 2001/12/10 17:47:06 risler 00145 * change log added 00146 * 00147 */