Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef NORMALBRAKE_HPP_
00009 #define NORMALBRAKE_HPP_
00010
00011 #include <telekyb_defines/telekyb_defines.hpp>
00012
00013 #include <tk_behavior/Behavior.hpp>
00014
00015
00016
00017
00018 using namespace TELEKYB_NAMESPACE;
00019
00020 namespace telekyb_behavior {
00021
00022 class NormalBrake : public Behavior {
00023 private:
00024 double yawAngle;
00025
00026
00027
00028 Option<double>* tBrakeMinVelocity;
00029
00030 public:
00031 NormalBrake();
00032
00033
00034 virtual void initialize();
00035 virtual void destroy();
00036
00037
00038 virtual bool willBecomeActive(const TKState& currentState, const Behavior& previousBehavior);
00039
00040 virtual void didBecomeActive(const TKState& currentState, const Behavior& previousBehavior);
00041
00042 virtual void willBecomeInActive(const TKState& currentState, const Behavior& nextBehavior);
00043
00044 virtual void didBecomeInActive(const TKState& currentState, const Behavior& nextBehavior);
00045
00046
00047 virtual void trajectoryStepCreation(const TKState& currentState, TKTrajectory& generatedTrajInput);
00048
00049
00050 virtual void trajectoryStepActive(const TKState& currentState, TKTrajectory& generatedTrajInput);
00051
00052
00053 virtual void trajectoryStepTermination(const TKState& currentState, TKTrajectory& generatedTrajInput);
00054
00055
00056 virtual bool isValid(const TKState& currentState) const;
00057
00058 };
00059
00060 }
00061
00062 #endif