@@ -130,7 +130,8 @@ MarkerArray createToDrivableBoundDistance(const ObjectDataArray & objects, std::
130
130
return msg;
131
131
}
132
132
133
- MarkerArray createObjectInfoMarkerArray (const ObjectDataArray & objects, std::string && ns)
133
+ MarkerArray createObjectInfoMarkerArray (
134
+ const ObjectDataArray & objects, std::string && ns, const bool verbose)
134
135
{
135
136
MarkerArray msg;
136
137
@@ -139,7 +140,7 @@ MarkerArray createObjectInfoMarkerArray(const ObjectDataArray & objects, std::st
139
140
createMarkerScale (0.5 , 0.5 , 0.5 ), createMarkerColor (1.0 , 1.0 , 0.0 , 1.0 ));
140
141
141
142
for (const auto & object : objects) {
142
- {
143
+ if (verbose) {
143
144
marker.id = uuidToInt32 (object.object .object_id );
144
145
marker.pose = object.object .kinematics .initial_pose_with_covariance .pose ;
145
146
std::ostringstream string_stream;
@@ -160,6 +161,7 @@ MarkerArray createObjectInfoMarkerArray(const ObjectDataArray & objects, std::st
160
161
161
162
{
162
163
marker.id = uuidToInt32 (object.object .object_id );
164
+ marker.pose = object.object .kinematics .initial_pose_with_covariance .pose ;
163
165
marker.pose .position .z += 2.0 ;
164
166
std::ostringstream string_stream;
165
167
string_stream << magic_enum::enum_name (object.info ) << (object.is_parked ? " (PARKED)" : " " );
@@ -201,7 +203,7 @@ MarkerArray avoidableObjectsMarkerArray(const ObjectDataArray & objects, std::st
201
203
createMarkerColor (1.0 , 1.0 , 0.0 , 0.8 )),
202
204
&msg);
203
205
204
- appendMarkerArray (createObjectInfoMarkerArray (objects, ns + " _info" ), &msg);
206
+ appendMarkerArray (createObjectInfoMarkerArray (objects, ns + " _info" , true ), &msg);
205
207
appendMarkerArray (createObjectPolygonMarkerArray (objects, ns + " _envelope_polygon" ), &msg);
206
208
appendMarkerArray (createToDrivableBoundDistance (objects, ns + " _to_drivable_bound" ), &msg);
207
209
appendMarkerArray (createOverhangLaneletMarkerArray (objects, ns + " _overhang_lanelet" ), &msg);
@@ -220,7 +222,7 @@ MarkerArray unAvoidableObjectsMarkerArray(const ObjectDataArray & objects, std::
220
222
createMarkerColor (1.0 , 0.0 , 0.0 , 0.8 )),
221
223
&msg);
222
224
223
- appendMarkerArray (createObjectInfoMarkerArray (objects, ns + " _info" ), &msg);
225
+ appendMarkerArray (createObjectInfoMarkerArray (objects, ns + " _info" , true ), &msg);
224
226
appendMarkerArray (createObjectPolygonMarkerArray (objects, ns + " _envelope_polygon" ), &msg);
225
227
appendMarkerArray (createToDrivableBoundDistance (objects, ns + " _to_drivable_bound" ), &msg);
226
228
appendMarkerArray (createOverhangLaneletMarkerArray (objects, ns + " _overhang_lanelet" ), &msg);
@@ -428,7 +430,8 @@ MarkerArray createTargetObjectsMarkerArray(const ObjectDataArray & objects, cons
428
430
return msg;
429
431
}
430
432
431
- MarkerArray createOtherObjectsMarkerArray (const ObjectDataArray & objects, const ObjectInfo & info)
433
+ MarkerArray createOtherObjectsMarkerArray (
434
+ const ObjectDataArray & objects, const ObjectInfo & info, const bool verbose)
432
435
{
433
436
const auto filtered_objects = [&objects, &info]() {
434
437
ObjectDataArray ret{};
@@ -456,7 +459,8 @@ MarkerArray createOtherObjectsMarkerArray(const ObjectDataArray & objects, const
456
459
filtered_objects, " others_" + ns + " _cube" , createMarkerScale (3.0 , 1.5 , 1.5 ),
457
460
createMarkerColor (0.0 , 1.0 , 0.0 , 0.8 )),
458
461
&msg);
459
- appendMarkerArray (createObjectInfoMarkerArray (filtered_objects, " others_" + ns + " _info" ), &msg);
462
+ appendMarkerArray (
463
+ createObjectInfoMarkerArray (filtered_objects, " others_" + ns + " _info" , verbose), &msg);
460
464
appendMarkerArray (
461
465
createOverhangLaneletMarkerArray (filtered_objects, " others_" + ns + " _overhang_lanelet" ), &msg);
462
466
@@ -500,7 +504,8 @@ MarkerArray createDrivableBounds(
500
504
}
501
505
502
506
MarkerArray createDebugMarkerArray (
503
- const AvoidancePlanningData & data, const PathShifter & shifter, const DebugData & debug)
507
+ const AvoidancePlanningData & data, const PathShifter & shifter, const DebugData & debug,
508
+ const std::shared_ptr<AvoidanceParameters> & parameters)
504
509
{
505
510
using behavior_path_planner::utils::transformToLanelets;
506
511
using lanelet::visualization::laneletsAsTriangleMarkerArray;
@@ -534,7 +539,7 @@ MarkerArray createDebugMarkerArray(
534
539
};
535
540
536
541
const auto addObjects = [&](const ObjectDataArray & objects, const auto & ns) {
537
- add (createOtherObjectsMarkerArray (objects, ns));
542
+ add (createOtherObjectsMarkerArray (objects, ns, parameters-> enable_other_objects_info ));
538
543
};
539
544
540
545
const auto addShiftLength =
@@ -549,7 +554,7 @@ MarkerArray createDebugMarkerArray(
549
554
};
550
555
551
556
// ignore objects
552
- {
557
+ if (parameters-> enable_other_objects_marker ) {
553
558
addObjects (data.other_objects , ObjectInfo::FURTHER_THAN_THRESHOLD);
554
559
addObjects (data.other_objects , ObjectInfo::IS_NOT_TARGET_OBJECT);
555
560
addObjects (data.other_objects , ObjectInfo::FURTHER_THAN_GOAL);
@@ -569,7 +574,7 @@ MarkerArray createDebugMarkerArray(
569
574
}
570
575
571
576
// shift line pre-process
572
- {
577
+ if (parameters-> enable_shift_line_marker ) {
573
578
addAvoidLine (debug.step1_registered_shift_line , " step1_registered_shift_line" , 0.2 , 0.2 , 1.0 );
574
579
addAvoidLine (debug.step1_current_shift_line , " step1_current_shift_line" , 0.2 , 0.4 , 0.8 , 0.3 );
575
580
addAvoidLine (debug.step1_merged_shift_line , " step1_merged_shift_line" , 0.2 , 0.6 , 0.6 , 0.3 );
@@ -578,55 +583,60 @@ MarkerArray createDebugMarkerArray(
578
583
}
579
584
580
585
// merge process
581
- {
586
+ if (parameters-> enable_shift_line_marker ) {
582
587
addAvoidLine (debug.step2_merged_shift_line , " step2_merged_shift_line" , 0.2 , 1.0 , 0.0 , 0.3 );
583
588
}
584
589
585
590
// trimming process
586
- {
591
+ if (parameters-> enable_shift_line_marker ) {
587
592
addAvoidLine (debug.step3_grad_filtered_1st , " step3_grad_filtered_1st" , 0.2 , 0.8 , 0.0 , 0.3 );
588
593
addAvoidLine (debug.step3_grad_filtered_2nd , " step3_grad_filtered_2nd" , 0.4 , 0.6 , 0.0 , 0.3 );
589
594
addAvoidLine (debug.step3_grad_filtered_3rd , " step3_grad_filtered_3rd" , 0.6 , 0.4 , 0.0 , 0.3 );
590
595
}
591
596
592
597
// registering process
593
- {
598
+ if (parameters-> enable_shift_line_marker ) {
594
599
addShiftLine (shifter.getShiftLines (), " step4_old_shift_line" , 1.0 , 1.0 , 0.0 , 0.3 );
595
600
addAvoidLine (data.new_shift_line , " step4_new_shift_line" , 1.0 , 0.0 , 0.0 , 0.3 );
596
601
}
597
602
598
603
// safety check
599
- {
604
+ if (parameters-> enable_safety_check_marker ) {
600
605
add (showSafetyCheckInfo (debug.collision_check , " object_debug_info" ));
601
606
add (showPredictedPath (debug.collision_check , " ego_predicted_path" ));
602
607
add (showPolygon (debug.collision_check , " ego_and_target_polygon_relation" ));
603
608
}
604
609
605
610
// shift length
606
- {
611
+ if (parameters-> enable_shift_line_marker ) {
607
612
addShiftLength (debug.pos_shift , " merged_length_pos" , 0.0 , 0.7 , 0.5 );
608
613
addShiftLength (debug.neg_shift , " merged_length_neg" , 0.0 , 0.5 , 0.7 );
609
614
addShiftLength (debug.total_shift , " merged_length_total" , 0.99 , 0.4 , 0.2 );
610
615
}
611
616
612
617
// shift grad
613
- {
618
+ if (parameters-> enable_shift_line_marker ) {
614
619
addShiftGrad (debug.pos_shift_grad , debug.pos_shift , " merged_grad_pos" , 0.0 , 0.7 , 0.5 );
615
620
addShiftGrad (debug.neg_shift_grad , debug.neg_shift , " merged_grad_neg" , 0.0 , 0.5 , 0.7 );
616
621
addShiftGrad (debug.total_forward_grad , debug.total_shift , " grad_forward" , 0.99 , 0.4 , 0.2 );
617
622
addShiftGrad (debug.total_backward_grad , debug.total_shift , " grad_backward" , 0.4 , 0.2 , 0.9 );
618
623
}
619
624
620
625
// detection area
621
- size_t i = 0 ;
622
- for (const auto & detection_area : debug.detection_areas ) {
623
- add (createPolygonMarkerArray (detection_area, " detection_area" , i++, 0.16 , 1.0 , 0.69 , 0.1 ));
626
+ if (parameters->enable_detection_area_marker ) {
627
+ size_t i = 0 ;
628
+ for (const auto & detection_area : debug.detection_areas ) {
629
+ add (createPolygonMarkerArray (detection_area, " detection_area" , i++, 0.16 , 1.0 , 0.69 , 0.1 ));
630
+ }
624
631
}
625
632
626
- // misc
627
- {
628
- add (createPathMarkerArray (path, " centerline_resampled" , 0 , 0.0 , 0.9 , 0.5 ));
633
+ // drivable bound
634
+ if (parameters->enable_drivable_bound_marker ) {
629
635
add (createDrivableBounds (data, " drivable_bound" , 1.0 , 0.0 , 0.42 ));
636
+ }
637
+
638
+ // lane
639
+ if (parameters->enable_lane_marker ) {
630
640
add (laneletsAsTriangleMarkerArray (
631
641
" drivable_lanes" , transformToLanelets (data.drivable_lanes ),
632
642
createMarkerColor (0.16 , 1.0 , 0.69 , 0.2 )));
@@ -636,6 +646,11 @@ MarkerArray createDebugMarkerArray(
636
646
" safety_check_lanes" , debug.safety_check_lanes , createMarkerColor (1.0 , 0.0 , 0.42 , 0.2 )));
637
647
}
638
648
649
+ // misc
650
+ if (parameters->enable_misc_marker ) {
651
+ add (createPathMarkerArray (path, " centerline_resampled" , 0 , 0.0 , 0.9 , 0.5 ));
652
+ }
653
+
639
654
return msg;
640
655
}
641
656
} // namespace behavior_path_planner::utils::avoidance
0 commit comments