28 #include "modules/common/configs/proto/vehicle_config.pb.h" 67 const ControlConf *control_conf)
override;
79 const localization::LocalizationEstimate *localization,
80 const canbus::Chassis *chassis,
const planning::ADCTrajectory *trajectory,
81 control::ControlCommand *cmd)
override;
98 std::string
Name()
const override;
102 const double preview_time,
const double ts,
103 SimpleLongitudinalDebug *debug);
108 void SetDigitalFilterPitchAngle(
const LonControllerConf &lon_controller_conf);
110 void LoadControlCalibrationTable(
111 const LonControllerConf &lon_controller_conf);
113 void SetDigitalFilter(
double ts,
double cutoff_freq,
118 const localization::LocalizationEstimate *localization_ =
nullptr;
119 const canbus::Chassis *chassis_ =
nullptr;
121 std::unique_ptr<Interpolation2D> control_interpolation_;
122 const planning::ADCTrajectory *trajectory_message_ =
nullptr;
123 std::unique_ptr<TrajectoryAnalyzer> trajectory_analyzer_;
126 bool controller_initialized_ =
false;
128 double previous_acceleration_ = 0.0;
129 double previous_acceleration_reference_ = 0.0;
137 FILE *speed_log_file_ =
nullptr;
141 const ControlConf *control_conf_ =
nullptr;
144 common::VehicleParam vehicle_param_;
146 std::shared_ptr<DependencyInjector> injector_;
Defines the PIDBCController class.
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
common::Status Init(std::shared_ptr< DependencyInjector > injector, const ControlConf *control_conf) override
initialize Longitudinal Controller
void Stop() override
stop longitudinal controller
std::string Name() const override
longitudinal controller name
base class for all controllers.
Definition: controller.h:46
void ComputeLongitudinalErrors(const TrajectoryAnalyzer *trajectory, const double preview_time, const double ts, SimpleLongitudinalDebug *debug)
process point query and conversion related to trajectory
Definition: trajectory_analyzer.h:44
Defines the DigitalFilter class.
void GetPathRemain(SimpleLongitudinalDebug *debug)
Defines the Controller base class.
Functions to generate coefficients for digital filter.
A lead/lag controller for speed and steering using defualt integral hold.
Definition: leadlag_controller.h:38
The DigitalFilter class is used to pass signals with a frequency lower than a certain cutoff frequenc...
Definition: digital_filter.h:40
A general class to denote the return status of an API call. It can either be an OK status for success...
Definition: status.h:43
LonController()
constructor
common::Status ComputeControlCommand(const localization::LocalizationEstimate *localization, const canbus::Chassis *chassis, const planning::ADCTrajectory *trajectory, control::ControlCommand *cmd) override
compute brake / throttle values based on current vehicle status and target trajectory ...
A proportional-integral-derivative controller for speed and steering using defualt integral hold...
Definition: pid_controller.h:38
Longitudinal controller, to compute brake / throttle values.
Definition: lon_controller.h:49
common::Status Reset() override
reset longitudinal controller
virtual ~LonController()
destructor
Defines the TrajectoryAnalyzer class.