54 {
55 CHECK_GT(FLAGS_planning_upper_speed_limit, 0.0);
56 ACHECK(config.has_navi_speed_decider_config());
57 ACHECK(config.navi_speed_decider_config().has_preferred_accel());
58 ACHECK(config.navi_speed_decider_config().has_preferred_decel());
59 ACHECK(config.navi_speed_decider_config().has_max_accel());
60 ACHECK(config.navi_speed_decider_config().has_max_decel());
61 ACHECK(config.navi_speed_decider_config().has_preferred_jerk());
62 ACHECK(config.navi_speed_decider_config().has_obstacle_buffer());
63 ACHECK(config.navi_speed_decider_config().has_safe_distance_base());
64 ACHECK(config.navi_speed_decider_config().has_safe_distance_ratio());
65 ACHECK(config.navi_speed_decider_config().has_following_accel_ratio());
66 ACHECK(config.navi_speed_decider_config().has_soft_centric_accel_limit());
67 ACHECK(config.navi_speed_decider_config().has_hard_centric_accel_limit());
68 ACHECK(config.navi_speed_decider_config().has_hard_speed_limit());
69 ACHECK(config.navi_speed_decider_config().has_hard_accel_limit());
70 ACHECK(config.navi_speed_decider_config().has_enable_safe_path());
71 ACHECK(config.navi_speed_decider_config().has_enable_planning_start_point());
73 config.navi_speed_decider_config().has_enable_accel_auto_compensation());
74 ACHECK(config.navi_speed_decider_config().has_kappa_preview());
75 ACHECK(config.navi_speed_decider_config().has_kappa_threshold());
76
77 max_speed_ = FLAGS_planning_upper_speed_limit;
78 preferred_accel_ =
79 std::abs(config.navi_speed_decider_config().preferred_accel());
80 preferred_decel_ =
81 std::abs(config.navi_speed_decider_config().preferred_decel());
82 preferred_jerk_ =
83 std::abs(config.navi_speed_decider_config().preferred_jerk());
84 max_accel_ = std::abs(config.navi_speed_decider_config().max_accel());
85 max_decel_ = std::abs(config.navi_speed_decider_config().max_decel());
86 preferred_accel_ = std::min(max_accel_, preferred_accel_);
87 preferred_decel_ = std::min(max_decel_, preferred_accel_);
88
89 obstacle_buffer_ =
90 std::abs(config.navi_speed_decider_config().obstacle_buffer());
91 safe_distance_base_ =
92 std::abs(config.navi_speed_decider_config().safe_distance_base());
93 safe_distance_ratio_ =
94 std::abs(config.navi_speed_decider_config().safe_distance_ratio());
95 following_accel_ratio_ =
96 std::abs(config.navi_speed_decider_config().following_accel_ratio());
97 soft_centric_accel_limit_ =
98 std::abs(config.navi_speed_decider_config().soft_centric_accel_limit());
99 hard_centric_accel_limit_ =
100 std::abs(config.navi_speed_decider_config().hard_centric_accel_limit());
101 soft_centric_accel_limit_ =
102 std::min(hard_centric_accel_limit_, soft_centric_accel_limit_);
103 hard_speed_limit_ =
104 std::abs(config.navi_speed_decider_config().hard_speed_limit());
105 hard_accel_limit_ =
106 std::abs(config.navi_speed_decider_config().hard_accel_limit());
107 enable_safe_path_ = config.navi_speed_decider_config().enable_safe_path();
108 enable_planning_start_point_ =
109 config.navi_speed_decider_config().enable_planning_start_point();
110 enable_accel_auto_compensation_ =
111 config.navi_speed_decider_config().enable_accel_auto_compensation();
112 kappa_preview_ = config.navi_speed_decider_config().kappa_preview();
113 kappa_threshold_ = config.navi_speed_decider_config().kappa_threshold();
114
115 return obstacle_decider_.
Init(config);
116}
bool Init(const PlannerNaviConfig &config) override
Initialization parameters