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_

Generated on Mon Mar 20 21:59:57 2006 for GT2005 by doxygen 1.3.6