30 const std::string &config_dir,
const std::string &name,
31 const std::shared_ptr<DependencyInjector> &injector) {
35 return Decider::LoadConfig<OpenSpaceReplanDeciderConfig>(&config_);
38Status OpenSpaceReplanDecider::Process(
Frame *frame) {
39 const auto& previous_frame =
injector_->frame_history()->Latest();
40 if (frame ==
nullptr || previous_frame ==
nullptr) {
41 const std::string msg =
42 "Invalid frame, fail to process the OpenSpaceReplanDecider.";
44 return Status(ErrorCode::PLANNING_ERROR, msg);
46 if (previous_frame->open_space_info().optimizer_trajectory_data().empty() &&
47 injector_->vehicle_state()->linear_velocity() <
49 vehicle_param().max_abs_speed_when_stopped()) {
A general class to denote the return status of an API call.
static Status OK()
generate a success status.
static const VehicleConfig & GetConfig()
Get the current vehicle configuration.
Frame holds all data for one planning cycle.
OpenSpaceInfo * mutable_open_space_info()
void set_replan_flag(const bool flag)
bool Init(const std::string &config_dir, const std::string &name, const std::shared_ptr< DependencyInjector > &injector) override
std::shared_ptr< DependencyInjector > injector_
virtual bool Init(const std::string &config_dir, const std::string &name, const std::shared_ptr< DependencyInjector > &injector)
Planning module main class.