#pragma once #ifndef _IV_DECITION__BASE_CONTROLLER_ #define _IV_DECITION__BASE_CONTROLLER_ #include #include #include #include #include namespace iv { namespace decition { //根据传感器传输来的信息作出决策 class BaseController { public: int controller_id; std::string controller_name; BaseController(); ~BaseController(); /** * @brief iv::decition::BaseController::getControlDecition * 基类BaseController的抽象方法 用于计算横向控制的方向盘和纵向控制的加速度 * * @param now_gps_ins 实时gps信息 * @param path 目标路径 * @param dSpeed 决策速度 * @param obsDistacne 障碍物距离 * @param obsSpeed 障碍物速度 * @param computeAngle 是否要计算方向盘角度 * @param computeAcc 是否要计算纵向加速度 * @param decition 决策信息结构体的指针 * @return iv::decition::Decition */ virtual iv::decition::Decition getControlDecition(GPS_INS now_gps_ins, std::vector path , float dSpeed, float obsDistacne , float obsSpeed, bool computeAngle, bool computeAcc, Decition *decition); private: }; } } #endif // ADC_CONTROLLER_H