@@ -103,7 +103,10 @@ GoalPlannerModule::GoalPlannerModule(
103
103
}
104
104
105
105
if (pull_over_planners_.empty ()) {
106
- RCLCPP_ERROR (getLogger (), " Not found enabled planner" );
106
+ RCLCPP_WARN (
107
+ getLogger (),
108
+ " No enabled planner found. The vehicle will stop in the road lane without pull over. Please "
109
+ " check the parameters if this is the intended behavior." );
107
110
}
108
111
109
112
// set selected goal searcher
@@ -296,8 +299,8 @@ void GoalPlannerModule::onTimer()
296
299
!local_planner_data || !current_status_opt || !previous_module_output_opt ||
297
300
!last_previous_module_output_opt || !occupancy_grid_map || !parameters_opt ||
298
301
!goal_candidates_opt) {
299
- RCLCPP_ERROR (
300
- getLogger (),
302
+ RCLCPP_INFO_THROTTLE (
303
+ getLogger (), *clock_, 5000 ,
301
304
" failed to get valid "
302
305
" local_planner_data/current_status/previous_module_output/occupancy_grid_map/parameters_opt "
303
306
" in onTimer" );
@@ -462,8 +465,8 @@ void GoalPlannerModule::onFreespaceParkingTimer()
462
465
if (
463
466
!local_planner_data || !current_status_opt || !occupancy_grid_map || !parameters_opt ||
464
467
!vehicle_footprint_opt || !goal_candidates_opt) {
465
- RCLCPP_ERROR (
466
- getLogger (),
468
+ RCLCPP_WARN_THROTTLE (
469
+ getLogger (), *clock_, 5000 ,
467
470
" failed to get valid planner_data/current_status/parameters in "
468
471
" onFreespaceParkingTimer" );
469
472
return ;
@@ -801,7 +804,9 @@ bool GoalPlannerModule::isExecutionReady() const
801
804
// path_decision_controller.get_current_state() is valid
802
805
if (parameters_->safety_check_params .enable_safety_check && isWaitingApproval ()) {
803
806
if (!path_decision_controller_.get_current_state ().is_stable_safe ) {
804
- RCLCPP_ERROR_THROTTLE (getLogger (), *clock_, 5000 , " Path is not safe against dynamic objects" );
807
+ RCLCPP_INFO_THROTTLE (
808
+ getLogger (), *clock_, 5000 ,
809
+ " Path is not safe against dynamic objects, so the candidate path is not approved." );
805
810
return false ;
806
811
}
807
812
}
@@ -945,7 +950,8 @@ BehaviorModuleOutput GoalPlannerModule::plan()
945
950
946
951
if (utils::isAllowedGoalModification (planner_data_->route_handler )) {
947
952
if (!context_data_) {
948
- RCLCPP_ERROR (getLogger (), " [pull_over] plan() is called without valid context_data" );
953
+ RCLCPP_WARN_THROTTLE (
954
+ getLogger (), *clock_, 5000 , " [pull_over] plan() is called without valid context_data" );
949
955
} else {
950
956
const auto & context_data = context_data_.value ();
951
957
return planPullOver (context_data);
@@ -1230,7 +1236,7 @@ void GoalPlannerModule::setOutput(
1230
1236
if (!context_data.pull_over_path_opt ) {
1231
1237
// situation : not safe against static objects use stop_path
1232
1238
output.path = generateStopPath (context_data);
1233
- RCLCPP_WARN_THROTTLE (
1239
+ RCLCPP_INFO_THROTTLE (
1234
1240
getLogger (), *clock_, 5000 , " Not found safe pull_over path, generate stop path" );
1235
1241
setDrivableAreaInfo (context_data, output);
1236
1242
return ;
@@ -1244,7 +1250,7 @@ void GoalPlannerModule::setOutput(
1244
1250
// insert stop point in current path if ego is able to stop with acceleration and jerk
1245
1251
// constraints
1246
1252
output.path = generateFeasibleStopPath (pull_over_path.getCurrentPath ());
1247
- RCLCPP_WARN_THROTTLE (
1253
+ RCLCPP_INFO_THROTTLE (
1248
1254
getLogger (), *clock_, 5000 , " Not safe against dynamic objects, generate stop path" );
1249
1255
debug_stop_pose_with_info_.set (std::string (" feasible stop after approval" ));
1250
1256
} else {
@@ -1506,7 +1512,9 @@ void GoalPlannerModule::postProcess()
1506
1512
universe_utils::ScopedTimeTrack st (__func__, *time_keeper_);
1507
1513
1508
1514
if (!context_data_) {
1509
- RCLCPP_ERROR (getLogger (), " [pull_over] postProcess() is called without valid context_data" );
1515
+ RCLCPP_WARN_THROTTLE (
1516
+ getLogger (), *clock_, 5000 ,
1517
+ " [pull_over] postProcess() is called without valid context_data. use dummy context data." );
1510
1518
}
1511
1519
const auto context_data_dummy =
1512
1520
PullOverContextData (true , PredictedObjects{}, PredictedObjects{}, std::nullopt, {}, {});
@@ -1544,8 +1552,10 @@ BehaviorModuleOutput GoalPlannerModule::planWaitingApproval()
1544
1552
1545
1553
if (utils::isAllowedGoalModification (planner_data_->route_handler )) {
1546
1554
if (!context_data_) {
1547
- RCLCPP_ERROR (
1548
- getLogger (), " [pull_over] planWaitingApproval() is called without valid context_data" );
1555
+ RCLCPP_WARN_THROTTLE (
1556
+ getLogger (), *clock_, 5000 ,
1557
+ " [pull_over] planWaitingApproval() is called without valid context_data. use fixed goal "
1558
+ " planner" );
1549
1559
} else {
1550
1560
const auto & context_data = context_data_.value ();
1551
1561
return planPullOverAsCandidate (context_data);
0 commit comments