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

# Modules/ObstaclesLocator/ObstaclesLocator.h

Go to the documentation of this file.

    00001 /**
    00002 * @file ObstaclesLocator.h
    00003 *
    00004 * This file contains a generic class for Obstacles Localization.
    00005 * @author <a href="mailto:juengel@informatik.hu-berlin.de">Matthias Juengel</a>
    00006 */
    00007
    00008 #ifndef __ObstaclesLocator_h_
    00009 #define __ObstaclesLocator_h_
    00010
    00011 #include "Tools/Module/Module.h"
    00012
    00013 #include "Representations/Perception/ObstaclesPercept.h"
    00014 #include "Representations/Perception/LinesPercept.h"
    00015 #include "Representations/Perception/LandmarksPercept.h"
    00016 #include "Representations/Perception/PSDPercept.h"
    00017 #include "Representations/Perception/CameraMatrix.h"
    00018 #include "Representations/Cognition/ObstaclesModel.h"
    00019 #include "Representations/Cognition/PlayerPoseCollection.h"
    00020 #include "Representations/Cognition/RobotPose.h"
    00021 #include "Representations/Cognition/BallModel.h"
    00022 #include "Representations/Cognition/GTCamWorldState.h"
    00023 #include "Representations/Motion/OdometryData.h"
    00024
    00025 /**
    00026 * @class ObstaclesLocatorInterfaces
    00027 *
    00028 * The interfaces of the ObstaclesLocator module.
    00029 */
    00030 class ObstaclesLocatorInterfaces
    00031 {
    00032 public:
    00033   /** Constructor.*/
    00034   ObstaclesLocatorInterfaces(
    00035     const ObstaclesPercept& obstaclesPercept,
    00036     const LinesPercept& linesPercept,
    00037     const LandmarksPercept& landmarksPercept,
    00038     const PSDPercept& psdPercept,
    00039     const CameraMatrix& cameraMatrix,
    00040     const OdometryData& odometryData,
    00041     const PlayerPoseCollection& playerPoseCollection,
    00042     const RobotPose& robotPose,
    00043     const BallModel& ballModel,
    00044     const GTCamWorldState& gtCamWorldState,
    00045     ObstaclesModel& obstaclesModel)
    00046     : obstaclesPercept(obstaclesPercept),
    00047     linesPercept(linesPercept),
    00048     landmarksPercept(landmarksPercept),
    00049     psdPercept(psdPercept),
    00050     cameraMatrix(cameraMatrix),
    00051     odometryData(odometryData),
    00052     playerPoseCollection(playerPoseCollection),
    00053     robotPose(robotPose),
    00054     ballModel(ballModel),
    00055     gtCamWorldState(gtCamWorldState),
    00056     obstaclesModel(obstaclesModel)
    00057   {}
    00058
    00059 protected:
    00060   /** A detected player */
    00061   const ObstaclesPercept& obstaclesPercept;
    00062
    00063   /** A landmarks percept */
    00064   const LandmarksPercept& landmarksPercept;
    00065
    00066   /** A lines percept */
    00067   const LinesPercept& linesPercept;
    00068
    00069   /** An object detected with the PSD sensor */
    00070   const PSDPercept& psdPercept;
    00071
    00072   /** A detected player */
    00073   const CameraMatrix& cameraMatrix;
    00074
    00075   /** The odometry data that was calculated by the motion modules */
    00076   const OdometryData& odometryData;
    00077
    00078   /** The poses of the other players */
    00079   const PlayerPoseCollection& playerPoseCollection;
    00080
    00081   /** The pose of the robot */
    00082   const RobotPose& robotPose;
    00083
    00084   /** The pose of the robot */
    00085   const BallModel& ballModel;
    00086
    00087   /** The worldstate generated by the GTCam */
    00088   const GTCamWorldState& gtCamWorldState;
    00089
    00090   /** The obstacle model to be calculated */
    00091   ObstaclesModel& obstaclesModel;
    00092
    00093 };
    00094
    00095 /**
    00096 * @class ObstaclesLocator
    00097 *
    00098 * The Base class for obstacle locators
    00099 *
    00100 */
    00101 class ObstaclesLocator : public Module, public ObstaclesLocatorInterfaces
    00102 {
    00103 public:
    00104 /*
    00105 * Constructor.
    00106 * @param interfaces The paramters of the ObstaclesLocator module.
    00107   */
    00108   ObstaclesLocator(const ObstaclesLocatorInterfaces& interfaces)
    00109     : ObstaclesLocatorInterfaces(interfaces)
    00110   {}
    00111
    00112   /** Destructor */
    00113   virtual ~ObstaclesLocator() {}
    00114 };
    00115
    00116 #endif //__ObstaclesLocator_h_