00001
00002
00003
00004
00005
00006
00007 #ifndef __SelfLocator_h_
00008 #define __SelfLocator_h_
00009
00010 #include "Tools/Module/Module.h"
00011
00012 #include "Representations/Perception/LandmarksPercept.h"
00013 #include "Representations/Perception/LinesPercept.h"
00014 #include "Representations/Perception/EdgesPercept.h"
00015 #include "Representations/Perception/SpecialPercept.h"
00016 #include "Representations/Perception/PSDPercept.h"
00017 #include "Representations/Perception/ObstaclesPercept.h"
00018 #include "Representations/Perception/CollisionPercept.h"
00019 #include "Representations/Perception/CameraInfo.h"
00020 #include "Representations/Cognition/RobotPose.h"
00021 #include "Representations/Cognition/SampleSet.h"
00022 #include "Representations/Cognition/GTCamWorldState.h"
00023 #include "Representations/Motion/OdometryData.h"
00024 #include "Representations/Perception/CameraMatrix.h"
00025 #include "Representations/Cognition/LandmarksState.h"
00026 #include "Representations/Cognition/RobotState.h"
00027 #include "Representations/Cognition/RobotPoseCollection.h"
00028 #include "Representations/RoboCup/GameControlData.h"
00029
00030
00031
00032
00033
00034
00035 class SelfLocatorInterfaces
00036 {
00037 public:
00038
00039 SelfLocatorInterfaces(
00040 const LandmarksPercept& landmarksPercept,
00041 const LinesPercept& linesPercept,
00042 const EdgesPercept& edgesPercept,
00043 const SpecialPercept& specialPercept,
00044 const PSDPercept& psdPercept,
00045 const ObstaclesPercept& obstaclesPercept,
00046 const CollisionPercept& collisionPercept,
00047 const OdometryData& odometryData,
00048 const CameraMatrix& cameraMatrix,
00049 const RobotState& robotState,
00050 const GTCamWorldState& gtCamWorldState,
00051 const GameControlData& gameControlData,
00052 RobotPose& robotPose,
00053 SampleSetProxy<PoseSample>& selfLocatorSamples,
00054 LandmarksState& landmarksState,
00055 RobotPoseCollection& robotPoseCollection)
00056 : landmarksPercept(landmarksPercept),
00057 linesPercept(linesPercept),
00058 edgesPercept(edgesPercept),
00059 specialPercept(specialPercept),
00060 psdPercept(psdPercept),
00061 obstaclesPercept(obstaclesPercept),
00062 collisionPercept(collisionPercept),
00063 odometryData(odometryData),
00064 cameraMatrix(cameraMatrix),
00065 robotState(robotState),
00066 gtCamWorldState(gtCamWorldState),
00067 gameControlData(gameControlData),
00068 robotPose(robotPose),
00069 selfLocatorSamples(selfLocatorSamples),
00070 landmarksState(landmarksState),
00071 robotPoseCollection(robotPoseCollection)
00072 {}
00073
00074 protected:
00075
00076 const LandmarksPercept& landmarksPercept;
00077
00078
00079 const LinesPercept& linesPercept;
00080
00081
00082 const EdgesPercept& edgesPercept;
00083
00084
00085 const SpecialPercept& specialPercept;
00086
00087
00088 const PSDPercept& psdPercept;
00089
00090
00091 const ObstaclesPercept& obstaclesPercept;
00092
00093
00094 const CollisionPercept& collisionPercept;
00095
00096
00097 const OdometryData& odometryData;
00098
00099
00100 const CameraMatrix& cameraMatrix;
00101
00102
00103 const RobotState& robotState;
00104
00105
00106 const GTCamWorldState& gtCamWorldState;
00107
00108
00109 const GameControlData& gameControlData;
00110
00111
00112 RobotPose& robotPose;
00113
00114
00115 SampleSetProxy<PoseSample>& selfLocatorSamples;
00116
00117
00118 LandmarksState& landmarksState;
00119
00120
00121 RobotPoseCollection& robotPoseCollection;
00122
00123
00124 };
00125
00126
00127
00128
00129
00130
00131 class SelfLocator : public Module, public SelfLocatorInterfaces
00132 {
00133 public:
00134
00135
00136
00137
00138 SelfLocator(const SelfLocatorInterfaces& interfaces)
00139 : SelfLocatorInterfaces(interfaces)
00140 {}
00141
00142
00143 virtual ~SelfLocator() {}
00144 };
00145
00146 #endif //__SelfLocator_h_