PassiveDecisionMaker.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /*
  2. * CarState.h
  3. *
  4. * Created on: Dec 14, 2016
  5. * Author: hatem
  6. */
  7. #ifndef PASSIVE_BEHAVIOR_DECISION_MAKER
  8. #define PASSIVE_BEHAVIOR_DECISION_MAKER
  9. #include "BehaviorStateMachine.h"
  10. #include "PlannerCommonDef.h"
  11. #include "RoadNetwork.h"
  12. namespace PlannerHNS
  13. {
  14. class PassiveDecisionMaker
  15. {
  16. public:
  17. PassiveDecisionMaker();
  18. PassiveDecisionMaker(const PassiveDecisionMaker& obj);
  19. PassiveDecisionMaker& operator=(const PassiveDecisionMaker& obj);
  20. virtual ~PassiveDecisionMaker();
  21. PlannerHNS::BehaviorState MoveStep(const double& dt, PlannerHNS::WayPoint& currPose, const std::vector<WayPoint>& path, const CAR_BASIC_INFO& carInfo);
  22. PlannerHNS::ParticleInfo MoveStepSimple(const double& dt, PlannerHNS::WayPoint& currPose, const std::vector<WayPoint>& path, const CAR_BASIC_INFO& carInfo);
  23. private:
  24. double GetVelocity(PlannerHNS::WayPoint& currPose, const std::vector<WayPoint>& path, const CAR_BASIC_INFO& carInfo, const RelativeInfo& info);
  25. double GetSteerAngle(PlannerHNS::WayPoint& currPose, const std::vector<WayPoint>& path, const RelativeInfo& info);
  26. bool CheckForStopLine(PlannerHNS::WayPoint& currPose, const std::vector<WayPoint>& path, const CAR_BASIC_INFO& carInfo);
  27. };
  28. } /* namespace PlannerHNS */
  29. #endif /* PASSIVE_BEHAVIOR_DECISION_MAKER */