00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __GetupEngine_h_
00010 #define __GetupEngine_h_
00011
00012 #include "Tools/Module/Module.h"
00013
00014 #include "Representations/Perception/SensorDataBuffer.h"
00015 #include "Representations/Perception/BodyPosture.h"
00016 #include "Representations/Motion/JointData.h"
00017 #include "Representations/Motion/PIDData.h"
00018 #include "Representations/Motion/OdometryData.h"
00019 #include "Representations/Motion/MotionInfo.h"
00020
00021
00022
00023
00024
00025
00026 class GetupEngineInterfaces
00027 {
00028 public:
00029
00030 GetupEngineInterfaces(
00031 const MotionRequest::MotionID& lastMotionType,
00032 const SensorDataBuffer& sensorDataBuffer,
00033 const MotionRequest& motionRequest,
00034 const BodyPosture& bodyPosture,
00035 PIDData& pidData,
00036 OdometryData& odometryData,
00037 MotionInfo& motionInfo)
00038 : lastMotionType(lastMotionType),
00039 sensorDataBuffer(sensorDataBuffer),
00040 motionRequest(motionRequest),
00041 bodyPosture(bodyPosture),
00042 pidData(pidData),
00043 odometryData(odometryData),
00044 motionInfo(motionInfo)
00045 {}
00046 protected:
00047
00048 const MotionRequest::MotionID& lastMotionType;
00049
00050
00051 const SensorDataBuffer& sensorDataBuffer;
00052
00053
00054 const MotionRequest& motionRequest;
00055
00056
00057 const BodyPosture& bodyPosture;
00058
00059
00060 PIDData& pidData;
00061
00062
00063 OdometryData& odometryData;
00064
00065
00066 MotionInfo& motionInfo;
00067 };
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079 class GetupEngine : public Module, protected GetupEngineInterfaces
00080 {
00081 public:
00082
00083
00084
00085
00086 GetupEngine(const GetupEngineInterfaces& interfaces)
00087 : GetupEngineInterfaces(interfaces)
00088 {}
00089
00090
00091
00092
00093
00094
00095
00096 virtual bool executeParameterized(JointData& jointData) = 0;
00097
00098
00099 virtual ~GetupEngine() {}
00100
00101 protected:
00102
00103 virtual void execute() {};
00104 };
00105
00106 #endif //__GetupEngine_h_