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 
00026 /**
00027 * @class SensorBehaviorControlInterfaces
00028 * 
00029 * The interfaces of the SensorBehaviorControl module.
00030 */
00031 class SensorBehaviorControlInterfaces
00032 {
00033 public:
00034   /** Constructor.*/
00035   SensorBehaviorControlInterfaces(
00036     const Image& image,
00037     const SensorDataBuffer& sensorDataBuffer,
00038     const CameraMatrix& cameraMatrix,
00039     const ColorTable& colorTable,
00040     const OdometryData& odometryData,
00041     const RobotState& robotState,
00042     SoundRequest& soundRequest,
00043     MotionRequest& motionRequest,
00044     LEDRequest& ledRequest,
00045     HeadControlMode& headControlMode
00046     )
00047     : 
00048     image(image),
00049     sensorDataBuffer(sensorDataBuffer),
00050     cameraMatrix(cameraMatrix),
00051     colorTable(colorTable),
00052     odometryData(odometryData),
00053     robotState(robotState),
00054     soundRequest(soundRequest),
00055     motionRequest(motionRequest),
00056     ledRequest(ledRequest),
00057     headControlMode(headControlMode)
00058   {}
00059   
00060   /**  */
00061   const Image& image;
00062   
00063   /**  */
00064   const SensorDataBuffer& sensorDataBuffer;
00065 
00066   /**  */
00067   const CameraMatrix& cameraMatrix;
00068 
00069   /** The color table ptr */ 
00070   const ColorTable& colorTable;
00071   
00072   /** The odometry that was estimated by the motion modules */
00073   const OdometryData& odometryData;
00074 
00075   /** */
00076   const RobotState& robotState;
00077 
00078   /**  */
00079   SoundRequest& soundRequest;
00080 
00081   /**  */
00082   MotionRequest& motionRequest;
00083   
00084   /**  */
00085   LEDRequest& ledRequest;
00086   
00087   /**  */
00088   HeadControlMode& headControlMode;
00089 };
00090 
00091 /**
00092 * A generic class for Modules which generate
00093 * motionRequests by sensorData.
00094 * 
00095 * @author <a href="mailto:juengel@informatik.hu-berlin.de">Matthias Jüngel</a>
00096 */
00097 class SensorBehaviorControl : public Module, public SensorBehaviorControlInterfaces
00098 {
00099 public:
00100 /*
00101 * Constructor.
00102 * @param interfaces The paramters of the SensorBehaviorControl module.
00103   */
00104   SensorBehaviorControl(const SensorBehaviorControlInterfaces& interfaces)
00105     : SensorBehaviorControlInterfaces(interfaces)
00106   {}
00107   
00108   /** Destructor */
00109   virtual ~SensorBehaviorControl() {}
00110 };
00111 
00112 #endif //__SensorBehaviorControl_h_
00113 
00114 /*
00115  * Change log :
00116  * 
00117  * $Log: SensorBehaviorControl.h,v $
00118  * Revision 1.1.1.1  2004/05/22 17:20:53  cvsadm
00119  * created new repository GT2004_WM
00120  *
00121  * Revision 1.3  2004/03/08 02:11:50  roefer
00122  * Interfaces should be const
00123  *
00124  * Revision 1.2  2003/12/09 16:28:15  jhoffman
00125  * - added sounds to obstacle avoider on green field
00126  * - added calibration mode for obstacle avoider on green field
00127  *
00128  * Revision 1.1  2003/10/06 14:10:15  cvsadm
00129  * Created GT2004 (M.J.)
00130  *
00131  * Revision 1.2  2003/09/26 15:27:49  juengel
00132  * Renamed DataTypes to representations.
00133  *
00134  * Revision 1.1.1.1  2003/07/02 09:40:24  cvsadm
00135  * created new repository for the competitions in Padova from the 
00136  * tamara CVS (Tuesday 2:00 pm)
00137  *
00138  * removed unused solutions
00139  *
00140  * Revision 1.9  2003/05/02 18:15:18  risler
00141  * SensorDataBuffer added
00142  * replaced SensorData with SensorDataBuffer
00143  * full SensorData resolution now accessible
00144  *
00145  * Revision 1.8  2003/03/06 11:51:39  dueffert
00146  * re-order warning removed
00147  *
00148  * Revision 1.7  2003/02/21 18:32:04  roefer
00149  * pColorTable -> colorTable finished
00150  *
00151  * Revision 1.6  2003/02/18 21:29:17  osterhues
00152  * Changed all instances of ColorTable64 to new base class ColorTable
00153  *
00154  * Revision 1.5  2003/01/13 18:25:30  juengel
00155  * Added odometry to SensorBehaviorControlInterfaces.
00156  *
00157  * Revision 1.4  2002/12/06 16:41:01  goehring
00158  * no message
00159  *
00160  * Revision 1.3  2002/11/28 18:53:13  juengel
00161  * SoundRequest zu den interfaces hinzugefügt
00162  *
00163  * Revision 1.2  2002/11/20 15:44:49  juengel
00164  * Added cameraMatrix to SensorBehaviorControlInterfaces.
00165  *
00166  * Revision 1.1  2002/11/07 17:27:58  loetzsch
00167  * renamed Module SensorDataToMotionRequest to SensorBehaviorControl
00168  *
00169  * Revision 1.2  2002/09/12 12:24:09  juengel
00170  * continued change of module/solution mechanisms
00171  *
00172  * Revision 1.1  2002/09/10 15:36:16  cvsadm
00173  * Created new project GT2003 (M.L.)
00174  * - Cleaned up the /Src/DataTypes directory
00175  * - Removed challenge related source code
00176  * - Removed processing of incoming audio data
00177  * - Renamed AcousticMessage to SoundRequest
00178  *
00179  * Revision 1.3  2002/08/22 14:41:03  risler
00180  * added some doxygen comments
00181  *
00182  * Revision 1.2  2002/07/29 17:44:48  jhoffman
00183  * added braitenberg vehicle-style behavior (or actually: a "sensor data to motion request")
00184  *
00185  * Revision 1.1.1.1  2002/05/10 12:40:15  cvsadm
00186  * Moved GT2002 Project from ute to tamara.
00187  *
00188  * Revision 1.1  2002/01/06 13:48:33  juengel
00189  * WalkDemo hinzuefügt.
00190  *
00191  *
00192  */

Generated on Thu Sep 23 19:57:32 2004 for GT2004 by doxygen 1.3.6