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

# Modules/SensorBehaviorControl/SensorBehaviorControl.h

Go to the documentation of this file.

    00001 /**
    00002 * @file SensorBehaviorControl.h
    00003 * This file contains a generic class for Modules which generate
    00004 * motionRequests by sensorData.
    00005 *
    00006 * @author <a href="mailto:juengel@informatik.hu-berlin.de">Matthias Jüngel</a>
    00007 */
    00008
    00009 #ifndef __SensorBehaviorControl_h_
    00010 #define __SensorBehaviorControl_h_
    00011
    00012 #include "Tools/Module/Module.h"
    00013
    00014 #include "Representations/Perception/Image.h"
    00015 #include "Representations/Perception/SensorDataBuffer.h"
    00016 #include "Representations/Perception/CameraMatrix.h"
    00017 #include "Representations/Perception/ColorTable.h"
    00018 #include "Representations/Perception/ColorTable64.h"
    00019 #include "Representations/Sound/SoundRequest.h"
    00020 #include "Representations/Motion/MotionRequest.h"
    00021 #include "Representations/Motion/LEDRequest.h"
    00022 #include "Representations/Motion/HeadControlMode.h"
    00023 #include "Representations/Motion/OdometryData.h"
    00024 #include "Representations/Cognition/RobotState.h"
    00025 #include "Representations/WLan/TeamMessageCollection.h"
    00026 #include "Representations/JoystickData.h"
    00027
    00028 /**
    00029 * @class SensorBehaviorControlInterfaces
    00030 *
    00031 * The interfaces of the SensorBehaviorControl module.
    00032 */
    00033 class SensorBehaviorControlInterfaces
    00034 {
    00035 public:
    00036   /** Constructor.*/
    00037   SensorBehaviorControlInterfaces(
    00038     const Image& image,
    00039     const SensorDataBuffer& sensorDataBuffer,
    00040     const CameraMatrix& cameraMatrix,
    00041     const ColorTable& colorTable,
    00042     const OdometryData& odometryData,
    00043     const RobotState& robotState,
    00044     const JoystickData& joystickData,
    00045     const TeamMessageCollection& teamMessageCollection,
    00046     SoundRequest& soundRequest,
    00047     MotionRequest& motionRequest,
    00048     LEDRequest& ledRequest,
    00049     HeadControlMode& headControlMode
    00050     )
    00051     :
    00052     image(image),
    00053     sensorDataBuffer(sensorDataBuffer),
    00054     cameraMatrix(cameraMatrix),
    00055     colorTable(colorTable),
    00056     odometryData(odometryData),
    00057     robotState(robotState),
    00058     joystickData(joystickData),
    00059     teamMessageCollection(teamMessageCollection),
    00060     soundRequest(soundRequest),
    00061     motionRequest(motionRequest),
    00062     ledRequest(ledRequest),
    00063     headControlMode(headControlMode)
    00064   {}
    00065
    00066   /**  */
    00067   const Image& image;
    00068
    00069   /**  */
    00070   const SensorDataBuffer& sensorDataBuffer;
    00071
    00072   /**  */
    00073   const CameraMatrix& cameraMatrix;
    00074
    00075   /** The color table ptr */
    00076   const ColorTable& colorTable;
    00077
    00078   /** The odometry that was estimated by the motion modules */
    00079   const OdometryData& odometryData;
    00080
    00081   /** */
    00082   const RobotState& robotState;
    00083
    00084   /**  */
    00085   SoundRequest& soundRequest;
    00086
    00087   /**  */
    00088   MotionRequest& motionRequest;
    00089
    00090   /**  */
    00091   LEDRequest& ledRequest;
    00092
    00093   /**  */
    00094   HeadControlMode& headControlMode;
    00095
    00096   /** Data produced by an extern sensor called joystick */
    00097   const JoystickData& joystickData;
    00098
    00099   /** Incoming team messages from other robots */
    00100   const TeamMessageCollection& teamMessageCollection;
    00101
    00102 };
    00103
    00104 /**
    00105 * A generic class for Modules which generate
    00106 * motionRequests by sensorData.
    00107 *
    00108 * @author <a href="mailto:juengel@informatik.hu-berlin.de">Matthias Jüngel</a>
    00109 */
    00110 class SensorBehaviorControl : public Module, public SensorBehaviorControlInterfaces
    00111 {
    00112 public:
    00113 /*
    00114 * Constructor.
    00115 * @param interfaces The paramters of the SensorBehaviorControl module.
    00116   */
    00117   SensorBehaviorControl(const SensorBehaviorControlInterfaces& interfaces)
    00118     : SensorBehaviorControlInterfaces(interfaces)
    00119   {}
    00120
    00121   /** Destructor */
    00122   virtual ~SensorBehaviorControl() {}
    00123 };
    00124
    00125 #endif //__SensorBehaviorControl_h_