base_controller.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #pragma once
  2. #ifndef _IV_DECITION__BASE_CONTROLLER_
  3. #define _IV_DECITION__BASE_CONTROLLER_
  4. #include <gps_type.h>
  5. #include <decition_type.h>
  6. #include <obstacle_type.h>
  7. #include<vector>
  8. #include <gnss_coordinate_convert.h>
  9. namespace iv {
  10. namespace decition {
  11. //根据传感器传输来的信息作出决策
  12. class BaseController {
  13. public:
  14. int controller_id;
  15. std::string controller_name;
  16. BaseController();
  17. ~BaseController();
  18. /**
  19. * @brief iv::decition::BaseController::getControlDecition
  20. * 基类BaseController的抽象方法 用于计算横向控制的方向盘和纵向控制的加速度
  21. *
  22. * @param now_gps_ins 实时gps信息
  23. * @param path 目标路径
  24. * @param dSpeed 决策速度
  25. * @param obsDistacne 障碍物距离
  26. * @param obsSpeed 障碍物速度
  27. * @param computeAngle 是否要计算方向盘角度
  28. * @param computeAcc 是否要计算纵向加速度
  29. * @param decition 决策信息结构体的指针
  30. * @return iv::decition::Decition
  31. */
  32. virtual iv::decition::Decition getControlDecition(GPS_INS now_gps_ins, std::vector<Point2D> path , float dSpeed, float obsDistacne , float obsSpeed,
  33. bool computeAngle, bool computeAcc, Decition *decition);
  34. private:
  35. };
  36. }
  37. }
  38. #endif // ADC_CONTROLLER_H