diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index ea86022e7134d..6b4daaa4b1773 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -1,7 +1,7 @@
### Copied from .github/CODEOWNERS-manual ###
### Automatically generated from package.xml ###
-common/autoware_ad_api_specs/** isamu.takagi@tier4.jp kahhooi.tan@tier4.jp makoto.yabuta@tier4.jp ryohsuke.mitsudome@tier4.jp
+common/autoware_ad_api_specs/** isamu.takagi@tier4.jp ryohsuke.mitsudome@tier4.jp
common/autoware_auto_common/** opensource@apex.ai satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp tomoya.kimura@tier4.jp
common/autoware_auto_geometry/** satoshi.ota@tier4.jp
common/autoware_auto_perception_rviz_plugin/** opensource@apex.ai satoshi.tanaka@tier4.jp taiki.tanaka@tier4.jp takeshi.miura@tier4.jp
@@ -9,9 +9,9 @@ common/autoware_auto_tf2/** jit.ray.c@gmail.com satoshi.ota@tier4.jp shumpei.wak
common/autoware_point_types/** taichi.higashide@tier4.jp
common/autoware_testing/** adam.dabrowski@robotec.ai satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp tomoya.kimura@tier4.jp
common/bag_time_manager_rviz_plugin/** taiki.tanaka@tier4.jp
-common/component_interface_specs/** isamu.takagi@tier4.jp kahhooi.tan@tier4.jp makoto.yabuta@tier4.jp yukihiro.saito@tier4.jp
-common/component_interface_tools/** isamu.takagi@tier4.jp kahhooi.tan@tier4.jp makoto.yabuta@tier4.jp
-common/component_interface_utils/** isamu.takagi@tier4.jp kahhooi.tan@tier4.jp makoto.yabuta@tier4.jp yukihiro.saito@tier4.jp
+common/component_interface_specs/** isamu.takagi@tier4.jp yukihiro.saito@tier4.jp
+common/component_interface_tools/** isamu.takagi@tier4.jp
+common/component_interface_utils/** isamu.takagi@tier4.jp yukihiro.saito@tier4.jp
common/cuda_utils/** daisuke.nishimatsu@tier4.jp manato.hirabayashi@tier4.jp
common/fake_test_node/** opensource@apex.ai satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp tomoya.kimura@tier4.jp
common/geography_utils/** koji.minoda@tier4.jp
@@ -24,7 +24,7 @@ common/kalman_filter/** koji.minoda@tier4.jp takeshi.ishita@tier4.jp yukihiro.sa
common/motion_utils/** fumiya.watanabe@tier4.jp kosuke.takeuchi@tier4.jp mamoru.sobue@tier4.jp satoshi.ota@tier4.jp taiki.tanaka@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp tomoya.kimura@tier4.jp
common/object_recognition_utils/** satoshi.tanaka@tier4.jp shunsuke.miura@tier4.jp takayuki.murooka@tier4.jp yusuke.muramatsu@tier4.jp
common/osqp_interface/** fumiya.watanabe@tier4.jp maxime.clement@tier4.jp satoshi.ota@tier4.jp takayuki.murooka@tier4.jp
-common/path_distance_calculator/** isamu.takagi@tier4.jp kahhooi.tan@tier4.jp makoto.yabuta@tier4.jp
+common/path_distance_calculator/** isamu.takagi@tier4.jp
common/perception_utils/** satoshi.tanaka@tier4.jp shunsuke.miura@tier4.jp yusuke.muramatsu@tier4.jp
common/polar_grid/** yukihiro.saito@tier4.jp
common/qp_interface/** fumiya.watanabe@tier4.jp maxime.clement@tier4.jp satoshi.ota@tier4.jp takayuki.murooka@tier4.jp
@@ -32,16 +32,16 @@ common/rtc_manager_rviz_plugin/** taiki.tanaka@tier4.jp tomoya.kimura@tier4.jp
common/signal_processing/** ali.boyali@tier4.jp fumiya.watanabe@tier4.jp kyoichi.sugahara@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp
common/tensorrt_common/** daisuke.nishimatsu@tier4.jp dan.umeda@tier4.jp manato.hirabayashi@tier4.jp
common/tier4_adapi_rviz_plugin/** hiroki.ota@tier4.jp isamu.takagi@tier4.jp kosuke.takeuchi@tier4.jp
-common/tier4_api_utils/** isamu.takagi@tier4.jp kahhooi.tan@tier4.jp makoto.yabuta@tier4.jp
+common/tier4_api_utils/** isamu.takagi@tier4.jp
common/tier4_automatic_goal_rviz_plugin/** dawid.moszynski@robotec.ai shumpei.wakabayashi@tier4.jp
common/tier4_autoware_utils/** mamoru.sobue@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp
common/tier4_calibration_rviz_plugin/** tomoya.kimura@tier4.jp
common/tier4_camera_view_rviz_plugin/** makoto.ybauta@tier4.jp uken.ryu@tier4.jp
common/tier4_control_rviz_plugin/** taiki.tanaka@tier4.jp
-common/tier4_datetime_rviz_plugin/** isamu.takagi@tier4.jp kahhooi.tan@tier4.jp makoto.yabuta@tier4.jp
+common/tier4_datetime_rviz_plugin/** isamu.takagi@tier4.jp
common/tier4_debug_rviz_plugin/** takayuki.murooka@tier4.jp
common/tier4_debug_tools/** ryohsuke.mitsudome@tier4.jp
-common/tier4_localization_rviz_plugin/** isamu.takagi@tier4.jp kahhooi.tan@tier4.jp makoto.yabuta@tier4.jp takamasa.horibe@tier4.jp
+common/tier4_localization_rviz_plugin/** isamu.takagi@tier4.jp takamasa.horibe@tier4.jp
common/tier4_logging_level_configure_rviz_plugin/** kosuke.takeuchi@tier4.jp satoshi.ota@tier4.jp takamasa.horibe@tier4.jp
common/tier4_perception_rviz_plugin/** yukihiro.saito@tier4.jp
common/tier4_planning_rviz_plugin/** takayuki.murooka@tier4.jp yukihiro.saito@tier4.jp
@@ -54,7 +54,7 @@ common/tier4_traffic_light_rviz_plugin/** satoshi.ota@tier4.jp
common/tier4_vehicle_rviz_plugin/** yukihiro.saito@tier4.jp
common/time_utils/** christopherj.ho@gmail.com shumpei.wakabayashi@tier4.jp tomoya.kimura@tier4.jp
common/traffic_light_recognition_marker_publisher/** shumpei.wakabayashi@tier4.jp takeshi.miura@tier4.jp tomoya.kimura@tier4.jp
-common/traffic_light_utils/** mingyu.li@tier4.jp shunsuke.miura@tier4.jp
+common/traffic_light_utils/** mingyu.li@tier4.jp satoshi.ota@tier4.jp shunsuke.miura@tier4.jp
common/tvm_utility/** ambroise.vincent@arm.com xinyu.wang@tier4.jp
control/autonomous_emergency_braking/** takamasa.horibe@tier4.jp tomoya.kimura@tier4.jp
control/control_performance_analysis/** berkay@leodrive.ai fumiya.watanabe@tier4.jp satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp taiki.tanaka@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp tomoya.kimura@tier4.jp
@@ -76,39 +76,39 @@ evaluator/diagnostic_converter/** kyoichi.sugahara@tier4.jp maxime.clement@tier4
evaluator/kinematic_evaluator/** dominik.jargot@robotec.ai fumiya.watanabe@tier4.jp satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp tomoya.kimura@tier4.jp
evaluator/localization_evaluator/** dominik.jargot@robotec.ai koji.minoda@tier4.jp
evaluator/planning_evaluator/** kyoichi.sugahara@tier4.jp maxime.clement@tier4.jp
-launch/tier4_autoware_api_launch/** isamu.takagi@tier4.jp kahhooi.tan@tier4.jp makoto.yabuta@tier4.jp ryohsuke.mitsudome@tier4.jp
+launch/tier4_autoware_api_launch/** isamu.takagi@tier4.jp ryohsuke.mitsudome@tier4.jp
launch/tier4_control_launch/** takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp
-launch/tier4_localization_launch/** kento.yabuuchi.2@tier4.jp koji.minoda@tier4.jp ryu.yamamoto@tier4.jp yamato.ando@tier4.jp
-launch/tier4_map_launch/** koji.minoda@tier4.jp ryohsuke.mitsudome@tier4.jp ryu.yamamoto@tier4.jp
+launch/tier4_localization_launch/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp koji.minoda@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+launch/tier4_map_launch/** kento.yabuuchi.2@tier4.jp koji.minoda@tier4.jp ryohsuke.mitsudome@tier4.jp ryu.yamamoto@tier4.jp
launch/tier4_perception_launch/** shunsuke.miura@tier4.jp yoshi.ri@tier4.jp yukihiro.saito@tier4.jp
launch/tier4_planning_launch/** fumiya.watanabe@tier4.jp kosuke.takeuchi@tier4.jp kyoichi.sugahara@tier4.jp makoto.kurihara@tier4.jp mamoru.sobue@tier4.jp satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp taiki.tanaka@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp tomohito.ando@tier4.jp tomoya.kimura@tier4.jp zhe.shen@tier4.jp zulfaqar.azmi@tier4.jp
launch/tier4_sensing_launch/** yukihiro.saito@tier4.jp
launch/tier4_simulator_launch/** keisuke.shima@tier4.jp taiki.tanaka@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp tomoya.kimura@tier4.jp
launch/tier4_system_launch/** fumihito.ito@tier4.jp tetsuhiro.kawaguchi@tier4.jp
launch/tier4_vehicle_launch/** yukihiro.saito@tier4.jp
-localization/ekf_localizer/** koji.minoda@tier4.jp masahiro.sakamoto@tier4.jp takamasa.horibe@tier4.jp takeshi.ishita@tier4.jp yamato.ando@tier4.jp
-localization/geo_pose_projector/** koji.minoda@tier4.jp yamato.ando@tier4.jp
-localization/gyro_odometer/** masahiro.sakamoto@tier4.jp yamato.ando@tier4.jp
-localization/landmark_based_localizer/ar_tag_based_localizer/** kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp shintaro.sakoda@tier4.jp yamato.ando@tier4.jp
-localization/landmark_based_localizer/landmark_manager/** kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp shintaro.sakoda@tier4.jp yamato.ando@tier4.jp
-localization/localization_error_monitor/** koji.minoda@tier4.jp masahiro.sakamoto@tier4.jp yamato.ando@tier4.jp
-localization/localization_util/** kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp shintaro.sakoda@tier4.jp yamato.ando@tier4.jp
-localization/ndt_scan_matcher/** kento.yabuuchi.2@tier4.jp koji.minoda@tier4.jp masahiro.sakamoto@tier4.jp yamato.ando@tier4.jp
-localization/pose2twist/** masahiro.sakamoto@tier4.jp yamato.ando@tier4.jp
-localization/pose_initializer/** isamu.takagi@tier4.jp masahiro.sakamoto@tier4.jp yamato.ando@tier4.jp
-localization/pose_instability_detector/** kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
-localization/stop_filter/** koji.minoda@tier4.jp masahiro.sakamoto@tier4.jp yamato.ando@tier4.jp
-localization/tree_structured_parzen_estimator/** kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp shintaro.sakoda@tier4.jp yamato.ando@tier4.jp
-localization/twist2accel/** koji.minoda@tier4.jp masahiro.sakamoto@tier4.jp yamato.ando@tier4.jp
-localization/yabloc/yabloc_common/** kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp
-localization/yabloc/yabloc_image_processing/** kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp
-localization/yabloc/yabloc_monitor/** kento.yabuuchi.2@tier4.jp koji.minoda@tier4.jp masahiro.sakamoto@tier4.jp
-localization/yabloc/yabloc_particle_filter/** kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp
-localization/yabloc/yabloc_pose_initializer/** kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp
-map/map_height_fitter/** isamu.takagi@tier4.jp masahiro.sakamoto@tier4.jp yamato.ando@tier4.jp
-map/map_loader/** koji.minoda@tier4.jp masahiro.sakamoto@tier4.jp ryohsuke.mitsudome@tier4.jp ryu.yamamoto@tier4.jp
-map/map_projection_loader/** koji.minoda@tier4.jp masahiro.sakamoto@tier4.jp yamato.ando@tier4.jp
-map/map_tf_generator/** azumi.suzuki@tier4.jp
+localization/ekf_localizer/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp koji.minoda@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp takamasa.horibe@tier4.jp takeshi.ishita@tier4.jp yamato.ando@tier4.jp
+localization/geo_pose_projector/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp koji.minoda@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+localization/gyro_odometer/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+localization/landmark_based_localizer/ar_tag_based_localizer/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+localization/landmark_based_localizer/landmark_manager/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+localization/localization_error_monitor/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp koji.minoda@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+localization/localization_util/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+localization/ndt_scan_matcher/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp koji.minoda@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+localization/pose2twist/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+localization/pose_initializer/** anh.nguyen.2@tier4.jp isamu.takagi@tier4.jp kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+localization/pose_instability_detector/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+localization/stop_filter/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp koji.minoda@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+localization/tree_structured_parzen_estimator/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+localization/twist2accel/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp koji.minoda@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+localization/yabloc/yabloc_common/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+localization/yabloc/yabloc_image_processing/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+localization/yabloc/yabloc_monitor/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp koji.minoda@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+localization/yabloc/yabloc_particle_filter/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+localization/yabloc/yabloc_pose_initializer/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+map/map_height_fitter/** anh.nguyen.2@tier4.jp isamu.takagi@tier4.jp kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+map/map_loader/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp koji.minoda@tier4.jp masahiro.sakamoto@tier4.jp ryohsuke.mitsudome@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp
+map/map_projection_loader/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp koji.minoda@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
+map/map_tf_generator/** anh.nguyen.2@tier4.jp kento.yabuuchi.2@tier4.jp masahiro.sakamoto@tier4.jp ryu.yamamoto@tier4.jp shintaro.sakoda@tier4.jp taiki.yamada@tier4.jp yamato.ando@tier4.jp
map/util/lanelet2_map_preprocessor/** ryohsuke.mitsudome@tier4.jp
perception/bytetrack/** manato.hirabayashi@tier4.jp
perception/cluster_merger/** dai.nguyen@tier4.jp shunsuke.miura@tier4.jp yukihiro.saito@tier4.jp
@@ -122,7 +122,7 @@ perception/euclidean_cluster/** yukihiro.saito@tier4.jp
perception/front_vehicle_velocity_estimator/** satoshi.tanaka@tier4.jp shunsuke.miura@tier4.jp
perception/ground_segmentation/** abrahammonrroy@yahoo.com dai.nguyen@tier4.jp shunsuke.miura@tier4.jp yukihiro.saito@tier4.jp
perception/heatmap_visualizer/** kotaro.uetake@tier4.jp
-perception/image_projection_based_fusion/** dai.nguyen@tier4.jp shunsuke.miura@tier4.jp yoshi.ri@tier4.jp yukihiro.saito@tier4.jp yusuke.muramatsu@tier4.jp
+perception/image_projection_based_fusion/** dai.nguyen@tier4.jp kotaro.uetake@tier4.jp shunsuke.miura@tier4.jp tao.zhong@tier4.jp yoshi.ri@tier4.jp yukihiro.saito@tier4.jp yusuke.muramatsu@tier4.jp
perception/lidar_apollo_instance_segmentation/** yukihiro.saito@tier4.jp
perception/lidar_apollo_segmentation_tvm/** ambroise.vincent@arm.com xinyu.wang@tier4.jp
perception/lidar_apollo_segmentation_tvm_nodes/** ambroise.vincent@arm.com xinyu.wang@tier4.jp
@@ -154,13 +154,20 @@ perception/traffic_light_multi_camera_fusion/** shunsuke.miura@tier4.jp tao.zhon
perception/traffic_light_occlusion_predictor/** shunsuke.miura@tier4.jp tao.zhong@tier4.jp
perception/traffic_light_ssd_fine_detector/** daisuke.nishimatsu@tier4.jp
perception/traffic_light_visualization/** yukihiro.saito@tier4.jp
-planning/behavior_path_avoidance_by_lane_change_module/** fumiya.watanabe@tier4.jp satoshi.ota@tier4.jp zulfaqar.azmi@tier4.jp
-planning/behavior_path_avoidance_module/** fumiya.watanabe@tier4.jp kyoichi.sugahara@tier4.jp satoshi.ota@tier4.jp takamasa.horibe@tier4.jp
-planning/behavior_path_planner/** fumiya.watanabe@tier4.jp kosuke.takeuchi@tier4.jp kyoichi.sugahara@tier4.jp mamoru.sobue@tier4.jp satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp taiki.tanaka@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp tomoya.kimura@tier4.jp zulfaqar.azmi@tier4.jp
-planning/behavior_path_planner_common/** fumiya.watanabe@tier4.jp kosuke.takeuchi@tier4.jp mamoru.sobue@tier4.jp maxime.clement@tier4.jp satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp tomoya.kimura@tier4.jp zulfaqar.azmi@tier4.jp
+planning/behavior_path_avoidance_by_lane_change_module/** fumiya.watanabe@tier4.jp satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp tomohito.ando@tier4.jp tomoya.kimura@tier4.jp zulfaqar.azmi@tier4.jp
+planning/behavior_path_avoidance_module/** fumiya.watanabe@tier4.jp kyoichi.sugahara@tier4.jp satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp takamasa.horibe@tier4.jp tomohito.ando@tier4.jp tomoya.kimura@tier4.jp
+planning/behavior_path_dynamic_avoidance_module/** kosuke.takeuchi@tier4.jp satoshi.ota@tier4.jp takayuki.murooka@tier4.jp yuki.takagi@tier4.jp
+planning/behavior_path_external_request_lane_change_module/** fumiya.watanabe@tier4.jp kosuke.takeuchi@tier4.jp shumpei.wakabayashi@tier4.jp tomohito.ando@tier4.jp tomoya.kimura@tier4.jp zulfaqar.azmi@tier4.jp
+planning/behavior_path_goal_planner_module/** kosuke.takeuchi@tier4.jp kyoichi.sugahara@tier4.jp satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp tomohito.ando@tier4.jp tomoya.kimura@tier4.jp
+planning/behavior_path_lane_change_module/** fumiya.watanabe@tier4.jp kosuke.takeuchi@tier4.jp shumpei.wakabayashi@tier4.jp tomohito.ando@tier4.jp tomoya.kimura@tier4.jp zulfaqar.azmi@tier4.jp
+planning/behavior_path_planner/** fumiya.watanabe@tier4.jp kosuke.takeuchi@tier4.jp kyoichi.sugahara@tier4.jp satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp tomohito.ando@tier4.jp tomoya.kimura@tier4.jp zulfaqar.azmi@tier4.jp
+planning/behavior_path_planner_common/** daniel.sanchez@tier4.jp fumiya.watanabe@tier4.jp kosuke.takeuchi@tier4.jp mamoru.sobue@tier4.jp maxime.clement@tier4.jp satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp tomoya.kimura@tier4.jp zulfaqar.azmi@tier4.jp
+planning/behavior_path_side_shift_module/** fumiya.watanabe@tier4.jp kyoichi.sugahara@tier4.jp satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp tomohito.ando@tier4.jp tomoya.kimura@tier4.jp
+planning/behavior_path_start_planner_module/** kosuke.takeuchi@tier4.jp kyoichi.sugahara@tier4.jp satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp tomohito.ando@tier4.jp tomoya.kimura@tier4.jp
planning/behavior_velocity_blind_spot_module/** mamoru.sobue@tier4.jp shumpei.wakabayashi@tier4.jp tomoya.kimura@tier4.jp
-planning/behavior_velocity_crosswalk_module/** kyoichi.sugahara@tier4.jp satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp takayuki.murooka@tier4.jp tomoya.kimura@tier4.jp
+planning/behavior_velocity_crosswalk_module/** kyoichi.sugahara@tier4.jp mamoru.sobue@tier4.jp satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp takayuki.murooka@tier4.jp tomoya.kimura@tier4.jp yuki.takagi@tier4.jp
planning/behavior_velocity_detection_area_module/** kyoichi.sugahara@tier4.jp shumpei.wakabayashi@tier4.jp tomoya.kimura@tier4.jp
+planning/behavior_velocity_dynamic_obstacle_stop_module/** mamoru.sobue@tier4.jp maxime.clement@tier4.jp
planning/behavior_velocity_intersection_module/** kyoichi.sugahara@tier4.jp mamoru.sobue@tier4.jp shumpei.wakabayashi@tier4.jp takayuki.murooka@tier4.jp tomoya.kimura@tier4.jp
planning/behavior_velocity_no_drivable_lane_module/** ahmed.ebrahim@leodrive.ai fumiya.watanabe@tier4.jp satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp tomoya.kimura@tier4.jp
planning/behavior_velocity_no_stopping_area_module/** kosuke.takeuchi@tier4.jp shumpei.wakabayashi@tier4.jp tomoya.kimura@tier4.jp
@@ -168,7 +175,7 @@ planning/behavior_velocity_occlusion_spot_module/** shumpei.wakabayashi@tier4.jp
planning/behavior_velocity_out_of_lane_module/** maxime.clement@tier4.jp shumpei.wakabayashi@tier4.jp takayuki.murooka@tier4.jp tomoya.kimura@tier4.jp
planning/behavior_velocity_planner/** kosuke.takeuchi@tier4.jp kyoichi.sugahara@tier4.jp makoto.kurihara@tier4.jp mamoru.sobue@tier4.jp maxime.clement@tier4.jp satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp taiki.tanaka@tier4.jp takayuki.murooka@tier4.jp tomohito.ando@tier4.jp tomoya.kimura@tier4.jp
planning/behavior_velocity_planner_common/** fumiya.watanabe@tier4.jp isamu.takagi@tier4.jp mamoru.sobue@tier4.jp shumpei.wakabayashi@tier4.jp tomoya.kimura@tier4.jp
-planning/behavior_velocity_run_out_module/** makoto.kurihara@tier4.jp shumpei.wakabayashi@tier4.jp takayuki.murooka@tier4.jp tomohito.ando@tier4.jp tomoya.kimura@tier4.jp
+planning/behavior_velocity_run_out_module/** kosuke.takeuchi@tier4.jp makoto.kurihara@tier4.jp shumpei.wakabayashi@tier4.jp takayuki.murooka@tier4.jp tomohito.ando@tier4.jp tomoya.kimura@tier4.jp
planning/behavior_velocity_speed_bump_module/** mdogru@leodrive.ai shumpei.wakabayashi@tier4.jp tomoya.kimura@tier4.jp
planning/behavior_velocity_stop_line_module/** fumiya.watanabe@tier4.jp shumpei.wakabayashi@tier4.jp tomoya.kimura@tier4.jp zhe.shen@tier4.jp
planning/behavior_velocity_template_module/** daniel.sanchez@tier4.jp
@@ -183,7 +190,7 @@ planning/mission_planner/** isamu.takagi@tier4.jp kosuke.takeuchi@tier4.jp ryohs
planning/motion_velocity_smoother/** fumiya.watanabe@tier4.jp makoto.kurihara@tier4.jp takamasa.horibe@tier4.jp
planning/objects_of_interest_marker_interface/** fumiya.watanabe@tier4.jp kosuke.takeuchi@tier4.jp zulfaqar.azmi@tier4.jp
planning/obstacle_avoidance_planner/** kosuke.takeuchi@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp
-planning/obstacle_cruise_planner/** kosuke.takeuchi@tier4.jp satoshi.ota@tier4.jp takayuki.murooka@tier4.jp
+planning/obstacle_cruise_planner/** kosuke.takeuchi@tier4.jp satoshi.ota@tier4.jp takayuki.murooka@tier4.jp yuki.takagi@tier4.jp
planning/obstacle_stop_planner/** berkay@leodrive.ai satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp taiki.tanaka@tier4.jp tomoya.kimura@tier4.jp
planning/obstacle_velocity_limiter/** maxime.clement@tier4.jp
planning/path_smoother/** maxime.clement@tier4.jp takayuki.murooka@tier4.jp
@@ -218,18 +225,18 @@ simulator/fault_injection/** keisuke.shima@tier4.jp
simulator/simple_planning_simulator/** takamasa.horibe@tier4.jp tomoya.kimura@tier4.jp
system/autoware_auto_msgs_adapter/** isamu.takagi@tier4.jp mfc@leodrive.ai
system/bluetooth_monitor/** fumihito.ito@tier4.jp
-system/component_state_monitor/** isamu.takagi@tier4.jp kahhooi.tan@tier4.jp makoto.yabuta@tier4.jp
-system/default_ad_api/** isamu.takagi@tier4.jp kahhooi.tan@tier4.jp makoto.yabuta@tier4.jp ryohsuke.mitsudome@tier4.jp yukihiro.saito@tier4.jp
-system/default_ad_api_helpers/ad_api_adaptors/** isamu.takagi@tier4.jp kahhooi.tan@tier4.jp makoto.yabuta@tier4.jp ryohsuke.mitsudome@tier4.jp yukihiro.saito@tier4.jp
-system/default_ad_api_helpers/ad_api_visualizers/** isamu.takagi@tier4.jp kahhooi.tan@tier4.jp makoto.yabuta@tier4.jp ryohsuke.mitsudome@tier4.jp yukihiro.saito@tier4.jp
-system/default_ad_api_helpers/automatic_pose_initializer/** isamu.takagi@tier4.jp kahhooi.tan@tier4.jp makoto.yabuta@tier4.jp ryohsuke.mitsudome@tier4.jp yukihiro.saito@tier4.jp
+system/component_state_monitor/** isamu.takagi@tier4.jp
+system/default_ad_api/** isamu.takagi@tier4.jp ryohsuke.mitsudome@tier4.jp yukihiro.saito@tier4.jp
+system/default_ad_api_helpers/ad_api_adaptors/** isamu.takagi@tier4.jp ryohsuke.mitsudome@tier4.jp yukihiro.saito@tier4.jp
+system/default_ad_api_helpers/ad_api_visualizers/** isamu.takagi@tier4.jp ryohsuke.mitsudome@tier4.jp yukihiro.saito@tier4.jp
+system/default_ad_api_helpers/automatic_pose_initializer/** isamu.takagi@tier4.jp ryohsuke.mitsudome@tier4.jp yukihiro.saito@tier4.jp
+system/diagnostic_graph_aggregator/** isamu.takagi@tier4.jp
system/dummy_diag_publisher/** fumihito.ito@tier4.jp tetsuhiro.kawaguchi@tier4.jp
system/dummy_infrastructure/** ryohsuke.mitsudome@tier4.jp
system/duplicated_node_checker/** shumpei.wakabayashi@tier4.jp uken.ryu@tier4.jp
system/emergency_handler/** makoto.kurihara@tier4.jp
system/mrm_comfortable_stop_operator/** makoto.kurihara@tier4.jp tomohito.ando@tier4.jp
system/mrm_emergency_stop_operator/** makoto.kurihara@tier4.jp tomohito.ando@tier4.jp
-system/system_diagnostic_graph/** isamu.takagi@tier4.jp
system/system_error_monitor/** fumihito.ito@tier4.jp
system/system_monitor/** fumihito.ito@tier4.jp tetsuhiro.kawaguchi@tier4.jp
system/topic_state_monitor/** ryohsuke.mitsudome@tier4.jp
diff --git a/.github/workflows/cancel-previous-workflows.yaml b/.github/workflows/cancel-previous-workflows.yaml
index f9c29b81b6e6c..1da4d24966de9 100644
--- a/.github/workflows/cancel-previous-workflows.yaml
+++ b/.github/workflows/cancel-previous-workflows.yaml
@@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Cancel previous runs
- uses: styfle/cancel-workflow-action@0.11.0
+ uses: styfle/cancel-workflow-action@0.12.0
with:
workflow_id: all
all_but_latest: true
diff --git a/.github/workflows/github-release.yaml b/.github/workflows/github-release.yaml
index 95ebb8725f62b..b426d0cba6614 100644
--- a/.github/workflows/github-release.yaml
+++ b/.github/workflows/github-release.yaml
@@ -30,7 +30,7 @@ jobs:
echo "tag-name=${REF_NAME#beta/}" >> $GITHUB_OUTPUT
- name: Check out repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ steps.set-tag-name.outputs.ref-name }}
diff --git a/.github/workflows/pre-commit-optional.yaml b/.github/workflows/pre-commit-optional.yaml
index e754ecab24f85..38738196a0bd3 100644
--- a/.github/workflows/pre-commit-optional.yaml
+++ b/.github/workflows/pre-commit-optional.yaml
@@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
diff --git a/.github/workflows/pre-commit.yaml b/.github/workflows/pre-commit.yaml
index b231dbda87938..33c00ee1066ae 100644
--- a/.github/workflows/pre-commit.yaml
+++ b/.github/workflows/pre-commit.yaml
@@ -16,7 +16,7 @@ jobs:
private_key: ${{ secrets.PRIVATE_KEY }}
- name: Check out repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
diff --git a/.github/workflows/spell-check-differential.yaml b/.github/workflows/spell-check-differential.yaml
index eb18ccdba38d0..1fbf2ff46925c 100644
--- a/.github/workflows/spell-check-differential.yaml
+++ b/.github/workflows/spell-check-differential.yaml
@@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Run spell-check
uses: autowarefoundation/autoware-github-actions/spell-check@v1
diff --git a/common/autoware_ad_api_specs/package.xml b/common/autoware_ad_api_specs/package.xml
index d4d82faf4ee78..0d14ccff758b0 100644
--- a/common/autoware_ad_api_specs/package.xml
+++ b/common/autoware_ad_api_specs/package.xml
@@ -5,8 +5,6 @@
0.0.0
The autoware_ad_api_specs package
Takagi, Isamu
- yabuta
- Kah Hooi Tan
Ryohsuke Mitsudome
Apache License 2.0
diff --git a/common/autoware_auto_common/design/comparisons.md b/common/autoware_auto_common/design/comparisons.md
index f3a7eb5e58429..3d00f77c1b0c3 100644
--- a/common/autoware_auto_common/design/comparisons.md
+++ b/common/autoware_auto_common/design/comparisons.md
@@ -22,8 +22,8 @@ The `exclusive_or` function will test whether two values cast to different boole
## Example Usage
```c++
-#include "common/bool_comparisons.hpp"
-#include "common/float_comparisons.hpp"
+#include "autoware_auto_common/common/bool_comparisons.hpp"
+#include "autoware_auto_common/common/float_comparisons.hpp"
#include
diff --git a/common/autoware_auto_common/include/common/type_traits.hpp b/common/autoware_auto_common/include/autoware_auto_common/common/type_traits.hpp
similarity index 96%
rename from common/autoware_auto_common/include/common/type_traits.hpp
rename to common/autoware_auto_common/include/autoware_auto_common/common/type_traits.hpp
index 7087ed1e81181..66f382f081b33 100644
--- a/common/autoware_auto_common/include/common/type_traits.hpp
+++ b/common/autoware_auto_common/include/autoware_auto_common/common/type_traits.hpp
@@ -14,15 +14,15 @@
//
// Developed by Apex.AI, Inc.
-#include
-#include
+#include "autoware_auto_common/common/types.hpp"
+#include "autoware_auto_common/common/visibility_control.hpp"
#include
#include
#include
-#ifndef COMMON__TYPE_TRAITS_HPP_
-#define COMMON__TYPE_TRAITS_HPP_
+#ifndef AUTOWARE_AUTO_COMMON__COMMON__TYPE_TRAITS_HPP_
+#define AUTOWARE_AUTO_COMMON__COMMON__TYPE_TRAITS_HPP_
namespace autoware
{
@@ -219,4 +219,4 @@ struct intersect
} // namespace common
} // namespace autoware
-#endif // COMMON__TYPE_TRAITS_HPP_
+#endif // AUTOWARE_AUTO_COMMON__COMMON__TYPE_TRAITS_HPP_
diff --git a/common/autoware_auto_common/include/common/types.hpp b/common/autoware_auto_common/include/autoware_auto_common/common/types.hpp
similarity index 93%
rename from common/autoware_auto_common/include/common/types.hpp
rename to common/autoware_auto_common/include/autoware_auto_common/common/types.hpp
index 3f3e444c1aa8c..1c7dfe48c7ec8 100644
--- a/common/autoware_auto_common/include/common/types.hpp
+++ b/common/autoware_auto_common/include/autoware_auto_common/common/types.hpp
@@ -16,11 +16,11 @@
/// \file
/// \brief This file includes common type definition
-#ifndef COMMON__TYPES_HPP_
-#define COMMON__TYPES_HPP_
+#ifndef AUTOWARE_AUTO_COMMON__COMMON__TYPES_HPP_
+#define AUTOWARE_AUTO_COMMON__COMMON__TYPES_HPP_
-#include "common/visibility_control.hpp"
-#include "helper_functions/float_comparisons.hpp"
+#include "autoware_auto_common/common/visibility_control.hpp"
+#include "autoware_auto_common/helper_functions/float_comparisons.hpp"
#include
#include
@@ -122,4 +122,4 @@ using void_t = void;
} // namespace common
} // namespace autoware
-#endif // COMMON__TYPES_HPP_
+#endif // AUTOWARE_AUTO_COMMON__COMMON__TYPES_HPP_
diff --git a/common/autoware_auto_common/include/common/visibility_control.hpp b/common/autoware_auto_common/include/autoware_auto_common/common/visibility_control.hpp
similarity index 88%
rename from common/autoware_auto_common/include/common/visibility_control.hpp
rename to common/autoware_auto_common/include/autoware_auto_common/common/visibility_control.hpp
index 0a988d6407dfa..33834fd9ccfed 100644
--- a/common/autoware_auto_common/include/common/visibility_control.hpp
+++ b/common/autoware_auto_common/include/autoware_auto_common/common/visibility_control.hpp
@@ -14,8 +14,8 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#ifndef COMMON__VISIBILITY_CONTROL_HPP_
-#define COMMON__VISIBILITY_CONTROL_HPP_
+#ifndef AUTOWARE_AUTO_COMMON__COMMON__VISIBILITY_CONTROL_HPP_
+#define AUTOWARE_AUTO_COMMON__COMMON__VISIBILITY_CONTROL_HPP_
#if defined(_MSC_VER) && defined(_WIN64)
#if defined(COMMON_BUILDING_DLL) || defined(COMMON_EXPORTS)
@@ -35,4 +35,4 @@
#error "Unsupported Build Configuration"
#endif // _MSC_VER
-#endif // COMMON__VISIBILITY_CONTROL_HPP_
+#endif // AUTOWARE_AUTO_COMMON__COMMON__VISIBILITY_CONTROL_HPP_
diff --git a/common/autoware_auto_common/include/helper_functions/angle_utils.hpp b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/angle_utils.hpp
similarity index 89%
rename from common/autoware_auto_common/include/helper_functions/angle_utils.hpp
rename to common/autoware_auto_common/include/autoware_auto_common/helper_functions/angle_utils.hpp
index 6cca2440d5680..ea974774dd9d5 100644
--- a/common/autoware_auto_common/include/helper_functions/angle_utils.hpp
+++ b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/angle_utils.hpp
@@ -14,8 +14,8 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#ifndef HELPER_FUNCTIONS__ANGLE_UTILS_HPP_
-#define HELPER_FUNCTIONS__ANGLE_UTILS_HPP_
+#ifndef AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__ANGLE_UTILS_HPP_
+#define AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__ANGLE_UTILS_HPP_
#include
#include
@@ -63,4 +63,4 @@ constexpr T wrap_angle(T angle) noexcept
} // namespace common
} // namespace autoware
-#endif // HELPER_FUNCTIONS__ANGLE_UTILS_HPP_
+#endif // AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__ANGLE_UTILS_HPP_
diff --git a/common/autoware_auto_common/include/helper_functions/bool_comparisons.hpp b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/bool_comparisons.hpp
similarity index 85%
rename from common/autoware_auto_common/include/helper_functions/bool_comparisons.hpp
rename to common/autoware_auto_common/include/autoware_auto_common/helper_functions/bool_comparisons.hpp
index c6bf09365af4f..45da098ad0066 100644
--- a/common/autoware_auto_common/include/helper_functions/bool_comparisons.hpp
+++ b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/bool_comparisons.hpp
@@ -18,10 +18,10 @@
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
// IN THE SOFTWARE.
-#ifndef HELPER_FUNCTIONS__BOOL_COMPARISONS_HPP_
-#define HELPER_FUNCTIONS__BOOL_COMPARISONS_HPP_
+#ifndef AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__BOOL_COMPARISONS_HPP_
+#define AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__BOOL_COMPARISONS_HPP_
-#include "common/types.hpp"
+#include "autoware_auto_common/common/types.hpp"
namespace autoware
{
@@ -47,4 +47,4 @@ types::bool8_t exclusive_or(const T & a, const T & b)
} // namespace common
} // namespace autoware
-#endif // HELPER_FUNCTIONS__BOOL_COMPARISONS_HPP_
+#endif // AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__BOOL_COMPARISONS_HPP_
diff --git a/common/autoware_auto_common/include/helper_functions/byte_reader.hpp b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/byte_reader.hpp
similarity index 90%
rename from common/autoware_auto_common/include/helper_functions/byte_reader.hpp
rename to common/autoware_auto_common/include/autoware_auto_common/helper_functions/byte_reader.hpp
index d9e55c4ecfbfe..3852361caebeb 100644
--- a/common/autoware_auto_common/include/helper_functions/byte_reader.hpp
+++ b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/byte_reader.hpp
@@ -16,8 +16,8 @@
/// \file
/// \brief This file includes common helper functions
-#ifndef HELPER_FUNCTIONS__BYTE_READER_HPP_
-#define HELPER_FUNCTIONS__BYTE_READER_HPP_
+#ifndef AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__BYTE_READER_HPP_
+#define AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__BYTE_READER_HPP_
#include
#include
@@ -70,4 +70,4 @@ class ByteReader
} // namespace common
} // namespace autoware
-#endif // HELPER_FUNCTIONS__BYTE_READER_HPP_
+#endif // AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__BYTE_READER_HPP_
diff --git a/common/autoware_auto_common/include/helper_functions/crtp.hpp b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/crtp.hpp
similarity index 88%
rename from common/autoware_auto_common/include/helper_functions/crtp.hpp
rename to common/autoware_auto_common/include/autoware_auto_common/helper_functions/crtp.hpp
index 0e8110a9a3bb9..e75674eb73c70 100644
--- a/common/autoware_auto_common/include/helper_functions/crtp.hpp
+++ b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/crtp.hpp
@@ -16,8 +16,8 @@
/// \file
/// \brief This file includes common helper functions
-#ifndef HELPER_FUNCTIONS__CRTP_HPP_
-#define HELPER_FUNCTIONS__CRTP_HPP_
+#ifndef AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__CRTP_HPP_
+#define AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__CRTP_HPP_
namespace autoware
{
@@ -49,4 +49,4 @@ class crtp
} // namespace common
} // namespace autoware
-#endif // HELPER_FUNCTIONS__CRTP_HPP_
+#endif // AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__CRTP_HPP_
diff --git a/common/autoware_auto_common/include/helper_functions/float_comparisons.hpp b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/float_comparisons.hpp
similarity index 95%
rename from common/autoware_auto_common/include/helper_functions/float_comparisons.hpp
rename to common/autoware_auto_common/include/autoware_auto_common/helper_functions/float_comparisons.hpp
index de1f459f21d0a..1a64fe71a1720 100644
--- a/common/autoware_auto_common/include/helper_functions/float_comparisons.hpp
+++ b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/float_comparisons.hpp
@@ -18,8 +18,8 @@
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
// IN THE SOFTWARE.
-#ifndef HELPER_FUNCTIONS__FLOAT_COMPARISONS_HPP_
-#define HELPER_FUNCTIONS__FLOAT_COMPARISONS_HPP_
+#ifndef AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__FLOAT_COMPARISONS_HPP_
+#define AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__FLOAT_COMPARISONS_HPP_
#include
#include
@@ -146,4 +146,4 @@ bool approx_eq(const T & a, const T & b, const T & abs_eps, const T & rel_eps)
} // namespace common
} // namespace autoware
-#endif // HELPER_FUNCTIONS__FLOAT_COMPARISONS_HPP_
+#endif // AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__FLOAT_COMPARISONS_HPP_
diff --git a/common/autoware_auto_common/include/helper_functions/mahalanobis_distance.hpp b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/mahalanobis_distance.hpp
similarity index 92%
rename from common/autoware_auto_common/include/helper_functions/mahalanobis_distance.hpp
rename to common/autoware_auto_common/include/autoware_auto_common/helper_functions/mahalanobis_distance.hpp
index fb9bdccf32b25..70c29eaf220d8 100644
--- a/common/autoware_auto_common/include/helper_functions/mahalanobis_distance.hpp
+++ b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/mahalanobis_distance.hpp
@@ -14,8 +14,8 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#ifndef HELPER_FUNCTIONS__MAHALANOBIS_DISTANCE_HPP_
-#define HELPER_FUNCTIONS__MAHALANOBIS_DISTANCE_HPP_
+#ifndef AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__MAHALANOBIS_DISTANCE_HPP_
+#define AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__MAHALANOBIS_DISTANCE_HPP_
#include
@@ -69,4 +69,4 @@ types::float32_t calculate_mahalanobis_distance(
} // namespace common
} // namespace autoware
-#endif // HELPER_FUNCTIONS__MAHALANOBIS_DISTANCE_HPP_
+#endif // AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__MAHALANOBIS_DISTANCE_HPP_
diff --git a/common/autoware_auto_common/include/helper_functions/message_adapters.hpp b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/message_adapters.hpp
similarity index 94%
rename from common/autoware_auto_common/include/helper_functions/message_adapters.hpp
rename to common/autoware_auto_common/include/autoware_auto_common/helper_functions/message_adapters.hpp
index 352ef7c7b65d5..d3bda57b3374f 100644
--- a/common/autoware_auto_common/include/helper_functions/message_adapters.hpp
+++ b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/message_adapters.hpp
@@ -16,8 +16,8 @@
/// \file
/// \brief This file includes common helper functions
-#ifndef HELPER_FUNCTIONS__MESSAGE_ADAPTERS_HPP_
-#define HELPER_FUNCTIONS__MESSAGE_ADAPTERS_HPP_
+#ifndef AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__MESSAGE_ADAPTERS_HPP_
+#define AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__MESSAGE_ADAPTERS_HPP_
#include
@@ -112,4 +112,4 @@ TimeStamp get_stamp(const T & msg) noexcept
} // namespace common
} // namespace autoware
-#endif // HELPER_FUNCTIONS__MESSAGE_ADAPTERS_HPP_
+#endif // AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__MESSAGE_ADAPTERS_HPP_
diff --git a/common/autoware_auto_common/include/helper_functions/template_utils.hpp b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/template_utils.hpp
similarity index 91%
rename from common/autoware_auto_common/include/helper_functions/template_utils.hpp
rename to common/autoware_auto_common/include/autoware_auto_common/helper_functions/template_utils.hpp
index b39931a3fd15a..0360908509618 100644
--- a/common/autoware_auto_common/include/helper_functions/template_utils.hpp
+++ b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/template_utils.hpp
@@ -14,10 +14,10 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#ifndef HELPER_FUNCTIONS__TEMPLATE_UTILS_HPP_
-#define HELPER_FUNCTIONS__TEMPLATE_UTILS_HPP_
+#ifndef AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__TEMPLATE_UTILS_HPP_
+#define AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__TEMPLATE_UTILS_HPP_
-#include
+#include "autoware_auto_common/common/types.hpp"
#include
@@ -72,4 +72,4 @@ struct expression_valid_with_return<
} // namespace helper_functions
} // namespace common
} // namespace autoware
-#endif // HELPER_FUNCTIONS__TEMPLATE_UTILS_HPP_
+#endif // AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__TEMPLATE_UTILS_HPP_
diff --git a/common/autoware_auto_common/include/helper_functions/type_name.hpp b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/type_name.hpp
similarity index 84%
rename from common/autoware_auto_common/include/helper_functions/type_name.hpp
rename to common/autoware_auto_common/include/autoware_auto_common/helper_functions/type_name.hpp
index a95834373d552..106cede1f2f5a 100644
--- a/common/autoware_auto_common/include/helper_functions/type_name.hpp
+++ b/common/autoware_auto_common/include/autoware_auto_common/helper_functions/type_name.hpp
@@ -14,10 +14,10 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#ifndef HELPER_FUNCTIONS__TYPE_NAME_HPP_
-#define HELPER_FUNCTIONS__TYPE_NAME_HPP_
+#ifndef AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__TYPE_NAME_HPP_
+#define AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__TYPE_NAME_HPP_
-#include
+#include "autoware_auto_common/common/visibility_control.hpp"
#include
#include
@@ -53,4 +53,4 @@ COMMON_PUBLIC std::string get_type_name(const T &)
} // namespace helper_functions
} // namespace autoware
-#endif // HELPER_FUNCTIONS__TYPE_NAME_HPP_
+#endif // AUTOWARE_AUTO_COMMON__HELPER_FUNCTIONS__TYPE_NAME_HPP_
diff --git a/common/autoware_auto_common/test/test_angle_utils.cpp b/common/autoware_auto_common/test/test_angle_utils.cpp
index 031ae144139aa..810c302845daf 100644
--- a/common/autoware_auto_common/test/test_angle_utils.cpp
+++ b/common/autoware_auto_common/test/test_angle_utils.cpp
@@ -14,8 +14,8 @@
//
// Developed by Apex.AI, Inc.
-#include
-#include
+#include "autoware_auto_common/common/types.hpp"
+#include "autoware_auto_common/helper_functions/angle_utils.hpp"
#include
diff --git a/common/autoware_auto_common/test/test_bool_comparisons.cpp b/common/autoware_auto_common/test/test_bool_comparisons.cpp
index 67c1c8ddbf9aa..a84d65e569692 100644
--- a/common/autoware_auto_common/test/test_bool_comparisons.cpp
+++ b/common/autoware_auto_common/test/test_bool_comparisons.cpp
@@ -18,7 +18,7 @@
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
// IN THE SOFTWARE.
-#include "helper_functions/bool_comparisons.hpp"
+#include "autoware_auto_common/helper_functions/bool_comparisons.hpp"
#include
diff --git a/common/autoware_auto_common/test/test_byte_reader.cpp b/common/autoware_auto_common/test/test_byte_reader.cpp
index c83d06c6e8132..a5ab8743f7ed4 100644
--- a/common/autoware_auto_common/test/test_byte_reader.cpp
+++ b/common/autoware_auto_common/test/test_byte_reader.cpp
@@ -14,9 +14,10 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#include "common/types.hpp"
-#include "gtest/gtest.h"
-#include "helper_functions/byte_reader.hpp"
+#include "autoware_auto_common/common/types.hpp"
+#include "autoware_auto_common/helper_functions/byte_reader.hpp"
+
+#include
#include
diff --git a/common/autoware_auto_common/test/test_float_comparisons.cpp b/common/autoware_auto_common/test/test_float_comparisons.cpp
index d292dc0a0cb20..37d3afdc177d5 100644
--- a/common/autoware_auto_common/test/test_float_comparisons.cpp
+++ b/common/autoware_auto_common/test/test_float_comparisons.cpp
@@ -18,7 +18,7 @@
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
// IN THE SOFTWARE.
-#include "helper_functions/float_comparisons.hpp"
+#include "autoware_auto_common/helper_functions/float_comparisons.hpp"
#include
diff --git a/common/autoware_auto_common/test/test_mahalanobis_distance.cpp b/common/autoware_auto_common/test/test_mahalanobis_distance.cpp
index 262599180abb6..2015a85bc2bc8 100644
--- a/common/autoware_auto_common/test/test_mahalanobis_distance.cpp
+++ b/common/autoware_auto_common/test/test_mahalanobis_distance.cpp
@@ -13,8 +13,8 @@
// limitations under the License.
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#include
-#include
+#include "autoware_auto_common/common/types.hpp"
+#include "autoware_auto_common/helper_functions/mahalanobis_distance.hpp"
#include
diff --git a/common/autoware_auto_common/test/test_message_field_adapters.cpp b/common/autoware_auto_common/test/test_message_field_adapters.cpp
index 34974c1cda9a6..c35f0ff826995 100644
--- a/common/autoware_auto_common/test/test_message_field_adapters.cpp
+++ b/common/autoware_auto_common/test/test_message_field_adapters.cpp
@@ -14,7 +14,7 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#include
+#include "autoware_auto_common/helper_functions/message_adapters.hpp"
#include
diff --git a/common/autoware_auto_common/test/test_template_utils.cpp b/common/autoware_auto_common/test/test_template_utils.cpp
index 9c9ca9ae4b5f2..a670aaab83cfa 100644
--- a/common/autoware_auto_common/test/test_template_utils.cpp
+++ b/common/autoware_auto_common/test/test_template_utils.cpp
@@ -14,7 +14,7 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#include
+#include "autoware_auto_common/helper_functions/template_utils.hpp"
#include
diff --git a/common/autoware_auto_common/test/test_type_name.cpp b/common/autoware_auto_common/test/test_type_name.cpp
index 1fb60d838f307..4ada59b4fb2e1 100644
--- a/common/autoware_auto_common/test/test_type_name.cpp
+++ b/common/autoware_auto_common/test/test_type_name.cpp
@@ -14,8 +14,8 @@
//
// Developed by Apex.AI, Inc.
-#include
-#include
+#include "autoware_auto_common/common/types.hpp"
+#include "autoware_auto_common/helper_functions/type_name.hpp"
#include
diff --git a/common/autoware_auto_common/test/test_type_traits.cpp b/common/autoware_auto_common/test/test_type_traits.cpp
index 7203ab8d649ee..92d01b3d84d51 100644
--- a/common/autoware_auto_common/test/test_type_traits.cpp
+++ b/common/autoware_auto_common/test/test_type_traits.cpp
@@ -14,8 +14,8 @@
//
// Developed by Apex.AI, Inc.
-#include
-#include
+#include "autoware_auto_common/common/type_traits.hpp"
+#include "autoware_auto_common/common/types.hpp"
#include
diff --git a/common/autoware_auto_geometry/CMakeLists.txt b/common/autoware_auto_geometry/CMakeLists.txt
index 454e0e7ef044f..ee819b7cd797c 100644
--- a/common/autoware_auto_geometry/CMakeLists.txt
+++ b/common/autoware_auto_geometry/CMakeLists.txt
@@ -5,9 +5,9 @@ find_package(autoware_cmake REQUIRED)
autoware_package()
ament_auto_add_library(${PROJECT_NAME} SHARED
- include/geometry/spatial_hash.hpp
- include/geometry/intersection.hpp
- include/geometry/spatial_hash_config.hpp
+ include/autoware_auto_geometry/spatial_hash.hpp
+ include/autoware_auto_geometry/intersection.hpp
+ include/autoware_auto_geometry/spatial_hash_config.hpp
src/spatial_hash.cpp
src/bounding_box.cpp
)
diff --git a/common/autoware_auto_geometry/design/interval.md b/common/autoware_auto_geometry/design/interval.md
index 26260ba8d8e67..4fe65ff8e0310 100644
--- a/common/autoware_auto_geometry/design/interval.md
+++ b/common/autoware_auto_geometry/design/interval.md
@@ -39,7 +39,7 @@ See 'Example Usage' below.
## Example Usage
```c++
-#include "geometry/interval.hpp"
+#include "autoware_auto_geometry/interval.hpp"
#include
diff --git a/common/autoware_auto_geometry/include/geometry/bounding_box/bounding_box_common.hpp b/common/autoware_auto_geometry/include/autoware_auto_geometry/bounding_box/bounding_box_common.hpp
similarity index 95%
rename from common/autoware_auto_geometry/include/geometry/bounding_box/bounding_box_common.hpp
rename to common/autoware_auto_geometry/include/autoware_auto_geometry/bounding_box/bounding_box_common.hpp
index d1dee63f73b56..0f3a68e14d442 100644
--- a/common/autoware_auto_geometry/include/geometry/bounding_box/bounding_box_common.hpp
+++ b/common/autoware_auto_geometry/include/autoware_auto_geometry/bounding_box/bounding_box_common.hpp
@@ -17,11 +17,11 @@
/// \file
/// \brief Common functionality for bounding box computation algorithms
-#ifndef GEOMETRY__BOUNDING_BOX__BOUNDING_BOX_COMMON_HPP_
-#define GEOMETRY__BOUNDING_BOX__BOUNDING_BOX_COMMON_HPP_
+#ifndef AUTOWARE_AUTO_GEOMETRY__BOUNDING_BOX__BOUNDING_BOX_COMMON_HPP_
+#define AUTOWARE_AUTO_GEOMETRY__BOUNDING_BOX__BOUNDING_BOX_COMMON_HPP_
-#include
-#include
+#include "autoware_auto_geometry/common_2d.hpp"
+#include "autoware_auto_geometry/visibility_control.hpp"
#include
#include
@@ -185,4 +185,4 @@ std::vector GEOMETRY_PUBLIC get_transformed_corners
} // namespace common
} // namespace autoware
-#endif // GEOMETRY__BOUNDING_BOX__BOUNDING_BOX_COMMON_HPP_
+#endif // AUTOWARE_AUTO_GEOMETRY__BOUNDING_BOX__BOUNDING_BOX_COMMON_HPP_
diff --git a/common/autoware_auto_geometry/include/geometry/bounding_box/eigenbox_2d.hpp b/common/autoware_auto_geometry/include/autoware_auto_geometry/bounding_box/eigenbox_2d.hpp
similarity index 96%
rename from common/autoware_auto_geometry/include/geometry/bounding_box/eigenbox_2d.hpp
rename to common/autoware_auto_geometry/include/autoware_auto_geometry/bounding_box/eigenbox_2d.hpp
index f050628f32f25..e0f2e66e87ee5 100644
--- a/common/autoware_auto_geometry/include/geometry/bounding_box/eigenbox_2d.hpp
+++ b/common/autoware_auto_geometry/include/autoware_auto_geometry/bounding_box/eigenbox_2d.hpp
@@ -19,10 +19,10 @@
/// bounding box
// cspell: ignore eigenbox, EIGENBOX
-#ifndef GEOMETRY__BOUNDING_BOX__EIGENBOX_2D_HPP_
-#define GEOMETRY__BOUNDING_BOX__EIGENBOX_2D_HPP_
+#ifndef AUTOWARE_AUTO_GEOMETRY__BOUNDING_BOX__EIGENBOX_2D_HPP_
+#define AUTOWARE_AUTO_GEOMETRY__BOUNDING_BOX__EIGENBOX_2D_HPP_
-#include
+#include "autoware_auto_geometry/bounding_box/bounding_box_common.hpp"
#include
#include
@@ -244,4 +244,4 @@ BoundingBox eigenbox_2d(const IT begin, const IT end)
} // namespace common
} // namespace autoware
-#endif // GEOMETRY__BOUNDING_BOX__EIGENBOX_2D_HPP_
+#endif // AUTOWARE_AUTO_GEOMETRY__BOUNDING_BOX__EIGENBOX_2D_HPP_
diff --git a/common/autoware_auto_geometry/include/geometry/bounding_box/lfit.hpp b/common/autoware_auto_geometry/include/autoware_auto_geometry/bounding_box/lfit.hpp
similarity index 97%
rename from common/autoware_auto_geometry/include/geometry/bounding_box/lfit.hpp
rename to common/autoware_auto_geometry/include/autoware_auto_geometry/bounding_box/lfit.hpp
index 9b8991a7c7132..07fd6c989cedc 100644
--- a/common/autoware_auto_geometry/include/geometry/bounding_box/lfit.hpp
+++ b/common/autoware_auto_geometry/include/autoware_auto_geometry/bounding_box/lfit.hpp
@@ -20,10 +20,10 @@
// cspell: ignore LFIT, lfit
// LFIT means "L-Shape Fitting"
-#ifndef GEOMETRY__BOUNDING_BOX__LFIT_HPP_
-#define GEOMETRY__BOUNDING_BOX__LFIT_HPP_
+#ifndef AUTOWARE_AUTO_GEOMETRY__BOUNDING_BOX__LFIT_HPP_
+#define AUTOWARE_AUTO_GEOMETRY__BOUNDING_BOX__LFIT_HPP_
-#include
+#include "autoware_auto_geometry/bounding_box/eigenbox_2d.hpp"
#include
#include
@@ -278,4 +278,4 @@ BoundingBox lfit_bounding_box_2d(const IT begin, const IT end)
} // namespace common
} // namespace autoware
-#endif // GEOMETRY__BOUNDING_BOX__LFIT_HPP_
+#endif // AUTOWARE_AUTO_GEOMETRY__BOUNDING_BOX__LFIT_HPP_
diff --git a/common/autoware_auto_geometry/include/geometry/bounding_box/rotating_calipers.hpp b/common/autoware_auto_geometry/include/autoware_auto_geometry/bounding_box/rotating_calipers.hpp
similarity index 96%
rename from common/autoware_auto_geometry/include/geometry/bounding_box/rotating_calipers.hpp
rename to common/autoware_auto_geometry/include/autoware_auto_geometry/bounding_box/rotating_calipers.hpp
index 5bc05810bb1b0..fb75384eb07cb 100644
--- a/common/autoware_auto_geometry/include/geometry/bounding_box/rotating_calipers.hpp
+++ b/common/autoware_auto_geometry/include/autoware_auto_geometry/bounding_box/rotating_calipers.hpp
@@ -17,11 +17,11 @@
/// \file
/// \brief This file implements the rotating calipers algorithm for minimum oriented bounding boxes
-#ifndef GEOMETRY__BOUNDING_BOX__ROTATING_CALIPERS_HPP_
-#define GEOMETRY__BOUNDING_BOX__ROTATING_CALIPERS_HPP_
-#include
-#include
-#include
+#ifndef AUTOWARE_AUTO_GEOMETRY__BOUNDING_BOX__ROTATING_CALIPERS_HPP_
+#define AUTOWARE_AUTO_GEOMETRY__BOUNDING_BOX__ROTATING_CALIPERS_HPP_
+#include "autoware_auto_geometry/bounding_box/bounding_box_common.hpp"
+#include "autoware_auto_geometry/common_2d.hpp"
+#include "autoware_auto_geometry/convex_hull.hpp"
#include
#include
@@ -277,4 +277,4 @@ BoundingBox minimum_perimeter_bounding_box(std::list & list)
} // namespace geometry
} // namespace common
} // namespace autoware
-#endif // GEOMETRY__BOUNDING_BOX__ROTATING_CALIPERS_HPP_
+#endif // AUTOWARE_AUTO_GEOMETRY__BOUNDING_BOX__ROTATING_CALIPERS_HPP_
diff --git a/common/autoware_auto_geometry/include/geometry/bounding_box_2d.hpp b/common/autoware_auto_geometry/include/autoware_auto_geometry/bounding_box_2d.hpp
similarity index 71%
rename from common/autoware_auto_geometry/include/geometry/bounding_box_2d.hpp
rename to common/autoware_auto_geometry/include/autoware_auto_geometry/bounding_box_2d.hpp
index d1d84122889c9..c4c52928ac19a 100644
--- a/common/autoware_auto_geometry/include/geometry/bounding_box_2d.hpp
+++ b/common/autoware_auto_geometry/include/autoware_auto_geometry/bounding_box_2d.hpp
@@ -15,12 +15,12 @@
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
/// \file
/// \brief Main header for user-facing bounding box algorithms: functions and types
-#ifndef GEOMETRY__BOUNDING_BOX_2D_HPP_
-#define GEOMETRY__BOUNDING_BOX_2D_HPP_
+#ifndef AUTOWARE_AUTO_GEOMETRY__BOUNDING_BOX_2D_HPP_
+#define AUTOWARE_AUTO_GEOMETRY__BOUNDING_BOX_2D_HPP_
-#include
-#include
-#include
+#include "autoware_auto_geometry/bounding_box/eigenbox_2d.hpp"
+#include "autoware_auto_geometry/bounding_box/lfit.hpp"
+#include "autoware_auto_geometry/bounding_box/rotating_calipers.hpp"
namespace autoware
{
@@ -31,4 +31,4 @@ namespace geometry
} // namespace geometry
} // namespace common
} // namespace autoware
-#endif // GEOMETRY__BOUNDING_BOX_2D_HPP_
+#endif // AUTOWARE_AUTO_GEOMETRY__BOUNDING_BOX_2D_HPP_
diff --git a/common/autoware_auto_geometry/include/geometry/common_2d.hpp b/common/autoware_auto_geometry/include/autoware_auto_geometry/common_2d.hpp
similarity index 98%
rename from common/autoware_auto_geometry/include/geometry/common_2d.hpp
rename to common/autoware_auto_geometry/include/autoware_auto_geometry/common_2d.hpp
index fd045003521ea..e3c2e58c9f80e 100644
--- a/common/autoware_auto_geometry/include/geometry/common_2d.hpp
+++ b/common/autoware_auto_geometry/include/autoware_auto_geometry/common_2d.hpp
@@ -16,12 +16,12 @@
/// \file
/// \brief This file includes common functionality for 2D geometry, such as dot products
-#ifndef GEOMETRY__COMMON_2D_HPP_
-#define GEOMETRY__COMMON_2D_HPP_
+#ifndef AUTOWARE_AUTO_GEOMETRY__COMMON_2D_HPP_
+#define AUTOWARE_AUTO_GEOMETRY__COMMON_2D_HPP_
-#include "geometry/interval.hpp"
+#include "autoware_auto_geometry/interval.hpp"
-#include
+#include
#include "autoware_auto_planning_msgs/msg/trajectory_point.hpp"
@@ -584,4 +584,4 @@ bool is_point_inside_polygon_2d(
} // namespace common
} // namespace autoware
-#endif // GEOMETRY__COMMON_2D_HPP_
+#endif // AUTOWARE_AUTO_GEOMETRY__COMMON_2D_HPP_
diff --git a/common/autoware_auto_geometry/include/geometry/common_3d.hpp b/common/autoware_auto_geometry/include/autoware_auto_geometry/common_3d.hpp
similarity index 93%
rename from common/autoware_auto_geometry/include/geometry/common_3d.hpp
rename to common/autoware_auto_geometry/include/autoware_auto_geometry/common_3d.hpp
index 4477b010e7eba..74cd210dec586 100644
--- a/common/autoware_auto_geometry/include/geometry/common_3d.hpp
+++ b/common/autoware_auto_geometry/include/autoware_auto_geometry/common_3d.hpp
@@ -16,10 +16,10 @@
/// \file
/// \brief This file includes common functionality for 3D geometry, such as dot products
-#ifndef GEOMETRY__COMMON_3D_HPP_
-#define GEOMETRY__COMMON_3D_HPP_
+#ifndef AUTOWARE_AUTO_GEOMETRY__COMMON_3D_HPP_
+#define AUTOWARE_AUTO_GEOMETRY__COMMON_3D_HPP_
-#include
+#include "autoware_auto_geometry/common_2d.hpp"
namespace autoware
{
@@ -74,4 +74,4 @@ inline OUT distance_3d(const T1 & a, const T2 & b)
} // namespace common
} // namespace autoware
-#endif // GEOMETRY__COMMON_3D_HPP_
+#endif // AUTOWARE_AUTO_GEOMETRY__COMMON_3D_HPP_
diff --git a/common/autoware_auto_geometry/include/geometry/convex_hull.hpp b/common/autoware_auto_geometry/include/autoware_auto_geometry/convex_hull.hpp
similarity index 97%
rename from common/autoware_auto_geometry/include/geometry/convex_hull.hpp
rename to common/autoware_auto_geometry/include/autoware_auto_geometry/convex_hull.hpp
index e690c4d07441b..ae81c55ad6b55 100644
--- a/common/autoware_auto_geometry/include/geometry/convex_hull.hpp
+++ b/common/autoware_auto_geometry/include/autoware_auto_geometry/convex_hull.hpp
@@ -18,11 +18,12 @@
/// \brief This file implements the monotone chain algorithm to compute 2D convex hulls on linked
/// lists of points
-#ifndef GEOMETRY__CONVEX_HULL_HPP_
-#define GEOMETRY__CONVEX_HULL_HPP_
+#ifndef AUTOWARE_AUTO_GEOMETRY__CONVEX_HULL_HPP_
+#define AUTOWARE_AUTO_GEOMETRY__CONVEX_HULL_HPP_
-#include
-#include
+#include "autoware_auto_geometry/common_2d.hpp"
+
+#include
// lint -e537 NOLINT pclint vs cpplint
#include
@@ -191,4 +192,4 @@ typename std::list::const_iterator convex_hull(std::list & list)
} // namespace common
} // namespace autoware
-#endif // GEOMETRY__CONVEX_HULL_HPP_
+#endif // AUTOWARE_AUTO_GEOMETRY__CONVEX_HULL_HPP_
diff --git a/common/autoware_auto_geometry/include/geometry/hull_pockets.hpp b/common/autoware_auto_geometry/include/autoware_auto_geometry/hull_pockets.hpp
similarity index 94%
rename from common/autoware_auto_geometry/include/geometry/hull_pockets.hpp
rename to common/autoware_auto_geometry/include/autoware_auto_geometry/hull_pockets.hpp
index 6e8caa0df1e80..cd9fd49f71635 100644
--- a/common/autoware_auto_geometry/include/geometry/hull_pockets.hpp
+++ b/common/autoware_auto_geometry/include/autoware_auto_geometry/hull_pockets.hpp
@@ -18,11 +18,12 @@
/// \brief This file implements an algorithm for getting a list of "pockets" in the convex
/// hull of a non-convex simple polygon.
-#ifndef GEOMETRY__HULL_POCKETS_HPP_
-#define GEOMETRY__HULL_POCKETS_HPP_
+#ifndef AUTOWARE_AUTO_GEOMETRY__HULL_POCKETS_HPP_
+#define AUTOWARE_AUTO_GEOMETRY__HULL_POCKETS_HPP_
-#include
-#include
+#include "autoware_auto_geometry/common_2d.hpp"
+
+#include
#include
#include
@@ -107,4 +108,4 @@ typename std::vector::value_typ
} // namespace common
} // namespace autoware
-#endif // GEOMETRY__HULL_POCKETS_HPP_
+#endif // AUTOWARE_AUTO_GEOMETRY__HULL_POCKETS_HPP_
diff --git a/common/autoware_auto_geometry/include/geometry/intersection.hpp b/common/autoware_auto_geometry/include/autoware_auto_geometry/intersection.hpp
similarity index 98%
rename from common/autoware_auto_geometry/include/geometry/intersection.hpp
rename to common/autoware_auto_geometry/include/autoware_auto_geometry/intersection.hpp
index 87dc32b0190d0..08c70c3a5a6be 100644
--- a/common/autoware_auto_geometry/include/geometry/intersection.hpp
+++ b/common/autoware_auto_geometry/include/autoware_auto_geometry/intersection.hpp
@@ -14,11 +14,11 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#ifndef GEOMETRY__INTERSECTION_HPP_
-#define GEOMETRY__INTERSECTION_HPP_
+#ifndef AUTOWARE_AUTO_GEOMETRY__INTERSECTION_HPP_
+#define AUTOWARE_AUTO_GEOMETRY__INTERSECTION_HPP_
-#include
-#include
+#include "autoware_auto_geometry/common_2d.hpp"
+#include "autoware_auto_geometry/convex_hull.hpp"
#include
#include
@@ -309,4 +309,4 @@ common::types::float32_t convex_intersection_over_union_2d(
} // namespace common
} // namespace autoware
-#endif // GEOMETRY__INTERSECTION_HPP_
+#endif // AUTOWARE_AUTO_GEOMETRY__INTERSECTION_HPP_
diff --git a/common/autoware_auto_geometry/include/geometry/interval.hpp b/common/autoware_auto_geometry/include/autoware_auto_geometry/interval.hpp
similarity index 97%
rename from common/autoware_auto_geometry/include/geometry/interval.hpp
rename to common/autoware_auto_geometry/include/autoware_auto_geometry/interval.hpp
index 59c26f27cc454..54be2c32b1d05 100644
--- a/common/autoware_auto_geometry/include/geometry/interval.hpp
+++ b/common/autoware_auto_geometry/include/autoware_auto_geometry/interval.hpp
@@ -18,11 +18,11 @@
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
// IN THE SOFTWARE.
-#ifndef GEOMETRY__INTERVAL_HPP_
-#define GEOMETRY__INTERVAL_HPP_
+#ifndef AUTOWARE_AUTO_GEOMETRY__INTERVAL_HPP_
+#define AUTOWARE_AUTO_GEOMETRY__INTERVAL_HPP_
-#include "common/types.hpp"
-#include "helper_functions/float_comparisons.hpp"
+#include
+#include
#include
#include
@@ -355,4 +355,4 @@ T Interval::clamp_to(const Interval & i, T val)
} // namespace common
} // namespace autoware
-#endif // GEOMETRY__INTERVAL_HPP_
+#endif // AUTOWARE_AUTO_GEOMETRY__INTERVAL_HPP_
diff --git a/common/autoware_auto_geometry/include/geometry/lookup_table.hpp b/common/autoware_auto_geometry/include/autoware_auto_geometry/lookup_table.hpp
similarity index 96%
rename from common/autoware_auto_geometry/include/geometry/lookup_table.hpp
rename to common/autoware_auto_geometry/include/autoware_auto_geometry/lookup_table.hpp
index e23a8c31b60f8..7b8867ca096ae 100644
--- a/common/autoware_auto_geometry/include/geometry/lookup_table.hpp
+++ b/common/autoware_auto_geometry/include/autoware_auto_geometry/lookup_table.hpp
@@ -17,11 +17,12 @@
/// \file
/// \brief This file contains a 1D linear lookup table implementation
-#ifndef GEOMETRY__LOOKUP_TABLE_HPP_
-#define GEOMETRY__LOOKUP_TABLE_HPP_
+#ifndef AUTOWARE_AUTO_GEOMETRY__LOOKUP_TABLE_HPP_
+#define AUTOWARE_AUTO_GEOMETRY__LOOKUP_TABLE_HPP_
-#include "common/types.hpp"
-#include "geometry/interval.hpp"
+#include "autoware_auto_geometry/interval.hpp"
+
+#include
#include
#include
@@ -175,4 +176,4 @@ class LookupTable1D
} // namespace common
} // namespace autoware
-#endif // GEOMETRY__LOOKUP_TABLE_HPP_
+#endif // AUTOWARE_AUTO_GEOMETRY__LOOKUP_TABLE_HPP_
diff --git a/common/autoware_auto_geometry/include/geometry/spatial_hash.hpp b/common/autoware_auto_geometry/include/autoware_auto_geometry/spatial_hash.hpp
similarity index 97%
rename from common/autoware_auto_geometry/include/geometry/spatial_hash.hpp
rename to common/autoware_auto_geometry/include/autoware_auto_geometry/spatial_hash.hpp
index 78626548e5c74..8936e2c17d779 100644
--- a/common/autoware_auto_geometry/include/geometry/spatial_hash.hpp
+++ b/common/autoware_auto_geometry/include/autoware_auto_geometry/spatial_hash.hpp
@@ -17,12 +17,13 @@
/// \brief This file implements a spatial hash for efficient fixed-radius near neighbor queries in
/// 2D
-#ifndef GEOMETRY__SPATIAL_HASH_HPP_
-#define GEOMETRY__SPATIAL_HASH_HPP_
+#ifndef AUTOWARE_AUTO_GEOMETRY__SPATIAL_HASH_HPP_
+#define AUTOWARE_AUTO_GEOMETRY__SPATIAL_HASH_HPP_
-#include
-#include
-#include
+#include "autoware_auto_geometry/spatial_hash_config.hpp"
+#include "autoware_auto_geometry/visibility_control.hpp"
+
+#include
#include
#include
@@ -328,4 +329,4 @@ using SpatialHash3d = SpatialHash;
} // namespace common
} // namespace autoware
-#endif // GEOMETRY__SPATIAL_HASH_HPP_
+#endif // AUTOWARE_AUTO_GEOMETRY__SPATIAL_HASH_HPP_
diff --git a/common/autoware_auto_geometry/include/geometry/spatial_hash_config.hpp b/common/autoware_auto_geometry/include/autoware_auto_geometry/spatial_hash_config.hpp
similarity index 98%
rename from common/autoware_auto_geometry/include/geometry/spatial_hash_config.hpp
rename to common/autoware_auto_geometry/include/autoware_auto_geometry/spatial_hash_config.hpp
index e118ec24c7759..24c4d6e879d4a 100644
--- a/common/autoware_auto_geometry/include/geometry/spatial_hash_config.hpp
+++ b/common/autoware_auto_geometry/include/autoware_auto_geometry/spatial_hash_config.hpp
@@ -17,14 +17,14 @@
/// \brief This file implements a spatial hash for efficient fixed-radius near neighbor queries in
/// 2D
-#ifndef GEOMETRY__SPATIAL_HASH_CONFIG_HPP_
-#define GEOMETRY__SPATIAL_HASH_CONFIG_HPP_
+#ifndef AUTOWARE_AUTO_GEOMETRY__SPATIAL_HASH_CONFIG_HPP_
+#define AUTOWARE_AUTO_GEOMETRY__SPATIAL_HASH_CONFIG_HPP_
-#include "helper_functions/crtp.hpp"
+#include "autoware_auto_geometry/common_2d.hpp"
+#include "autoware_auto_geometry/visibility_control.hpp"
-#include
-#include
-#include
+#include
+#include
#include
#include
@@ -447,4 +447,4 @@ class GEOMETRY_PUBLIC Config3d : public Config
} // namespace common
} // namespace autoware
-#endif // GEOMETRY__SPATIAL_HASH_CONFIG_HPP_
+#endif // AUTOWARE_AUTO_GEOMETRY__SPATIAL_HASH_CONFIG_HPP_
diff --git a/common/autoware_auto_geometry/include/geometry/visibility_control.hpp b/common/autoware_auto_geometry/include/autoware_auto_geometry/visibility_control.hpp
similarity index 90%
rename from common/autoware_auto_geometry/include/geometry/visibility_control.hpp
rename to common/autoware_auto_geometry/include/autoware_auto_geometry/visibility_control.hpp
index 96efe9aa6e27b..8972246997997 100644
--- a/common/autoware_auto_geometry/include/geometry/visibility_control.hpp
+++ b/common/autoware_auto_geometry/include/autoware_auto_geometry/visibility_control.hpp
@@ -14,8 +14,8 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#ifndef GEOMETRY__VISIBILITY_CONTROL_HPP_
-#define GEOMETRY__VISIBILITY_CONTROL_HPP_
+#ifndef AUTOWARE_AUTO_GEOMETRY__VISIBILITY_CONTROL_HPP_
+#define AUTOWARE_AUTO_GEOMETRY__VISIBILITY_CONTROL_HPP_
////////////////////////////////////////////////////////////////////////////////
#if defined(__WIN32)
@@ -38,4 +38,4 @@
#else // defined(__linux__)
#error "Unsupported Build Configuration"
#endif // defined(__WIN32)
-#endif // GEOMETRY__VISIBILITY_CONTROL_HPP_
+#endif // AUTOWARE_AUTO_GEOMETRY__VISIBILITY_CONTROL_HPP_
diff --git a/common/autoware_auto_geometry/src/bounding_box.cpp b/common/autoware_auto_geometry/src/bounding_box.cpp
index 225ea099e4e79..3a4ea96a151a2 100644
--- a/common/autoware_auto_geometry/src/bounding_box.cpp
+++ b/common/autoware_auto_geometry/src/bounding_box.cpp
@@ -14,13 +14,14 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
+#include "autoware_auto_geometry/bounding_box/bounding_box_common.hpp"
+#include "autoware_auto_geometry/bounding_box/eigenbox_2d.hpp"
+
#include
-#include
-#include
// cspell: ignore eigenbox
-#include
+#include "autoware_auto_geometry/bounding_box/lfit.hpp"
// cspell: ignore lfit
-#include
+#include "autoware_auto_geometry/bounding_box/rotating_calipers.hpp"
#include
diff --git a/common/autoware_auto_geometry/src/spatial_hash.cpp b/common/autoware_auto_geometry/src/spatial_hash.cpp
index 024cca48b8ee7..ffd91aaa08b3a 100644
--- a/common/autoware_auto_geometry/src/spatial_hash.cpp
+++ b/common/autoware_auto_geometry/src/spatial_hash.cpp
@@ -14,7 +14,7 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#include
+#include "autoware_auto_geometry/spatial_hash.hpp"
#include
// lint -e537 NOLINT repeated include file due to cpplint rule
diff --git a/common/autoware_auto_geometry/test/include/test_bounding_box.hpp b/common/autoware_auto_geometry/test/include/test_bounding_box.hpp
index 5e42622b19ce9..a179fbde5f151 100644
--- a/common/autoware_auto_geometry/test/include/test_bounding_box.hpp
+++ b/common/autoware_auto_geometry/test/include/test_bounding_box.hpp
@@ -17,9 +17,9 @@
#ifndef TEST_BOUNDING_BOX_HPP_
#define TEST_BOUNDING_BOX_HPP_
-#include "geometry/bounding_box/lfit.hpp"
+#include "autoware_auto_geometry/bounding_box/lfit.hpp"
// cspell: ignore lfit
-#include "geometry/bounding_box/rotating_calipers.hpp"
+#include "autoware_auto_geometry/bounding_box/rotating_calipers.hpp"
#include
diff --git a/common/autoware_auto_geometry/test/include/test_spatial_hash.hpp b/common/autoware_auto_geometry/test/include/test_spatial_hash.hpp
index 50e946c416270..fc2d97c257b95 100644
--- a/common/autoware_auto_geometry/test/include/test_spatial_hash.hpp
+++ b/common/autoware_auto_geometry/test/include/test_spatial_hash.hpp
@@ -17,7 +17,7 @@
#ifndef TEST_SPATIAL_HASH_HPP_
#define TEST_SPATIAL_HASH_HPP_
-#include "geometry/spatial_hash.hpp"
+#include "autoware_auto_geometry/spatial_hash.hpp"
#include
diff --git a/common/autoware_auto_geometry/test/src/lookup_table.cpp b/common/autoware_auto_geometry/test/src/lookup_table.cpp
index e7533518d7f49..81865656c55b5 100644
--- a/common/autoware_auto_geometry/test/src/lookup_table.cpp
+++ b/common/autoware_auto_geometry/test/src/lookup_table.cpp
@@ -14,8 +14,9 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#include
-#include
+#include "autoware_auto_geometry/lookup_table.hpp"
+
+#include
#include
diff --git a/common/autoware_auto_geometry/test/src/test_area.cpp b/common/autoware_auto_geometry/test/src/test_area.cpp
index d722314dada83..bc9c28682ed44 100644
--- a/common/autoware_auto_geometry/test/src/test_area.cpp
+++ b/common/autoware_auto_geometry/test/src/test_area.cpp
@@ -14,7 +14,7 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#include
+#include "autoware_auto_geometry/common_2d.hpp"
#include
diff --git a/common/autoware_auto_geometry/test/src/test_common_2d.cpp b/common/autoware_auto_geometry/test/src/test_common_2d.cpp
index 642e396bdce31..baf6967edd47e 100644
--- a/common/autoware_auto_geometry/test/src/test_common_2d.cpp
+++ b/common/autoware_auto_geometry/test/src/test_common_2d.cpp
@@ -14,7 +14,7 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#include
+#include "autoware_auto_geometry/common_2d.hpp"
#include
#include
diff --git a/common/autoware_auto_geometry/test/src/test_convex_hull.cpp b/common/autoware_auto_geometry/test/src/test_convex_hull.cpp
index 43e3a3ad08adf..8b9bbce36c428 100644
--- a/common/autoware_auto_geometry/test/src/test_convex_hull.cpp
+++ b/common/autoware_auto_geometry/test/src/test_convex_hull.cpp
@@ -14,7 +14,7 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#include "geometry/convex_hull.hpp"
+#include "autoware_auto_geometry/convex_hull.hpp"
#include
diff --git a/common/autoware_auto_geometry/test/src/test_hull_pockets.cpp b/common/autoware_auto_geometry/test/src/test_hull_pockets.cpp
index 2b79d4ff0f22b..9477a83a488ed 100644
--- a/common/autoware_auto_geometry/test/src/test_hull_pockets.cpp
+++ b/common/autoware_auto_geometry/test/src/test_hull_pockets.cpp
@@ -14,8 +14,8 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#include "geometry/convex_hull.hpp"
-#include "geometry/hull_pockets.hpp"
+#include "autoware_auto_geometry/convex_hull.hpp"
+#include "autoware_auto_geometry/hull_pockets.hpp"
#include
diff --git a/common/autoware_auto_geometry/test/src/test_intersection.cpp b/common/autoware_auto_geometry/test/src/test_intersection.cpp
index 69c54960d4fc5..1036c69573c49 100644
--- a/common/autoware_auto_geometry/test/src/test_intersection.cpp
+++ b/common/autoware_auto_geometry/test/src/test_intersection.cpp
@@ -14,8 +14,8 @@
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#include
-#include
+#include "autoware_auto_geometry/convex_hull.hpp"
+#include "autoware_auto_geometry/intersection.hpp"
#include
diff --git a/common/autoware_auto_geometry/test/src/test_interval.cpp b/common/autoware_auto_geometry/test/src/test_interval.cpp
index ba8d5742dadc5..266ab123f5203 100644
--- a/common/autoware_auto_geometry/test/src/test_interval.cpp
+++ b/common/autoware_auto_geometry/test/src/test_interval.cpp
@@ -18,7 +18,7 @@
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
// IN THE SOFTWARE.
-#include "geometry/interval.hpp"
+#include "autoware_auto_geometry/interval.hpp"
#include
diff --git a/common/autoware_auto_perception_rviz_plugin/CMakeLists.txt b/common/autoware_auto_perception_rviz_plugin/CMakeLists.txt
index dd5f88d4caae8..8d0469e78c3ac 100644
--- a/common/autoware_auto_perception_rviz_plugin/CMakeLists.txt
+++ b/common/autoware_auto_perception_rviz_plugin/CMakeLists.txt
@@ -13,18 +13,18 @@ set(OD_PLUGIN_LIB_SRC
)
set(OD_PLUGIN_LIB_HEADERS
- include/visibility_control.hpp
+ include/autoware_auto_perception_rviz_plugin/visibility_control.hpp
)
set(OD_PLUGIN_LIB_HEADERS_TO_WRAP
- include/object_detection/detected_objects_display.hpp
- include/object_detection/tracked_objects_display.hpp
- include/object_detection/predicted_objects_display.hpp
+ include/autoware_auto_perception_rviz_plugin/object_detection/detected_objects_display.hpp
+ include/autoware_auto_perception_rviz_plugin/object_detection/tracked_objects_display.hpp
+ include/autoware_auto_perception_rviz_plugin/object_detection/predicted_objects_display.hpp
)
set(COMMON_HEADERS
- include/common/color_alpha_property.hpp
- include/object_detection/object_polygon_detail.hpp
- include/object_detection/object_polygon_display_base.hpp
+ include/autoware_auto_perception_rviz_plugin/common/color_alpha_property.hpp
+ include/autoware_auto_perception_rviz_plugin/object_detection/object_polygon_detail.hpp
+ include/autoware_auto_perception_rviz_plugin/object_detection/object_polygon_display_base.hpp
)
set(COMMON_SRC
diff --git a/common/autoware_auto_perception_rviz_plugin/include/common/color_alpha_property.hpp b/common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/common/color_alpha_property.hpp
similarity index 84%
rename from common/autoware_auto_perception_rviz_plugin/include/common/color_alpha_property.hpp
rename to common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/common/color_alpha_property.hpp
index 8c43192a26bd6..10dc46e55ec70 100644
--- a/common/autoware_auto_perception_rviz_plugin/include/common/color_alpha_property.hpp
+++ b/common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/common/color_alpha_property.hpp
@@ -11,13 +11,14 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-#ifndef COMMON__COLOR_ALPHA_PROPERTY_HPP_
-#define COMMON__COLOR_ALPHA_PROPERTY_HPP_
+#ifndef AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__COMMON__COLOR_ALPHA_PROPERTY_HPP_
+#define AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__COMMON__COLOR_ALPHA_PROPERTY_HPP_
+
+#include "autoware_auto_perception_rviz_plugin/visibility_control.hpp"
#include
#include
#include
-#include
#include
@@ -55,4 +56,4 @@ class AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC ColorAlphaProperty
} // namespace rviz_plugins
} // namespace autoware
-#endif // COMMON__COLOR_ALPHA_PROPERTY_HPP_
+#endif // AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__COMMON__COLOR_ALPHA_PROPERTY_HPP_
diff --git a/common/autoware_auto_perception_rviz_plugin/include/object_detection/detected_objects_display.hpp b/common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/object_detection/detected_objects_display.hpp
similarity index 76%
rename from common/autoware_auto_perception_rviz_plugin/include/object_detection/detected_objects_display.hpp
rename to common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/object_detection/detected_objects_display.hpp
index 67dac25c796bb..97479fb68ca9b 100644
--- a/common/autoware_auto_perception_rviz_plugin/include/object_detection/detected_objects_display.hpp
+++ b/common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/object_detection/detected_objects_display.hpp
@@ -11,10 +11,10 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-#ifndef OBJECT_DETECTION__DETECTED_OBJECTS_DISPLAY_HPP_
-#define OBJECT_DETECTION__DETECTED_OBJECTS_DISPLAY_HPP_
+#ifndef AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__OBJECT_DETECTION__DETECTED_OBJECTS_DISPLAY_HPP_
+#define AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__OBJECT_DETECTION__DETECTED_OBJECTS_DISPLAY_HPP_
-#include
+#include "autoware_auto_perception_rviz_plugin/object_detection/object_polygon_display_base.hpp"
#include
@@ -43,4 +43,4 @@ class AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC DetectedObjectsDisplay
} // namespace rviz_plugins
} // namespace autoware
-#endif // OBJECT_DETECTION__DETECTED_OBJECTS_DISPLAY_HPP_
+#endif // AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__OBJECT_DETECTION__DETECTED_OBJECTS_DISPLAY_HPP_
diff --git a/common/autoware_auto_perception_rviz_plugin/include/object_detection/object_polygon_detail.hpp b/common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/object_detection/object_polygon_detail.hpp
similarity index 75%
rename from common/autoware_auto_perception_rviz_plugin/include/object_detection/object_polygon_detail.hpp
rename to common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/object_detection/object_polygon_detail.hpp
index 5d99b8a463711..5f9da8531d2ab 100644
--- a/common/autoware_auto_perception_rviz_plugin/include/object_detection/object_polygon_detail.hpp
+++ b/common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/object_detection/object_polygon_detail.hpp
@@ -12,13 +12,17 @@
// See the License for the specific language governing permissions and
// limitations under the License.
/// \brief This file defines some helper functions used by ObjectPolygonDisplayBase class
-#ifndef OBJECT_DETECTION__OBJECT_POLYGON_DETAIL_HPP_
-#define OBJECT_DETECTION__OBJECT_POLYGON_DETAIL_HPP_
+#ifndef AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__OBJECT_DETECTION__OBJECT_POLYGON_DETAIL_HPP_
+#define AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__OBJECT_DETECTION__OBJECT_POLYGON_DETAIL_HPP_
+#include "autoware_auto_perception_rviz_plugin/visibility_control.hpp"
+
+#include
+#include
#include
#include
-#include
+#include
#include
#include
#include
@@ -82,13 +86,15 @@ AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC visualization_msgs::msg::Marker::Sha
get_shape_marker_ptr(
const autoware_auto_perception_msgs::msg::Shape & shape_msg,
const geometry_msgs::msg::Point & centroid, const geometry_msgs::msg::Quaternion & orientation,
- const std_msgs::msg::ColorRGBA & color_rgba, const double & line_width);
+ const std_msgs::msg::ColorRGBA & color_rgba, const double & line_width,
+ const bool & is_orientation_available = true);
AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC visualization_msgs::msg::Marker::SharedPtr
get_2d_shape_marker_ptr(
const autoware_auto_perception_msgs::msg::Shape & shape_msg,
const geometry_msgs::msg::Point & centroid, const geometry_msgs::msg::Quaternion & orientation,
- const std_msgs::msg::ColorRGBA & color_rgba, const double & line_width);
+ const std_msgs::msg::ColorRGBA & color_rgba, const double & line_width,
+ const bool & is_orientation_available = true);
/// \brief Convert the given polygon into a marker representing the shape in 3d
/// \param centroid Centroid position of the shape in Object.header.frame_id frame
@@ -98,14 +104,25 @@ get_label_marker_ptr(
const geometry_msgs::msg::Point & centroid, const geometry_msgs::msg::Quaternion & orientation,
const std::string label, const std_msgs::msg::ColorRGBA & color_rgba);
+AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC visualization_msgs::msg::Marker::SharedPtr
+get_existence_probability_marker_ptr(
+ const geometry_msgs::msg::Point & centroid, const geometry_msgs::msg::Quaternion & orientation,
+ const float existence_probability, const std_msgs::msg::ColorRGBA & color_rgba);
+
AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC visualization_msgs::msg::Marker::SharedPtr
get_uuid_marker_ptr(
const std::string & uuid, const geometry_msgs::msg::Point & centroid,
const std_msgs::msg::ColorRGBA & color_rgba);
AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC visualization_msgs::msg::Marker::SharedPtr
-get_pose_with_covariance_marker_ptr(
- const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance);
+get_pose_covariance_marker_ptr(
+ const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance,
+ const double & confidence_interval_coefficient);
+
+AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC visualization_msgs::msg::Marker::SharedPtr
+get_yaw_covariance_marker_ptr(
+ const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance, const double & length,
+ const double & confidence_interval_coefficient, const double & line_width);
AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC visualization_msgs::msg::Marker::SharedPtr
get_velocity_text_marker_ptr(
@@ -120,7 +137,24 @@ get_acceleration_text_marker_ptr(
AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC visualization_msgs::msg::Marker::SharedPtr
get_twist_marker_ptr(
const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance,
- const geometry_msgs::msg::TwistWithCovariance & twist_with_covariance);
+ const geometry_msgs::msg::TwistWithCovariance & twist_with_covariance, const double & line_width);
+
+AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC visualization_msgs::msg::Marker::SharedPtr
+get_twist_covariance_marker_ptr(
+ const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance,
+ const geometry_msgs::msg::TwistWithCovariance & twist_with_covariance,
+ const double & confidence_interval_coefficient);
+
+AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC visualization_msgs::msg::Marker::SharedPtr
+get_yaw_rate_marker_ptr(
+ const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance,
+ const geometry_msgs::msg::TwistWithCovariance & twist_with_covariance, const double & line_width);
+
+AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC visualization_msgs::msg::Marker::SharedPtr
+get_yaw_rate_covariance_marker_ptr(
+ const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance,
+ const geometry_msgs::msg::TwistWithCovariance & twist_with_covariance,
+ const double & confidence_interval_coefficient, const double & line_width);
AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC visualization_msgs::msg::Marker::SharedPtr
get_predicted_path_marker_ptr(
@@ -133,14 +167,33 @@ get_path_confidence_marker_ptr(
const autoware_auto_perception_msgs::msg::PredictedPath & predicted_path,
const std_msgs::msg::ColorRGBA & path_confidence_color);
+AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC void calc_arc_line_strip(
+ const double start_angle, const double end_angle, const double radius,
+ std::vector & points);
+
+AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC void calc_line_list_from_points(
+ const double point_list[][3], const int point_pairs[][2], const int & num_pairs,
+ std::vector & points);
+
+AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC void calc_covariance_eigen_vectors(
+ const Eigen::Matrix2d & matrix, double & sigma1, double & sigma2, double & yaw);
+
AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC void calc_bounding_box_line_list(
const autoware_auto_perception_msgs::msg::Shape & shape,
std::vector & points);
+AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC void calc_bounding_box_direction_line_list(
+ const autoware_auto_perception_msgs::msg::Shape & shape,
+ std::vector & points);
+
AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC void calc_2d_bounding_box_bottom_line_list(
const autoware_auto_perception_msgs::msg::Shape & shape,
std::vector & points);
+AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC void calc_2d_bounding_box_bottom_direction_line_list(
+ const autoware_auto_perception_msgs::msg::Shape & shape,
+ std::vector & points);
+
AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC void calc_cylinder_line_list(
const autoware_auto_perception_msgs::msg::Shape & shape,
std::vector & points);
@@ -232,4 +285,4 @@ AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC
} // namespace rviz_plugins
} // namespace autoware
-#endif // OBJECT_DETECTION__OBJECT_POLYGON_DETAIL_HPP_
+#endif // AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__OBJECT_DETECTION__OBJECT_POLYGON_DETAIL_HPP_
diff --git a/common/autoware_auto_perception_rviz_plugin/include/object_detection/object_polygon_display_base.hpp b/common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/object_detection/object_polygon_display_base.hpp
similarity index 73%
rename from common/autoware_auto_perception_rviz_plugin/include/object_detection/object_polygon_display_base.hpp
rename to common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/object_detection/object_polygon_display_base.hpp
index 10bf11847c2f5..4290fdff49bb3 100644
--- a/common/autoware_auto_perception_rviz_plugin/include/object_detection/object_polygon_display_base.hpp
+++ b/common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/object_detection/object_polygon_display_base.hpp
@@ -11,19 +11,19 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-#ifndef OBJECT_DETECTION__OBJECT_POLYGON_DISPLAY_BASE_HPP_
-#define OBJECT_DETECTION__OBJECT_POLYGON_DISPLAY_BASE_HPP_
+#ifndef AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__OBJECT_DETECTION__OBJECT_POLYGON_DISPLAY_BASE_HPP_
+#define AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__OBJECT_DETECTION__OBJECT_POLYGON_DISPLAY_BASE_HPP_
-#include "rviz_common/properties/enum_property.hpp"
+#include "autoware_auto_perception_rviz_plugin/common/color_alpha_property.hpp"
+#include "autoware_auto_perception_rviz_plugin/object_detection/object_polygon_detail.hpp"
+#include "autoware_auto_perception_rviz_plugin/visibility_control.hpp"
-#include
-#include
#include
#include
+#include
#include
#include
#include
-#include
#include
#include
@@ -64,19 +64,32 @@ class AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC ObjectPolygonDisplayBase
// m_display_type_property{"Polygon Type", "3d", "Type of the polygon to display object", this},
m_display_label_property{"Display Label", true, "Enable/disable label visualization", this},
m_display_uuid_property{"Display UUID", true, "Enable/disable uuid visualization", this},
- m_display_pose_with_covariance_property{
- "Display PoseWithCovariance", true, "Enable/disable pose with covariance visualization",
- this},
m_display_velocity_text_property{
"Display Velocity", true, "Enable/disable velocity text visualization", this},
m_display_acceleration_text_property{
"Display Acceleration", true, "Enable/disable acceleration text visualization", this},
+ m_display_pose_covariance_property{
+ "Display Pose Covariance", true, "Enable/disable pose covariance visualization", this},
+ m_display_yaw_covariance_property{
+ "Display Yaw Covariance", false, "Enable/disable yaw covariance visualization", this},
m_display_twist_property{"Display Twist", true, "Enable/disable twist visualization", this},
+ m_display_twist_covariance_property{
+ "Display Twist Covariance", false, "Enable/disable twist covariance visualization", this},
+ m_display_yaw_rate_property{
+ "Display Yaw Rate", false, "Enable/disable yaw rate visualization", this},
+ m_display_yaw_rate_covariance_property{
+ "Display Yaw Rate Covariance", false, "Enable/disable yaw rate covariance visualization",
+ this},
m_display_predicted_paths_property{
"Display Predicted Paths", true, "Enable/disable predicted paths visualization", this},
m_display_path_confidence_property{
"Display Predicted Path Confidence", true, "Enable/disable predicted paths visualization",
this},
+
+ m_display_existence_probability_property{
+ "Display Existence Probability", false, "Enable/disable existence probability visualization",
+ this},
+
m_line_width_property{"Line Width", 0.03, "Line width of object-shape", this},
m_default_topic{default_topic}
{
@@ -91,6 +104,14 @@ class AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC ObjectPolygonDisplayBase
"Visualization Type", "Normal", "Simplicity of the polygon to display object.", this);
m_simple_visualize_mode_property->addOption("Normal", 0);
m_simple_visualize_mode_property->addOption("Simple", 1);
+ // Confidence interval property
+ m_confidence_interval_property = new rviz_common::properties::EnumProperty(
+ "Confidence Interval", "95%", "Confidence interval of state estimations.", this);
+ m_confidence_interval_property->addOption("70%", 0);
+ m_confidence_interval_property->addOption("85%", 1);
+ m_confidence_interval_property->addOption("95%", 2);
+ m_confidence_interval_property->addOption("99%", 3);
+
// iterate over default values to create and initialize the properties.
for (const auto & map_property_it : detail::kDefaultObjectPropertyValues) {
const auto & class_property_values = map_property_it.second;
@@ -164,14 +185,16 @@ class AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC ObjectPolygonDisplayBase
std::optional get_shape_marker_ptr(
const autoware_auto_perception_msgs::msg::Shape & shape_msg,
const geometry_msgs::msg::Point & centroid, const geometry_msgs::msg::Quaternion & orientation,
- const ClassificationContainerT & labels, const double & line_width) const
+ const ClassificationContainerT & labels, const double & line_width,
+ const bool & is_orientation_available) const
{
const std_msgs::msg::ColorRGBA color_rgba = get_color_rgba(labels);
if (m_display_type_property->getOptionInt() == 0) {
- return detail::get_shape_marker_ptr(shape_msg, centroid, orientation, color_rgba, line_width);
+ return detail::get_shape_marker_ptr(
+ shape_msg, centroid, orientation, color_rgba, line_width, is_orientation_available);
} else if (m_display_type_property->getOptionInt() == 1) {
return detail::get_2d_shape_marker_ptr(
- shape_msg, centroid, orientation, color_rgba, line_width);
+ shape_msg, centroid, orientation, color_rgba, line_width, is_orientation_available);
} else {
return std::nullopt;
}
@@ -181,7 +204,8 @@ class AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC ObjectPolygonDisplayBase
visualization_msgs::msg::Marker::SharedPtr get_2d_shape_marker_ptr(
const autoware_auto_perception_msgs::msg::Shape & shape_msg,
const geometry_msgs::msg::Point & centroid, const geometry_msgs::msg::Quaternion & orientation,
- const std_msgs::msg::ColorRGBA & color_rgba, const double & line_width);
+ const std_msgs::msg::ColorRGBA & color_rgba, const double & line_width,
+ const bool & is_orientation_available);
/// \brief Convert given shape msg into a Marker to visualize label name
/// \tparam ClassificationContainerT List type with ObjectClassificationMsg
@@ -201,6 +225,19 @@ class AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC ObjectPolygonDisplayBase
return std::nullopt;
}
}
+ template
+ std::optional get_existence_probability_marker_ptr(
+ const geometry_msgs::msg::Point & centroid, const geometry_msgs::msg::Quaternion & orientation,
+ const float existence_probability, const ClassificationContainerT & labels) const
+ {
+ if (m_display_existence_probability_property.getBool()) {
+ const std_msgs::msg::ColorRGBA color_rgba = get_color_rgba(labels);
+ return detail::get_existence_probability_marker_ptr(
+ centroid, orientation, existence_probability, color_rgba);
+ } else {
+ return std::nullopt;
+ }
+ }
template
std::optional get_uuid_marker_ptr(
@@ -216,11 +253,23 @@ class AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC ObjectPolygonDisplayBase
}
}
- std::optional get_pose_with_covariance_marker_ptr(
+ std::optional get_pose_covariance_marker_ptr(
const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance) const
{
- if (m_display_pose_with_covariance_property.getBool()) {
- return detail::get_pose_with_covariance_marker_ptr(pose_with_covariance);
+ if (m_display_pose_covariance_property.getBool()) {
+ return detail::get_pose_covariance_marker_ptr(pose_with_covariance, get_confidence_region());
+ } else {
+ return std::nullopt;
+ }
+ }
+
+ std::optional get_yaw_covariance_marker_ptr(
+ const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance, const double & length,
+ const double & line_width) const
+ {
+ if (m_display_yaw_covariance_property.getBool()) {
+ return detail::get_yaw_covariance_marker_ptr(
+ pose_with_covariance, length, get_confidence_interval(), line_width);
} else {
return std::nullopt;
}
@@ -254,10 +303,49 @@ class AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC ObjectPolygonDisplayBase
std::optional get_twist_marker_ptr(
const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance,
- const geometry_msgs::msg::TwistWithCovariance & twist_with_covariance) const
+ const geometry_msgs::msg::TwistWithCovariance & twist_with_covariance,
+ const double & line_width) const
{
if (m_display_twist_property.getBool()) {
- return detail::get_twist_marker_ptr(pose_with_covariance, twist_with_covariance);
+ return detail::get_twist_marker_ptr(pose_with_covariance, twist_with_covariance, line_width);
+ } else {
+ return std::nullopt;
+ }
+ }
+
+ std::optional get_twist_covariance_marker_ptr(
+ const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance,
+ const geometry_msgs::msg::TwistWithCovariance & twist_with_covariance) const
+ {
+ if (m_display_twist_covariance_property.getBool()) {
+ return detail::get_twist_covariance_marker_ptr(
+ pose_with_covariance, twist_with_covariance, get_confidence_region());
+ } else {
+ return std::nullopt;
+ }
+ }
+
+ std::optional get_yaw_rate_marker_ptr(
+ const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance,
+ const geometry_msgs::msg::TwistWithCovariance & twist_with_covariance,
+ const double & line_width) const
+ {
+ if (m_display_yaw_rate_property.getBool()) {
+ return detail::get_yaw_rate_marker_ptr(
+ pose_with_covariance, twist_with_covariance, line_width);
+ } else {
+ return std::nullopt;
+ }
+ }
+
+ std::optional get_yaw_rate_covariance_marker_ptr(
+ const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance,
+ const geometry_msgs::msg::TwistWithCovariance & twist_with_covariance,
+ const double & line_width) const
+ {
+ if (m_display_yaw_rate_covariance_property.getBool()) {
+ return detail::get_yaw_rate_covariance_marker_ptr(
+ pose_with_covariance, twist_with_covariance, get_confidence_interval(), line_width);
} else {
return std::nullopt;
}
@@ -324,7 +412,6 @@ class AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC ObjectPolygonDisplayBase
}
return (it->second).label;
}
-
std::string uuid_to_string(const unique_identifier_msgs::msg::UUID & u) const
{
std::stringstream ss;
@@ -386,6 +473,46 @@ class AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC ObjectPolygonDisplayBase
double get_line_width() { return m_line_width_property.getFloat(); }
+ double get_confidence_interval() const
+ {
+ switch (m_confidence_interval_property->getOptionInt()) {
+ case 0:
+ // 70%
+ return 1.036;
+ case 1:
+ // 85%
+ return 1.440;
+ case 2:
+ // 95%
+ return 1.960;
+ case 3:
+ // 99%
+ return 2.576;
+ default:
+ return 1.960;
+ }
+ }
+
+ double get_confidence_region() const
+ {
+ switch (m_confidence_interval_property->getOptionInt()) {
+ case 0:
+ // 70%
+ return 1.552;
+ case 1:
+ // 85%
+ return 1.802;
+ case 2:
+ // 95%
+ return 2.448;
+ case 3:
+ // 99%
+ return 3.035;
+ default:
+ return 2.448;
+ }
+ }
+
private:
// All rviz plugins should have this. Should be initialized with pointer to this class
MarkerCommon m_marker_common;
@@ -397,22 +524,35 @@ class AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC ObjectPolygonDisplayBase
rviz_common::properties::EnumProperty * m_display_type_property;
// Property to choose simplicity of visualization polygon
rviz_common::properties::EnumProperty * m_simple_visualize_mode_property;
+ // Property to set confidence interval of state estimations
+ rviz_common::properties::EnumProperty * m_confidence_interval_property;
// Property to enable/disable label visualization
rviz_common::properties::BoolProperty m_display_label_property;
// Property to enable/disable uuid visualization
rviz_common::properties::BoolProperty m_display_uuid_property;
- // Property to enable/disable pose with covariance visualization
- rviz_common::properties::BoolProperty m_display_pose_with_covariance_property;
// Property to enable/disable velocity text visualization
rviz_common::properties::BoolProperty m_display_velocity_text_property;
// Property to enable/disable acceleration text visualization
rviz_common::properties::BoolProperty m_display_acceleration_text_property;
+ // Property to enable/disable pose with covariance visualization
+ rviz_common::properties::BoolProperty m_display_pose_covariance_property;
+ // Property to enable/disable yaw covariance visualization
+ rviz_common::properties::BoolProperty m_display_yaw_covariance_property;
// Property to enable/disable twist visualization
rviz_common::properties::BoolProperty m_display_twist_property;
+ // Property to enable/disable twist covariance visualization
+ rviz_common::properties::BoolProperty m_display_twist_covariance_property;
+ // Property to enable/disable yaw rate visualization
+ rviz_common::properties::BoolProperty m_display_yaw_rate_property;
+ // Property to enable/disable yaw rate covariance visualization
+ rviz_common::properties::BoolProperty m_display_yaw_rate_covariance_property;
// Property to enable/disable predicted paths visualization
rviz_common::properties::BoolProperty m_display_predicted_paths_property;
// Property to enable/disable predicted path confidence visualization
rviz_common::properties::BoolProperty m_display_path_confidence_property;
+
+ rviz_common::properties::BoolProperty m_display_existence_probability_property;
+
// Property to decide line width of object shape
rviz_common::properties::FloatProperty m_line_width_property;
// Default topic name to be visualized
@@ -424,4 +564,4 @@ class AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC ObjectPolygonDisplayBase
} // namespace rviz_plugins
} // namespace autoware
-#endif // OBJECT_DETECTION__OBJECT_POLYGON_DISPLAY_BASE_HPP_
+#endif // AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__OBJECT_DETECTION__OBJECT_POLYGON_DISPLAY_BASE_HPP_
diff --git a/common/autoware_auto_perception_rviz_plugin/include/object_detection/predicted_objects_display.hpp b/common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/object_detection/predicted_objects_display.hpp
similarity index 92%
rename from common/autoware_auto_perception_rviz_plugin/include/object_detection/predicted_objects_display.hpp
rename to common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/object_detection/predicted_objects_display.hpp
index 2896286970217..775c18db6ba5c 100644
--- a/common/autoware_auto_perception_rviz_plugin/include/object_detection/predicted_objects_display.hpp
+++ b/common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/object_detection/predicted_objects_display.hpp
@@ -11,10 +11,10 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-#ifndef OBJECT_DETECTION__PREDICTED_OBJECTS_DISPLAY_HPP_
-#define OBJECT_DETECTION__PREDICTED_OBJECTS_DISPLAY_HPP_
+#ifndef AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__OBJECT_DETECTION__PREDICTED_OBJECTS_DISPLAY_HPP_
+#define AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__OBJECT_DETECTION__PREDICTED_OBJECTS_DISPLAY_HPP_
-#include
+#include "autoware_auto_perception_rviz_plugin/object_detection/object_polygon_display_base.hpp"
#include
@@ -153,4 +153,4 @@ class AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC PredictedObjectsDisplay
} // namespace rviz_plugins
} // namespace autoware
-#endif // OBJECT_DETECTION__PREDICTED_OBJECTS_DISPLAY_HPP_
+#endif // AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__OBJECT_DETECTION__PREDICTED_OBJECTS_DISPLAY_HPP_
diff --git a/common/autoware_auto_perception_rviz_plugin/include/object_detection/tracked_objects_display.hpp b/common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/object_detection/tracked_objects_display.hpp
similarity index 78%
rename from common/autoware_auto_perception_rviz_plugin/include/object_detection/tracked_objects_display.hpp
rename to common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/object_detection/tracked_objects_display.hpp
index 9f00a2cb1cde2..4e86a5ee93fd8 100644
--- a/common/autoware_auto_perception_rviz_plugin/include/object_detection/tracked_objects_display.hpp
+++ b/common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/object_detection/tracked_objects_display.hpp
@@ -11,10 +11,10 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-#ifndef OBJECT_DETECTION__TRACKED_OBJECTS_DISPLAY_HPP_
-#define OBJECT_DETECTION__TRACKED_OBJECTS_DISPLAY_HPP_
+#ifndef AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__OBJECT_DETECTION__TRACKED_OBJECTS_DISPLAY_HPP_
+#define AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__OBJECT_DETECTION__TRACKED_OBJECTS_DISPLAY_HPP_
-#include
+#include "autoware_auto_perception_rviz_plugin/object_detection/object_polygon_display_base.hpp"
#include
@@ -39,11 +39,23 @@ class AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC TrackedObjectsDisplay
Q_OBJECT
public:
+ using TrackedObject = autoware_auto_perception_msgs::msg::TrackedObject;
using TrackedObjects = autoware_auto_perception_msgs::msg::TrackedObjects;
TrackedObjectsDisplay();
+protected:
+ uint get_object_dynamics_to_visualize()
+ {
+ return m_select_object_dynamics_property->getOptionInt();
+ }
+
+ static bool is_object_to_show(const uint showing_dynamic_status, const TrackedObject & object);
+
private:
+ // Property to choose object dynamics to visualize
+ rviz_common::properties::EnumProperty * m_select_object_dynamics_property;
+
void processMessage(TrackedObjects::ConstSharedPtr msg) override;
boost::uuids::uuid to_boost_uuid(const unique_identifier_msgs::msg::UUID & uuid_msg)
@@ -102,4 +114,4 @@ class AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_PUBLIC TrackedObjectsDisplay
} // namespace rviz_plugins
} // namespace autoware
-#endif // OBJECT_DETECTION__TRACKED_OBJECTS_DISPLAY_HPP_
+#endif // AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__OBJECT_DETECTION__TRACKED_OBJECTS_DISPLAY_HPP_
diff --git a/common/autoware_auto_perception_rviz_plugin/include/visibility_control.hpp b/common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/visibility_control.hpp
similarity index 89%
rename from common/autoware_auto_perception_rviz_plugin/include/visibility_control.hpp
rename to common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/visibility_control.hpp
index bce7351572375..47cb8383fdada 100644
--- a/common/autoware_auto_perception_rviz_plugin/include/visibility_control.hpp
+++ b/common/autoware_auto_perception_rviz_plugin/include/autoware_auto_perception_rviz_plugin/visibility_control.hpp
@@ -14,8 +14,8 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#ifndef VISIBILITY_CONTROL_HPP_
-#define VISIBILITY_CONTROL_HPP_
+#ifndef AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__VISIBILITY_CONTROL_HPP_
+#define AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__VISIBILITY_CONTROL_HPP_
#if defined(__WIN32)
#if defined(AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN_BUILDING_DLL) || \
@@ -40,4 +40,4 @@
#error "Unsupported Build Configuration"
#endif // defined(_WINDOWS)
-#endif // VISIBILITY_CONTROL_HPP_
+#endif // AUTOWARE_AUTO_PERCEPTION_RVIZ_PLUGIN__VISIBILITY_CONTROL_HPP_
diff --git a/common/autoware_auto_perception_rviz_plugin/src/common/color_alpha_property.cpp b/common/autoware_auto_perception_rviz_plugin/src/common/color_alpha_property.cpp
index ac9c5af4ddeef..b3e542a02243b 100644
--- a/common/autoware_auto_perception_rviz_plugin/src/common/color_alpha_property.cpp
+++ b/common/autoware_auto_perception_rviz_plugin/src/common/color_alpha_property.cpp
@@ -14,7 +14,7 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#include
+#include "autoware_auto_perception_rviz_plugin/common/color_alpha_property.hpp"
#include
diff --git a/common/autoware_auto_perception_rviz_plugin/src/object_detection/detected_objects_display.cpp b/common/autoware_auto_perception_rviz_plugin/src/object_detection/detected_objects_display.cpp
index 067173288e685..53e935fa1850a 100644
--- a/common/autoware_auto_perception_rviz_plugin/src/object_detection/detected_objects_display.cpp
+++ b/common/autoware_auto_perception_rviz_plugin/src/object_detection/detected_objects_display.cpp
@@ -14,7 +14,7 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#include
+#include "autoware_auto_perception_rviz_plugin/object_detection/detected_objects_display.hpp"
#include
@@ -38,7 +38,9 @@ void DetectedObjectsDisplay::processMessage(DetectedObjects::ConstSharedPtr msg)
auto shape_marker = get_shape_marker_ptr(
object.shape, object.kinematics.pose_with_covariance.pose.position,
object.kinematics.pose_with_covariance.pose.orientation, object.classification,
- get_line_width());
+ get_line_width(),
+ object.kinematics.orientation_availability ==
+ autoware_auto_perception_msgs::msg::DetectedObjectKinematics::AVAILABLE);
if (shape_marker) {
auto shape_marker_ptr = shape_marker.value();
shape_marker_ptr->header = msg->header;
@@ -57,6 +59,43 @@ void DetectedObjectsDisplay::processMessage(DetectedObjects::ConstSharedPtr msg)
add_marker(label_marker_ptr);
}
+ // Get marker for pose covariance
+ auto pose_with_covariance_marker =
+ get_pose_covariance_marker_ptr(object.kinematics.pose_with_covariance);
+ if (pose_with_covariance_marker) {
+ auto marker_ptr = pose_with_covariance_marker.value();
+ marker_ptr->header = msg->header;
+ marker_ptr->id = id++;
+ add_marker(marker_ptr);
+ }
+
+ // Get marker for yaw covariance
+ auto yaw_covariance_marker = get_yaw_covariance_marker_ptr(
+ object.kinematics.pose_with_covariance, object.shape.dimensions.x * 0.65,
+ get_line_width() * 0.5);
+ if (yaw_covariance_marker) {
+ auto marker_ptr = yaw_covariance_marker.value();
+ marker_ptr->header = msg->header;
+ marker_ptr->id = id++;
+ add_marker(marker_ptr);
+ }
+
+ // Get marker for existence probability
+ geometry_msgs::msg::Point existence_probability_position;
+ existence_probability_position.x = object.kinematics.pose_with_covariance.pose.position.x + 0.5;
+ existence_probability_position.y = object.kinematics.pose_with_covariance.pose.position.y;
+ existence_probability_position.z = object.kinematics.pose_with_covariance.pose.position.z + 0.5;
+ const float existence_probability = object.existence_probability;
+ auto existence_prob_marker = get_existence_probability_marker_ptr(
+ existence_probability_position, object.kinematics.pose_with_covariance.pose.orientation,
+ existence_probability, object.classification);
+ if (existence_prob_marker) {
+ auto existence_prob_marker_ptr = existence_prob_marker.value();
+ existence_prob_marker_ptr->header = msg->header;
+ existence_prob_marker_ptr->id = id++;
+ add_marker(existence_prob_marker_ptr);
+ }
+
// Get marker for velocity text
geometry_msgs::msg::Point vel_vis_position;
vel_vis_position.x = object.kinematics.pose_with_covariance.pose.position.x - 0.5;
@@ -73,13 +112,46 @@ void DetectedObjectsDisplay::processMessage(DetectedObjects::ConstSharedPtr msg)
// Get marker for twist
auto twist_marker = get_twist_marker_ptr(
- object.kinematics.pose_with_covariance, object.kinematics.twist_with_covariance);
+ object.kinematics.pose_with_covariance, object.kinematics.twist_with_covariance,
+ get_line_width());
if (twist_marker) {
auto twist_marker_ptr = twist_marker.value();
twist_marker_ptr->header = msg->header;
twist_marker_ptr->id = id++;
add_marker(twist_marker_ptr);
}
+
+ // Get marker for twist covariance
+ auto twist_covariance_marker = get_twist_covariance_marker_ptr(
+ object.kinematics.pose_with_covariance, object.kinematics.twist_with_covariance);
+ if (twist_covariance_marker) {
+ auto marker_ptr = twist_covariance_marker.value();
+ marker_ptr->header = msg->header;
+ marker_ptr->id = id++;
+ add_marker(marker_ptr);
+ }
+
+ // Get marker for yaw rate
+ auto yaw_rate_marker = get_yaw_rate_marker_ptr(
+ object.kinematics.pose_with_covariance, object.kinematics.twist_with_covariance,
+ get_line_width() * 0.4);
+ if (yaw_rate_marker) {
+ auto marker_ptr = yaw_rate_marker.value();
+ marker_ptr->header = msg->header;
+ marker_ptr->id = id++;
+ add_marker(marker_ptr);
+ }
+
+ // Get marker for yaw rate covariance
+ auto yaw_rate_covariance_marker = get_yaw_rate_covariance_marker_ptr(
+ object.kinematics.pose_with_covariance, object.kinematics.twist_with_covariance,
+ get_line_width() * 0.3);
+ if (yaw_rate_covariance_marker) {
+ auto marker_ptr = yaw_rate_covariance_marker.value();
+ marker_ptr->header = msg->header;
+ marker_ptr->id = id++;
+ add_marker(marker_ptr);
+ }
}
}
diff --git a/common/autoware_auto_perception_rviz_plugin/src/object_detection/object_polygon_detail.cpp b/common/autoware_auto_perception_rviz_plugin/src/object_detection/object_polygon_detail.cpp
index 894e377a6f851..11a0bbbe57d53 100644
--- a/common/autoware_auto_perception_rviz_plugin/src/object_detection/object_polygon_detail.cpp
+++ b/common/autoware_auto_perception_rviz_plugin/src/object_detection/object_polygon_detail.cpp
@@ -12,9 +12,10 @@
// See the License for the specific language governing permissions and
// limitations under the License..
+#include "autoware_auto_perception_rviz_plugin/object_detection/object_polygon_detail.hpp"
+
#include
#include
-#include
#include
@@ -56,7 +57,7 @@ visualization_msgs::msg::Marker::SharedPtr get_path_confidence_marker_ptr(
marker_ptr->type = visualization_msgs::msg::Marker::TEXT_VIEW_FACING;
marker_ptr->ns = std::string("path confidence");
marker_ptr->action = visualization_msgs::msg::Marker::MODIFY;
- marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.2);
+ marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.5);
marker_ptr->scale.x = 0.5;
marker_ptr->scale.y = 0.5;
marker_ptr->scale.z = 0.5;
@@ -77,7 +78,7 @@ visualization_msgs::msg::Marker::SharedPtr get_predicted_path_marker_ptr(
marker_ptr->type = visualization_msgs::msg::Marker::LINE_LIST;
marker_ptr->ns = std::string("path");
marker_ptr->action = visualization_msgs::msg::Marker::MODIFY;
- marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.2);
+ marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.5);
marker_ptr->pose = initPose();
marker_ptr->color = predicted_path_color;
marker_ptr->color.a = 0.6;
@@ -91,28 +92,27 @@ visualization_msgs::msg::Marker::SharedPtr get_predicted_path_marker_ptr(
visualization_msgs::msg::Marker::SharedPtr get_twist_marker_ptr(
const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance,
- const geometry_msgs::msg::TwistWithCovariance & twist_with_covariance)
+ const geometry_msgs::msg::TwistWithCovariance & twist_with_covariance, const double & line_width)
{
auto marker_ptr = std::make_shared();
marker_ptr->type = visualization_msgs::msg::Marker::LINE_LIST;
marker_ptr->ns = std::string("twist");
- marker_ptr->scale.x = 0.03;
+ marker_ptr->scale.x = line_width;
marker_ptr->action = visualization_msgs::msg::Marker::MODIFY;
marker_ptr->pose = pose_with_covariance.pose;
- geometry_msgs::msg::Point pt_s;
- pt_s.x = 0.0;
- pt_s.y = 0.0;
- pt_s.z = 0.0;
- marker_ptr->points.push_back(pt_s);
-
- geometry_msgs::msg::Point pt_e;
- pt_e.x = twist_with_covariance.twist.linear.x;
- pt_e.y = twist_with_covariance.twist.linear.y;
- pt_e.z = twist_with_covariance.twist.linear.z;
- marker_ptr->points.push_back(pt_e);
+ // velocity line
+ geometry_msgs::msg::Point point;
+ point.x = 0.0;
+ point.y = 0.0;
+ point.z = 0.0;
+ marker_ptr->points.push_back(point);
+ point.x = twist_with_covariance.twist.linear.x;
+ point.y = twist_with_covariance.twist.linear.y;
+ point.z = twist_with_covariance.twist.linear.z;
+ marker_ptr->points.push_back(point);
- marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.2);
+ marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.5);
marker_ptr->color.a = 0.999;
marker_ptr->color.r = 1.0;
marker_ptr->color.g = 0.0;
@@ -121,6 +121,168 @@ visualization_msgs::msg::Marker::SharedPtr get_twist_marker_ptr(
return marker_ptr;
}
+visualization_msgs::msg::Marker::SharedPtr get_twist_covariance_marker_ptr(
+ const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance,
+ const geometry_msgs::msg::TwistWithCovariance & twist_with_covariance,
+ const double & confidence_interval_coefficient)
+{
+ auto marker_ptr = std::make_shared();
+ marker_ptr->type = visualization_msgs::msg::Marker::CYLINDER;
+ marker_ptr->ns = std::string("twist covariance");
+ marker_ptr->action = visualization_msgs::msg::Marker::MODIFY;
+ marker_ptr->pose = pose_with_covariance.pose;
+
+ // position is the tip of the velocity vector
+ const double velocity = std::sqrt(
+ twist_with_covariance.twist.linear.x * twist_with_covariance.twist.linear.x +
+ twist_with_covariance.twist.linear.y * twist_with_covariance.twist.linear.y);
+ const double velocity_angle =
+ std::atan2(twist_with_covariance.twist.linear.y, twist_with_covariance.twist.linear.x);
+ const double pos_yaw_angle = 2.0 * std::atan2(
+ pose_with_covariance.pose.orientation.z,
+ pose_with_covariance.pose.orientation.w); // [rad]
+ marker_ptr->pose.position.x += velocity * std::cos(pos_yaw_angle + velocity_angle);
+ marker_ptr->pose.position.y += velocity * std::sin(pos_yaw_angle + velocity_angle);
+
+ // velocity covariance
+ // extract eigen values and eigen vectors
+ Eigen::Matrix2d eigen_twist_covariance;
+ eigen_twist_covariance << twist_with_covariance.covariance[0],
+ twist_with_covariance.covariance[1], twist_with_covariance.covariance[6],
+ twist_with_covariance.covariance[7];
+ double phi, sigma1, sigma2;
+ calc_covariance_eigen_vectors(eigen_twist_covariance, sigma1, sigma2, phi);
+ phi = pos_yaw_angle + phi;
+ double area = sigma1 * sigma2;
+ double alpha = std::min(0.5, 1.0 / area);
+ alpha = std::max(0.1, alpha);
+
+ // ellipse orientation
+ marker_ptr->pose.orientation.x = 0.0;
+ marker_ptr->pose.orientation.y = 0.0;
+ marker_ptr->pose.orientation.z = std::sin(phi / 2.0);
+ marker_ptr->pose.orientation.w = std::cos(phi / 2.0);
+
+ // ellipse size
+ marker_ptr->scale.x = sigma1 * confidence_interval_coefficient;
+ marker_ptr->scale.y = sigma2 * confidence_interval_coefficient;
+ marker_ptr->scale.z = 0.05;
+
+ marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.5);
+ marker_ptr->color.a = alpha;
+ marker_ptr->color.r = 1.0;
+ marker_ptr->color.g = 0.2;
+ marker_ptr->color.b = 0.4;
+
+ return marker_ptr;
+}
+
+visualization_msgs::msg::Marker::SharedPtr get_yaw_rate_marker_ptr(
+ const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance,
+ const geometry_msgs::msg::TwistWithCovariance & twist_with_covariance, const double & line_width)
+{
+ auto marker_ptr = std::make_shared();
+ marker_ptr->type = visualization_msgs::msg::Marker::LINE_STRIP;
+ marker_ptr->ns = std::string("yaw rate");
+ marker_ptr->scale.x = line_width;
+ marker_ptr->action = visualization_msgs::msg::Marker::MODIFY;
+ marker_ptr->pose = pose_with_covariance.pose;
+
+ // yaw rate
+ const double yaw_rate = twist_with_covariance.twist.angular.z;
+ const double velocity = std::sqrt(
+ twist_with_covariance.twist.linear.x * twist_with_covariance.twist.linear.x +
+ twist_with_covariance.twist.linear.y * twist_with_covariance.twist.linear.y +
+ twist_with_covariance.twist.linear.z * twist_with_covariance.twist.linear.z);
+ const double velocity_angle =
+ std::atan2(twist_with_covariance.twist.linear.y, twist_with_covariance.twist.linear.x);
+ const double yaw_mark_length = velocity * 0.8;
+
+ geometry_msgs::msg::Point point;
+ // first point
+ point.x = 0;
+ point.y = 0;
+ point.z = 0;
+ marker_ptr->points.push_back(point);
+ // yaw rate arc
+ calc_arc_line_strip(
+ velocity_angle, velocity_angle + yaw_rate, yaw_mark_length, marker_ptr->points);
+ // last point
+ point.x = 0;
+ point.y = 0;
+ point.z = 0;
+ marker_ptr->points.push_back(point);
+
+ marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.5);
+ marker_ptr->color.a = 0.9;
+ marker_ptr->color.r = 1.0;
+ marker_ptr->color.g = 0.0;
+ marker_ptr->color.b = 0.0;
+
+ return marker_ptr;
+}
+
+visualization_msgs::msg::Marker::SharedPtr get_yaw_rate_covariance_marker_ptr(
+ const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance,
+ const geometry_msgs::msg::TwistWithCovariance & twist_with_covariance,
+ const double & confidence_interval_coefficient, const double & line_width)
+{
+ auto marker_ptr = std::make_shared();
+ marker_ptr->type = visualization_msgs::msg::Marker::LINE_LIST;
+ marker_ptr->ns = std::string("yaw rate covariance");
+ marker_ptr->scale.x = line_width;
+ marker_ptr->action = visualization_msgs::msg::Marker::MODIFY;
+ marker_ptr->pose = pose_with_covariance.pose;
+
+ // yaw rate covariance
+ const double yaw_rate_covariance = twist_with_covariance.covariance[35];
+ const double yaw_rate_sigma = std::sqrt(yaw_rate_covariance) * confidence_interval_coefficient;
+ const double yaw_rate = twist_with_covariance.twist.angular.z;
+ const double velocity = std::sqrt(
+ twist_with_covariance.twist.linear.x * twist_with_covariance.twist.linear.x +
+ twist_with_covariance.twist.linear.y * twist_with_covariance.twist.linear.y +
+ twist_with_covariance.twist.linear.z * twist_with_covariance.twist.linear.z);
+ const double velocity_angle =
+ std::atan2(twist_with_covariance.twist.linear.y, twist_with_covariance.twist.linear.x);
+ const double yaw_mark_length = velocity * 0.8;
+ const double bar_width = std::max(velocity * 0.05, 0.1);
+ const double velocity_yaw_angle = velocity_angle + yaw_rate;
+ const double velocity_yaw_p_sigma_angle = velocity_yaw_angle + yaw_rate_sigma;
+ const double velocity_yaw_n_sigma_angle = velocity_yaw_angle - yaw_rate_sigma;
+
+ const double point_list[7][3] = {
+ {yaw_mark_length * std::cos(velocity_yaw_angle), yaw_mark_length * std::sin(velocity_yaw_angle),
+ 0},
+ {yaw_mark_length * std::cos(velocity_yaw_p_sigma_angle),
+ yaw_mark_length * std::sin(velocity_yaw_p_sigma_angle), 0},
+ {yaw_mark_length * std::cos(velocity_yaw_n_sigma_angle),
+ yaw_mark_length * std::sin(velocity_yaw_n_sigma_angle), 0},
+ {(yaw_mark_length + bar_width) * std::cos(velocity_yaw_p_sigma_angle),
+ (yaw_mark_length + bar_width) * std::sin(velocity_yaw_p_sigma_angle), 0},
+ {(yaw_mark_length - bar_width) * std::cos(velocity_yaw_p_sigma_angle),
+ (yaw_mark_length - bar_width) * std::sin(velocity_yaw_p_sigma_angle), 0},
+ {(yaw_mark_length + bar_width) * std::cos(velocity_yaw_n_sigma_angle),
+ (yaw_mark_length + bar_width) * std::sin(velocity_yaw_n_sigma_angle), 0},
+ {(yaw_mark_length - bar_width) * std::cos(velocity_yaw_n_sigma_angle),
+ (yaw_mark_length - bar_width) * std::sin(velocity_yaw_n_sigma_angle), 0},
+ };
+ const int point_pairs[4][2] = {
+ {0, 1},
+ {0, 2},
+ {3, 4},
+ {5, 6},
+ };
+ calc_line_list_from_points(point_list, point_pairs, 4, marker_ptr->points);
+
+ marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.5);
+ marker_ptr->color.a = 0.9;
+ marker_ptr->color.r = 1.0;
+ marker_ptr->color.g = 0.2;
+ marker_ptr->color.b = 0.4;
+
+ return marker_ptr;
+}
+
visualization_msgs::msg::Marker::SharedPtr get_velocity_text_marker_ptr(
const geometry_msgs::msg::Twist & twist, const geometry_msgs::msg::Point & vis_pos,
const std_msgs::msg::ColorRGBA & color_rgba)
@@ -137,7 +299,7 @@ visualization_msgs::msg::Marker::SharedPtr get_velocity_text_marker_ptr(
marker_ptr->text = std::to_string(static_cast(vel * 3.6)) + std::string("[km/h]");
marker_ptr->action = visualization_msgs::msg::Marker::MODIFY;
marker_ptr->pose.position = vis_pos;
- marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.2);
+ marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.5);
marker_ptr->color = color_rgba;
return marker_ptr;
}
@@ -158,52 +320,122 @@ visualization_msgs::msg::Marker::SharedPtr get_acceleration_text_marker_ptr(
marker_ptr->text = getRoundedDoubleString(acc) + std::string("[m/s^2]");
marker_ptr->action = visualization_msgs::msg::Marker::MODIFY;
marker_ptr->pose.position = vis_pos;
- marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.2);
+ marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.5);
marker_ptr->color = color_rgba;
return marker_ptr;
}
-visualization_msgs::msg::Marker::SharedPtr get_pose_with_covariance_marker_ptr(
- const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance)
+void calc_arc_line_strip(
+ const double start_angle, const double end_angle, const double radius,
+ std::vector & points)
+{
+ geometry_msgs::msg::Point point;
+ // arc points
+ const double maximum_delta_angle = 10.0 * M_PI / 180.0;
+ const int num_points =
+ std::max(3, static_cast(std::abs(end_angle - start_angle) / maximum_delta_angle));
+ for (int i = 0; i < num_points; ++i) {
+ const double angle = start_angle + (end_angle - start_angle) * static_cast(i) /
+ static_cast(num_points - 1);
+ point.x = radius * std::cos(angle);
+ point.y = radius * std::sin(angle);
+ point.z = 0;
+ points.push_back(point);
+ }
+}
+
+void calc_covariance_eigen_vectors(
+ const Eigen::Matrix2d & matrix, double & sigma1, double & sigma2, double & yaw)
+{
+ Eigen::SelfAdjointEigenSolver solver(matrix);
+ Eigen::Vector2d eigen_values = solver.eigenvalues();
+ // eigen values
+ sigma1 = std::sqrt(eigen_values.x());
+ sigma2 = std::sqrt(eigen_values.y());
+ // orientation of covariance ellipse
+ Eigen::Vector2d e1 = solver.eigenvectors().col(0);
+ yaw = std::atan2(e1.y(), e1.x());
+}
+
+visualization_msgs::msg::Marker::SharedPtr get_pose_covariance_marker_ptr(
+ const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance,
+ const double & confidence_interval_coefficient)
{
auto marker_ptr = std::make_shared();
- marker_ptr->type = visualization_msgs::msg::Marker::LINE_LIST;
+ marker_ptr->type = visualization_msgs::msg::Marker::CYLINDER;
marker_ptr->ns = std::string("position covariance");
- marker_ptr->scale.x = 0.03;
marker_ptr->action = visualization_msgs::msg::Marker::MODIFY;
marker_ptr->pose = pose_with_covariance.pose;
+
+ // position covariance
+ // extract eigen values and eigen vectors
+ Eigen::Matrix2d eigen_pose_covariance;
+ eigen_pose_covariance << pose_with_covariance.covariance[0], pose_with_covariance.covariance[1],
+ pose_with_covariance.covariance[6], pose_with_covariance.covariance[7];
+ double yaw, sigma1, sigma2;
+ calc_covariance_eigen_vectors(eigen_pose_covariance, sigma1, sigma2, yaw);
+
+ // ellipse orientation
marker_ptr->pose.orientation.x = 0.0;
marker_ptr->pose.orientation.y = 0.0;
- marker_ptr->pose.orientation.z = 0.0;
- marker_ptr->pose.orientation.w = 1.0;
+ marker_ptr->pose.orientation.z = std::sin(yaw / 2.0);
+ marker_ptr->pose.orientation.w = std::cos(yaw / 2.0);
+
+ // ellipse size
+ marker_ptr->scale.x = sigma1 * confidence_interval_coefficient;
+ marker_ptr->scale.y = sigma2 * confidence_interval_coefficient;
+ marker_ptr->scale.z = 0.05;
+
+ // ellipse color density
+ double area = sigma1 * sigma2;
+ double alpha = std::min(0.5, 3.0 / area);
+ alpha = std::max(0.1, alpha);
+
+ // marker configuration
+ marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.5);
+ marker_ptr->color.a = alpha;
+ marker_ptr->color.r = 1.0;
+ marker_ptr->color.g = 1.0;
+ marker_ptr->color.b = 1.0;
+ return marker_ptr;
+}
+
+visualization_msgs::msg::Marker::SharedPtr get_yaw_covariance_marker_ptr(
+ const geometry_msgs::msg::PoseWithCovariance & pose_with_covariance, const double & length,
+ const double & confidence_interval_coefficient, const double & line_width)
+{
+ auto marker_ptr = std::make_shared();
+ marker_ptr->type = visualization_msgs::msg::Marker::LINE_STRIP;
+ marker_ptr->ns = std::string("yaw covariance");
+ marker_ptr->scale.x = line_width;
+ marker_ptr->action = visualization_msgs::msg::Marker::MODIFY;
+ marker_ptr->pose = pose_with_covariance.pose;
geometry_msgs::msg::Point point;
- Eigen::Matrix2d eigen_pose_with_covariance;
- eigen_pose_with_covariance << pose_with_covariance.covariance[0],
- pose_with_covariance.covariance[1], pose_with_covariance.covariance[6],
- pose_with_covariance.covariance[7];
- Eigen::SelfAdjointEigenSolver solver(eigen_pose_with_covariance);
- double sigma1 = 2.448 * std::sqrt(solver.eigenvalues().x()); // 2.448 sigma is 95%
- double sigma2 = 2.448 * std::sqrt(solver.eigenvalues().y()); // 2.448 sigma is 95%
- Eigen::Vector2d e1 = solver.eigenvectors().col(0);
- Eigen::Vector2d e2 = solver.eigenvectors().col(1);
- point.x = -e1.x() * sigma1;
- point.y = -e1.y() * sigma1;
- point.z = 0;
- marker_ptr->points.push_back(point);
- point.x = e1.x() * sigma1;
- point.y = e1.y() * sigma1;
- point.z = 0;
- marker_ptr->points.push_back(point);
- point.x = -e2.x() * sigma2;
- point.y = -e2.y() * sigma2;
+
+ // orientation covariance
+ double yaw_vector_length = std::max(length, 1.0);
+ double yaw_sigma =
+ std::sqrt(pose_with_covariance.covariance[35]) * confidence_interval_coefficient;
+ // get arc points
+ if (yaw_sigma > M_PI) {
+ yaw_vector_length = 1.0;
+ }
+ // first point
+ point.x = 0;
+ point.y = 0;
point.z = 0;
marker_ptr->points.push_back(point);
- point.x = e2.x() * sigma2;
- point.y = e2.y() * sigma2;
+ // arc points
+ calc_arc_line_strip(-yaw_sigma, yaw_sigma, yaw_vector_length, marker_ptr->points);
+ // last point
+ point.x = 0;
+ point.y = 0;
point.z = 0;
marker_ptr->points.push_back(point);
- marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.2);
- marker_ptr->color.a = 0.999;
+
+ // marker configuration
+ marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.5);
+ marker_ptr->color.a = 0.9;
marker_ptr->color.r = 1.0;
marker_ptr->color.g = 1.0;
marker_ptr->color.b = 1.0;
@@ -237,6 +469,23 @@ visualization_msgs::msg::Marker::SharedPtr get_label_marker_ptr(
marker_ptr->text = label;
marker_ptr->action = visualization_msgs::msg::Marker::MODIFY;
marker_ptr->pose = marker_ptr->pose = to_pose(centroid, orientation);
+ marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.5);
+ marker_ptr->color = color_rgba;
+ return marker_ptr;
+}
+
+visualization_msgs::msg::Marker::SharedPtr get_existence_probability_marker_ptr(
+ const geometry_msgs::msg::Point & centroid, const geometry_msgs::msg::Quaternion & orientation,
+ const float existence_probability, const std_msgs::msg::ColorRGBA & color_rgba)
+{
+ auto marker_ptr = std::make_shared();
+ marker_ptr->type = visualization_msgs::msg::Marker::TEXT_VIEW_FACING;
+ marker_ptr->ns = std::string("existence probability");
+ marker_ptr->scale.x = 0.5;
+ marker_ptr->scale.z = 0.5;
+ marker_ptr->text = std::to_string(existence_probability);
+ marker_ptr->action = visualization_msgs::msg::Marker::MODIFY;
+ marker_ptr->pose = marker_ptr->pose = to_pose(centroid, orientation);
marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.2);
marker_ptr->color = color_rgba;
return marker_ptr;
@@ -245,7 +494,8 @@ visualization_msgs::msg::Marker::SharedPtr get_label_marker_ptr(
visualization_msgs::msg::Marker::SharedPtr get_shape_marker_ptr(
const autoware_auto_perception_msgs::msg::Shape & shape_msg,
const geometry_msgs::msg::Point & centroid, const geometry_msgs::msg::Quaternion & orientation,
- const std_msgs::msg::ColorRGBA & color_rgba, const double & line_width)
+ const std_msgs::msg::ColorRGBA & color_rgba, const double & line_width,
+ const bool & is_orientation_available)
{
auto marker_ptr = std::make_shared();
marker_ptr->ns = std::string("shape");
@@ -254,6 +504,9 @@ visualization_msgs::msg::Marker::SharedPtr get_shape_marker_ptr(
if (shape_msg.type == Shape::BOUNDING_BOX) {
marker_ptr->type = visualization_msgs::msg::Marker::LINE_LIST;
calc_bounding_box_line_list(shape_msg, marker_ptr->points);
+ if (is_orientation_available) {
+ calc_bounding_box_direction_line_list(shape_msg, marker_ptr->points);
+ }
} else if (shape_msg.type == Shape::CYLINDER) {
marker_ptr->type = visualization_msgs::msg::Marker::LINE_LIST;
calc_cylinder_line_list(shape_msg, marker_ptr->points);
@@ -267,7 +520,7 @@ visualization_msgs::msg::Marker::SharedPtr get_shape_marker_ptr(
marker_ptr->action = visualization_msgs::msg::Marker::MODIFY;
marker_ptr->pose = to_pose(centroid, orientation);
- marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.2);
+ marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.5);
marker_ptr->scale.x = line_width;
marker_ptr->color = color_rgba;
@@ -277,7 +530,8 @@ visualization_msgs::msg::Marker::SharedPtr get_shape_marker_ptr(
visualization_msgs::msg::Marker::SharedPtr get_2d_shape_marker_ptr(
const autoware_auto_perception_msgs::msg::Shape & shape_msg,
const geometry_msgs::msg::Point & centroid, const geometry_msgs::msg::Quaternion & orientation,
- const std_msgs::msg::ColorRGBA & color_rgba, const double & line_width)
+ const std_msgs::msg::ColorRGBA & color_rgba, const double & line_width,
+ const bool & is_orientation_available)
{
auto marker_ptr = std::make_shared();
marker_ptr->ns = std::string("shape");
@@ -286,6 +540,9 @@ visualization_msgs::msg::Marker::SharedPtr get_2d_shape_marker_ptr(
if (shape_msg.type == Shape::BOUNDING_BOX) {
marker_ptr->type = visualization_msgs::msg::Marker::LINE_LIST;
calc_2d_bounding_box_bottom_line_list(shape_msg, marker_ptr->points);
+ if (is_orientation_available) {
+ calc_2d_bounding_box_bottom_direction_line_list(shape_msg, marker_ptr->points);
+ }
} else if (shape_msg.type == Shape::CYLINDER) {
marker_ptr->type = visualization_msgs::msg::Marker::LINE_LIST;
calc_2d_cylinder_bottom_line_list(shape_msg, marker_ptr->points);
@@ -299,170 +556,127 @@ visualization_msgs::msg::Marker::SharedPtr get_2d_shape_marker_ptr(
marker_ptr->action = visualization_msgs::msg::Marker::MODIFY;
marker_ptr->pose = to_pose(centroid, orientation);
- marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.2);
+ marker_ptr->lifetime = rclcpp::Duration::from_seconds(0.5);
marker_ptr->scale.x = line_width;
marker_ptr->color = color_rgba;
return marker_ptr;
}
+void calc_line_list_from_points(
+ const double point_list[][3], const int point_pairs[][2], const int & num_pairs,
+ std::vector & points)
+{
+ geometry_msgs::msg::Point point;
+ for (int i = 0; i < num_pairs; ++i) {
+ point.x = point_list[point_pairs[i][0]][0];
+ point.y = point_list[point_pairs[i][0]][1];
+ point.z = point_list[point_pairs[i][0]][2];
+ points.push_back(point);
+ point.x = point_list[point_pairs[i][1]][0];
+ point.y = point_list[point_pairs[i][1]][1];
+ point.z = point_list[point_pairs[i][1]][2];
+ points.push_back(point);
+ }
+}
+
void calc_bounding_box_line_list(
const autoware_auto_perception_msgs::msg::Shape & shape,
std::vector & points)
{
+ const double length_half = shape.dimensions.x / 2.0;
+ const double width_half = shape.dimensions.y / 2.0;
+ const double height_half = shape.dimensions.z / 2.0;
geometry_msgs::msg::Point point;
- point.x = shape.dimensions.x / 2.0;
- point.y = shape.dimensions.y / 2.0;
- point.z = shape.dimensions.z / 2.0;
- points.push_back(point);
- point.x = shape.dimensions.x / 2.0;
- point.y = shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
-
- point.x = shape.dimensions.x / 2.0;
- point.y = -shape.dimensions.y / 2.0;
- point.z = shape.dimensions.z / 2.0;
- points.push_back(point);
- point.x = shape.dimensions.x / 2.0;
- point.y = -shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
-
- point.x = -shape.dimensions.x / 2.0;
- point.y = shape.dimensions.y / 2.0;
- point.z = shape.dimensions.z / 2.0;
- points.push_back(point);
- point.x = -shape.dimensions.x / 2.0;
- point.y = shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
-
- point.x = -shape.dimensions.x / 2.0;
- point.y = -shape.dimensions.y / 2.0;
- point.z = shape.dimensions.z / 2.0;
- points.push_back(point);
- point.x = -shape.dimensions.x / 2.0;
- point.y = -shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
-
- // up surface
- point.x = shape.dimensions.x / 2.0;
- point.y = shape.dimensions.y / 2.0;
- point.z = shape.dimensions.z / 2.0;
- points.push_back(point);
- point.x = -shape.dimensions.x / 2.0;
- point.y = shape.dimensions.y / 2.0;
- point.z = shape.dimensions.z / 2.0;
- points.push_back(point);
-
- point.x = shape.dimensions.x / 2.0;
- point.y = shape.dimensions.y / 2.0;
- point.z = shape.dimensions.z / 2.0;
- points.push_back(point);
- point.x = shape.dimensions.x / 2.0;
- point.y = -shape.dimensions.y / 2.0;
- point.z = shape.dimensions.z / 2.0;
- points.push_back(point);
-
- point.x = -shape.dimensions.x / 2.0;
- point.y = shape.dimensions.y / 2.0;
- point.z = shape.dimensions.z / 2.0;
- points.push_back(point);
- point.x = -shape.dimensions.x / 2.0;
- point.y = -shape.dimensions.y / 2.0;
- point.z = shape.dimensions.z / 2.0;
- points.push_back(point);
-
- point.x = shape.dimensions.x / 2.0;
- point.y = -shape.dimensions.y / 2.0;
- point.z = shape.dimensions.z / 2.0;
- points.push_back(point);
- point.x = -shape.dimensions.x / 2.0;
- point.y = -shape.dimensions.y / 2.0;
- point.z = shape.dimensions.z / 2.0;
- points.push_back(point);
-
- // down surface
- point.x = shape.dimensions.x / 2.0;
- point.y = shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
- point.x = -shape.dimensions.x / 2.0;
- point.y = shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
-
- point.x = shape.dimensions.x / 2.0;
- point.y = shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
- point.x = shape.dimensions.x / 2.0;
- point.y = -shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
-
- point.x = -shape.dimensions.x / 2.0;
- point.y = shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
- point.x = -shape.dimensions.x / 2.0;
- point.y = -shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
-
- point.x = shape.dimensions.x / 2.0;
- point.y = -shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
- point.x = -shape.dimensions.x / 2.0;
- point.y = -shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
+
+ // bounding box corner points
+ // top and bottom surface, clockwise
+ const double point_list[8][3] = {
+ {length_half, width_half, height_half}, {length_half, -width_half, height_half},
+ {-length_half, -width_half, height_half}, {-length_half, width_half, height_half},
+ {length_half, width_half, -height_half}, {length_half, -width_half, -height_half},
+ {-length_half, -width_half, -height_half}, {-length_half, width_half, -height_half},
+ };
+ const int point_pairs[12][2] = {
+ {0, 1}, {1, 2}, {2, 3}, {3, 0}, {4, 5}, {5, 6}, {6, 7}, {7, 4}, {0, 4}, {1, 5}, {2, 6}, {3, 7},
+ };
+ calc_line_list_from_points(point_list, point_pairs, 12, points);
+}
+
+void calc_bounding_box_direction_line_list(
+ const autoware_auto_perception_msgs::msg::Shape & shape,
+ std::vector & points)
+{
+ // direction triangle
+ const double length_half = shape.dimensions.x / 2.0;
+ const double width_half = shape.dimensions.y / 2.0;
+ const double height_half = shape.dimensions.z / 2.0;
+ const double triangle_size_half = shape.dimensions.y / 1.4;
+ geometry_msgs::msg::Point point;
+
+ // triangle-shaped direction indicator
+ const double point_list[6][3] = {
+ {length_half, 0, height_half},
+ {length_half - triangle_size_half, width_half, height_half},
+ {length_half - triangle_size_half, -width_half, height_half},
+ {length_half, 0, -height_half},
+ {length_half, width_half, height_half},
+ {length_half, -width_half, height_half},
+ };
+ const int point_pairs[5][2] = {
+ {0, 1}, {1, 2}, {0, 2}, {3, 4}, {3, 5},
+ };
+ calc_line_list_from_points(point_list, point_pairs, 5, points);
}
void calc_2d_bounding_box_bottom_line_list(
const autoware_auto_perception_msgs::msg::Shape & shape,
std::vector & points)
{
+ const double length_half = shape.dimensions.x / 2.0;
+ const double width_half = shape.dimensions.y / 2.0;
+ const double height_half = shape.dimensions.z / 2.0;
geometry_msgs::msg::Point point;
- // down surface
- point.x = shape.dimensions.x / 2.0;
- point.y = shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
- point.x = -shape.dimensions.x / 2.0;
- point.y = shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
-
- point.x = shape.dimensions.x / 2.0;
- point.y = shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
- point.x = shape.dimensions.x / 2.0;
- point.y = -shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
-
- point.x = -shape.dimensions.x / 2.0;
- point.y = shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
- point.x = -shape.dimensions.x / 2.0;
- point.y = -shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
-
- point.x = shape.dimensions.x / 2.0;
- point.y = -shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
- point.x = -shape.dimensions.x / 2.0;
- point.y = -shape.dimensions.y / 2.0;
- point.z = -shape.dimensions.z / 2.0;
- points.push_back(point);
+
+ // bounding box corner points
+ // top surface, clockwise
+ const double point_list[4][3] = {
+ {length_half, width_half, -height_half},
+ {length_half, -width_half, -height_half},
+ {-length_half, -width_half, -height_half},
+ {-length_half, width_half, -height_half},
+ };
+ const int point_pairs[4][2] = {
+ {0, 1},
+ {1, 2},
+ {2, 3},
+ {3, 0},
+ };
+ calc_line_list_from_points(point_list, point_pairs, 4, points);
+}
+
+void calc_2d_bounding_box_bottom_direction_line_list(
+ const autoware_auto_perception_msgs::msg::Shape & shape,
+ std::vector & points)
+{
+ const double length_half = shape.dimensions.x / 2.0;
+ const double width_half = shape.dimensions.y / 2.0;
+ const double height_half = shape.dimensions.z / 2.0;
+ const double triangle_size_half = shape.dimensions.y / 1.4;
+ geometry_msgs::msg::Point point;
+
+ // triangle-shaped direction indicator
+ const double point_list[6][3] = {
+ {length_half, 0, -height_half},
+ {length_half - triangle_size_half, width_half, -height_half},
+ {length_half - triangle_size_half, -width_half, -height_half},
+ };
+ const int point_pairs[3][2] = {
+ {0, 1},
+ {1, 2},
+ {0, 2},
+ };
+ calc_line_list_from_points(point_list, point_pairs, 3, points);
}
void calc_cylinder_line_list(
diff --git a/common/autoware_auto_perception_rviz_plugin/src/object_detection/predicted_objects_display.cpp b/common/autoware_auto_perception_rviz_plugin/src/object_detection/predicted_objects_display.cpp
index 2cc5397d18721..24b21a15732c3 100644
--- a/common/autoware_auto_perception_rviz_plugin/src/object_detection/predicted_objects_display.cpp
+++ b/common/autoware_auto_perception_rviz_plugin/src/object_detection/predicted_objects_display.cpp
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include
+#include "autoware_auto_perception_rviz_plugin/object_detection/predicted_objects_display.hpp"
#include
#include
@@ -77,12 +77,12 @@ std::vector PredictedObjectsDisplay:
auto shape_marker = get_shape_marker_ptr(
object.shape, object.kinematics.initial_pose_with_covariance.pose.position,
object.kinematics.initial_pose_with_covariance.pose.orientation, object.classification,
- get_line_width());
+ get_line_width(), true);
if (shape_marker) {
- auto shape_marker_ptr = shape_marker.value();
- shape_marker_ptr->header = msg->header;
- shape_marker_ptr->id = uuid_to_marker_id(object.object_id);
- markers.push_back(shape_marker_ptr);
+ auto marker_ptr = shape_marker.value();
+ marker_ptr->header = msg->header;
+ marker_ptr->id = uuid_to_marker_id(object.object_id);
+ markers.push_back(marker_ptr);
}
// Get marker for label
@@ -90,10 +90,10 @@ std::vector PredictedObjectsDisplay:
object.kinematics.initial_pose_with_covariance.pose.position,
object.kinematics.initial_pose_with_covariance.pose.orientation, object.classification);
if (label_marker) {
- auto label_marker_ptr = label_marker.value();
- label_marker_ptr->header = msg->header;
- label_marker_ptr->id = uuid_to_marker_id(object.object_id);
- markers.push_back(label_marker_ptr);
+ auto marker_ptr = label_marker.value();
+ marker_ptr->header = msg->header;
+ marker_ptr->id = uuid_to_marker_id(object.object_id);
+ markers.push_back(marker_ptr);
}
// Get marker for id
@@ -111,16 +111,46 @@ std::vector PredictedObjectsDisplay:
markers.push_back(id_marker_ptr);
}
- // Get marker for pose with covariance
+ // Get marker for pose covariance
auto pose_with_covariance_marker =
- get_pose_with_covariance_marker_ptr(object.kinematics.initial_pose_with_covariance);
+ get_pose_covariance_marker_ptr(object.kinematics.initial_pose_with_covariance);
if (pose_with_covariance_marker) {
- auto pose_with_covariance_marker_ptr = pose_with_covariance_marker.value();
- pose_with_covariance_marker_ptr->header = msg->header;
- pose_with_covariance_marker_ptr->id = uuid_to_marker_id(object.object_id);
- markers.push_back(pose_with_covariance_marker_ptr);
+ auto marker_ptr = pose_with_covariance_marker.value();
+ marker_ptr->header = msg->header;
+ marker_ptr->id = uuid_to_marker_id(object.object_id);
+ markers.push_back(marker_ptr);
}
+ // Get marker for yaw covariance
+ auto yaw_covariance_marker = get_yaw_covariance_marker_ptr(
+ object.kinematics.initial_pose_with_covariance, object.shape.dimensions.x * 0.65,
+ get_line_width() * 0.5);
+ if (yaw_covariance_marker) {
+ auto marker_ptr = yaw_covariance_marker.value();
+ marker_ptr->header = msg->header;
+ marker_ptr->id = uuid_to_marker_id(object.object_id);
+ markers.push_back(marker_ptr);
+ }
+
+ // Get marker for existence probability
+ geometry_msgs::msg::Point existence_probability_position;
+ existence_probability_position.x =
+ object.kinematics.initial_pose_with_covariance.pose.position.x + 0.5;
+ existence_probability_position.y =
+ object.kinematics.initial_pose_with_covariance.pose.position.y;
+ existence_probability_position.z =
+ object.kinematics.initial_pose_with_covariance.pose.position.z + 0.5;
+ const float existence_probability = object.existence_probability;
+ auto existence_prob_marker = get_existence_probability_marker_ptr(
+ existence_probability_position,
+ object.kinematics.initial_pose_with_covariance.pose.orientation, existence_probability,
+ object.classification);
+ if (existence_prob_marker) {
+ auto existence_prob_marker_ptr = existence_prob_marker.value();
+ existence_prob_marker_ptr->header = msg->header;
+ existence_prob_marker_ptr->id = uuid_to_marker_id(object.object_id);
+ markers.push_back(existence_prob_marker_ptr);
+ }
// Get marker for velocity text
geometry_msgs::msg::Point vel_vis_position;
vel_vis_position.x = uuid_vis_position.x - 0.5;
@@ -154,7 +184,7 @@ std::vector PredictedObjectsDisplay:
// Get marker for twist
auto twist_marker = get_twist_marker_ptr(
object.kinematics.initial_pose_with_covariance,
- object.kinematics.initial_twist_with_covariance);
+ object.kinematics.initial_twist_with_covariance, get_line_width());
if (twist_marker) {
auto twist_marker_ptr = twist_marker.value();
twist_marker_ptr->header = msg->header;
@@ -162,6 +192,39 @@ std::vector PredictedObjectsDisplay:
markers.push_back(twist_marker_ptr);
}
+ // Get marker for twist covariance
+ auto twist_covariance_marker = get_twist_covariance_marker_ptr(
+ object.kinematics.initial_pose_with_covariance,
+ object.kinematics.initial_twist_with_covariance);
+ if (twist_covariance_marker) {
+ auto marker_ptr = twist_covariance_marker.value();
+ marker_ptr->header = msg->header;
+ marker_ptr->id = uuid_to_marker_id(object.object_id);
+ markers.push_back(marker_ptr);
+ }
+
+ // Get marker for yaw rate
+ auto yaw_rate_marker = get_yaw_rate_marker_ptr(
+ object.kinematics.initial_pose_with_covariance,
+ object.kinematics.initial_twist_with_covariance, get_line_width() * 0.4);
+ if (yaw_rate_marker) {
+ auto marker_ptr = yaw_rate_marker.value();
+ marker_ptr->header = msg->header;
+ marker_ptr->id = uuid_to_marker_id(object.object_id);
+ add_marker(marker_ptr);
+ }
+
+ // Get marker for twist covariance
+ auto yaw_rate_covariance_marker = get_yaw_rate_covariance_marker_ptr(
+ object.kinematics.initial_pose_with_covariance,
+ object.kinematics.initial_twist_with_covariance, get_line_width() * 0.3);
+ if (yaw_rate_covariance_marker) {
+ auto marker_ptr = yaw_rate_covariance_marker.value();
+ marker_ptr->header = msg->header;
+ marker_ptr->id = uuid_to_marker_id(object.object_id);
+ markers.push_back(marker_ptr);
+ }
+
// Add marker for each candidate path
int32_t path_count = 0;
for (const auto & predicted_path : object.kinematics.predicted_paths) {
diff --git a/common/autoware_auto_perception_rviz_plugin/src/object_detection/tracked_objects_display.cpp b/common/autoware_auto_perception_rviz_plugin/src/object_detection/tracked_objects_display.cpp
index 00a1199c697ce..504b51f850444 100644
--- a/common/autoware_auto_perception_rviz_plugin/src/object_detection/tracked_objects_display.cpp
+++ b/common/autoware_auto_perception_rviz_plugin/src/object_detection/tracked_objects_display.cpp
@@ -14,7 +14,7 @@
//
// Co-developed by Tier IV, Inc. and Apex.AI, Inc.
-#include
+#include "autoware_auto_perception_rviz_plugin/object_detection/tracked_objects_display.hpp"
#include
@@ -26,6 +26,24 @@ namespace object_detection
{
TrackedObjectsDisplay::TrackedObjectsDisplay() : ObjectPolygonDisplayBase("tracks")
{
+ // Option for selective visualization by object dynamics
+ m_select_object_dynamics_property = new rviz_common::properties::EnumProperty(
+ "Dynamic Status", "All", "Selectively visualize objects by its dynamic status.", this);
+ m_select_object_dynamics_property->addOption("Dynamic", 0);
+ m_select_object_dynamics_property->addOption("Static", 1);
+ m_select_object_dynamics_property->addOption("All", 2);
+}
+
+bool TrackedObjectsDisplay::is_object_to_show(
+ const uint showing_dynamic_status, const TrackedObject & object)
+{
+ if (showing_dynamic_status == 0 && object.kinematics.is_stationary) {
+ return false; // Show only moving objects
+ }
+ if (showing_dynamic_status == 1 && !object.kinematics.is_stationary) {
+ return false; // Show only stationary objects
+ }
+ return true;
}
void TrackedObjectsDisplay::processMessage(TrackedObjects::ConstSharedPtr msg)
@@ -33,12 +51,17 @@ void TrackedObjectsDisplay::processMessage(TrackedObjects::ConstSharedPtr msg)
clear_markers();
update_id_map(msg);
+ const auto showing_dynamic_status = get_object_dynamics_to_visualize();
for (const auto & object : msg->objects) {
+ // Filter by object dynamic status
+ if (!is_object_to_show(showing_dynamic_status, object)) continue;
// Get marker for shape
auto shape_marker = get_shape_marker_ptr(
object.shape, object.kinematics.pose_with_covariance.pose.position,
object.kinematics.pose_with_covariance.pose.orientation, object.classification,
- get_line_width());
+ get_line_width(),
+ object.kinematics.orientation_availability ==
+ autoware_auto_perception_msgs::msg::DetectedObjectKinematics::AVAILABLE);
if (shape_marker) {
auto shape_marker_ptr = shape_marker.value();
shape_marker_ptr->header = msg->header;
@@ -72,16 +95,42 @@ void TrackedObjectsDisplay::processMessage(TrackedObjects::ConstSharedPtr msg)
add_marker(id_marker_ptr);
}
- // Get marker for pose with covariance
+ // Get marker for pose covariance
auto pose_with_covariance_marker =
- get_pose_with_covariance_marker_ptr(object.kinematics.pose_with_covariance);
+ get_pose_covariance_marker_ptr(object.kinematics.pose_with_covariance);
if (pose_with_covariance_marker) {
- auto pose_with_covariance_marker_ptr = pose_with_covariance_marker.value();
- pose_with_covariance_marker_ptr->header = msg->header;
- pose_with_covariance_marker_ptr->id = uuid_to_marker_id(object.object_id);
- add_marker(pose_with_covariance_marker_ptr);
+ auto marker_ptr = pose_with_covariance_marker.value();
+ marker_ptr->header = msg->header;
+ marker_ptr->id = uuid_to_marker_id(object.object_id);
+ add_marker(marker_ptr);
+ }
+
+ // Get marker for yaw covariance
+ auto yaw_covariance_marker = get_yaw_covariance_marker_ptr(
+ object.kinematics.pose_with_covariance, object.shape.dimensions.x * 0.65,
+ get_line_width() * 0.5);
+ if (yaw_covariance_marker) {
+ auto marker_ptr = yaw_covariance_marker.value();
+ marker_ptr->header = msg->header;
+ marker_ptr->id = uuid_to_marker_id(object.object_id);
+ add_marker(marker_ptr);
}
+ // Get marker for existence probability
+ geometry_msgs::msg::Point existence_probability_position;
+ existence_probability_position.x = object.kinematics.pose_with_covariance.pose.position.x + 0.5;
+ existence_probability_position.y = object.kinematics.pose_with_covariance.pose.position.y;
+ existence_probability_position.z = object.kinematics.pose_with_covariance.pose.position.z + 0.5;
+ const float existence_probability = object.existence_probability;
+ auto existence_prob_marker = get_existence_probability_marker_ptr(
+ existence_probability_position, object.kinematics.pose_with_covariance.pose.orientation,
+ existence_probability, object.classification);
+ if (existence_prob_marker) {
+ auto existence_prob_marker_ptr = existence_prob_marker.value();
+ existence_prob_marker_ptr->header = msg->header;
+ existence_prob_marker_ptr->id = uuid_to_marker_id(object.object_id);
+ add_marker(existence_prob_marker_ptr);
+ }
// Get marker for velocity text
geometry_msgs::msg::Point vel_vis_position;
vel_vis_position.x = uuid_vis_position.x - 0.5;
@@ -113,13 +162,46 @@ void TrackedObjectsDisplay::processMessage(TrackedObjects::ConstSharedPtr msg)
// Get marker for twist
auto twist_marker = get_twist_marker_ptr(
- object.kinematics.pose_with_covariance, object.kinematics.twist_with_covariance);
+ object.kinematics.pose_with_covariance, object.kinematics.twist_with_covariance,
+ get_line_width());
if (twist_marker) {
auto twist_marker_ptr = twist_marker.value();
twist_marker_ptr->header = msg->header;
twist_marker_ptr->id = uuid_to_marker_id(object.object_id);
add_marker(twist_marker_ptr);
}
+
+ // Get marker for twist covariance
+ auto twist_covariance_marker = get_twist_covariance_marker_ptr(
+ object.kinematics.pose_with_covariance, object.kinematics.twist_with_covariance);
+ if (twist_covariance_marker) {
+ auto marker_ptr = twist_covariance_marker.value();
+ marker_ptr->header = msg->header;
+ marker_ptr->id = uuid_to_marker_id(object.object_id);
+ add_marker(marker_ptr);
+ }
+
+ // Get marker for yaw rate
+ auto yaw_rate_marker = get_yaw_rate_marker_ptr(
+ object.kinematics.pose_with_covariance, object.kinematics.twist_with_covariance,
+ get_line_width() * 0.4);
+ if (yaw_rate_marker) {
+ auto marker_ptr = yaw_rate_marker.value();
+ marker_ptr->header = msg->header;
+ marker_ptr->id = uuid_to_marker_id(object.object_id);
+ add_marker(marker_ptr);
+ }
+
+ // Get marker for twist covariance
+ auto yaw_rate_covariance_marker = get_yaw_rate_covariance_marker_ptr(
+ object.kinematics.pose_with_covariance, object.kinematics.twist_with_covariance,
+ get_line_width() * 0.5);
+ if (yaw_rate_covariance_marker) {
+ auto marker_ptr = yaw_rate_covariance_marker.value();
+ marker_ptr->header = msg->header;
+ marker_ptr->id = uuid_to_marker_id(object.object_id);
+ add_marker(marker_ptr);
+ }
}
}
diff --git a/common/autoware_auto_tf2/include/autoware_auto_tf2/tf2_autoware_auto_msgs.hpp b/common/autoware_auto_tf2/include/autoware_auto_tf2/tf2_autoware_auto_msgs.hpp
index b35eb6e93ce6e..50c16ba8eaf7d 100644
--- a/common/autoware_auto_tf2/include/autoware_auto_tf2/tf2_autoware_auto_msgs.hpp
+++ b/common/autoware_auto_tf2/include/autoware_auto_tf2/tf2_autoware_auto_msgs.hpp
@@ -17,7 +17,7 @@
#ifndef AUTOWARE_AUTO_TF2__TF2_AUTOWARE_AUTO_MSGS_HPP_
#define AUTOWARE_AUTO_TF2__TF2_AUTOWARE_AUTO_MSGS_HPP_
-#include
+#include
#include
#include
diff --git a/common/component_interface_specs/package.xml b/common/component_interface_specs/package.xml
index 93f77c651869d..67279d0ae2b7f 100644
--- a/common/component_interface_specs/package.xml
+++ b/common/component_interface_specs/package.xml
@@ -5,8 +5,6 @@
0.0.0
The component_interface_specs package
Takagi, Isamu
- yabuta
- Kah Hooi Tan
Yukihiro Saito
Apache License 2.0
diff --git a/common/component_interface_tools/package.xml b/common/component_interface_tools/package.xml
index ebf0684d0066c..cff1829473e86 100644
--- a/common/component_interface_tools/package.xml
+++ b/common/component_interface_tools/package.xml
@@ -5,8 +5,6 @@
0.1.0
The component_interface_tools package
Takagi, Isamu
- yabuta
- Kah Hooi Tan
Apache License 2.0
ament_cmake_auto
diff --git a/common/component_interface_utils/include/component_interface_utils/rclcpp/interface.hpp b/common/component_interface_utils/include/component_interface_utils/rclcpp/interface.hpp
index bc48e2a0294e0..97f46933f2fe6 100644
--- a/common/component_interface_utils/include/component_interface_utils/rclcpp/interface.hpp
+++ b/common/component_interface_utils/include/component_interface_utils/rclcpp/interface.hpp
@@ -52,7 +52,7 @@ struct NodeInterface
{ServiceLog::CLIENT_RESPONSE, "client exit"},
{ServiceLog::ERROR_UNREADY, "client unready"},
{ServiceLog::ERROR_TIMEOUT, "client timeout"}});
- RCLCPP_INFO_STREAM(node->get_logger(), type_text.at(type) << ": " << name);
+ RCLCPP_DEBUG_STREAM(node->get_logger(), type_text.at(type) << ": " << name);
ServiceLog msg;
msg.stamp = node->now();
diff --git a/common/component_interface_utils/package.xml b/common/component_interface_utils/package.xml
index dc82fda3f5c64..7a6a6d12880ad 100755
--- a/common/component_interface_utils/package.xml
+++ b/common/component_interface_utils/package.xml
@@ -5,8 +5,6 @@
0.0.0
The component_interface_utils package
Takagi, Isamu
- yabuta
- Kah Hooi Tan
Yukihiro Saito
Apache License 2.0
diff --git a/common/fake_test_node/test/test_fake_test_node.cpp b/common/fake_test_node/test/test_fake_test_node.cpp
index d66d0fed3033c..e065f332b75e4 100644
--- a/common/fake_test_node/test/test_fake_test_node.cpp
+++ b/common/fake_test_node/test/test_fake_test_node.cpp
@@ -17,7 +17,7 @@
/// \copyright Copyright 2021 Apex.AI, Inc.
/// All rights reserved.
-#include
+#include
#include
#include
diff --git a/common/geography_utils/src/lanelet2_projector.cpp b/common/geography_utils/src/lanelet2_projector.cpp
index 3e982ac2ccf4d..532606248cd1f 100644
--- a/common/geography_utils/src/lanelet2_projector.cpp
+++ b/common/geography_utils/src/lanelet2_projector.cpp
@@ -34,6 +34,7 @@ std::unique_ptr get_lanelet2_projector(const MapProjectorInf
} else if (projector_info.projector_type == MapProjectorInfo::MGRS) {
lanelet::projection::MGRSProjector projector{};
+ projector.setMGRSCode(projector_info.mgrs_grid);
return std::make_unique(projector);
} else if (projector_info.projector_type == MapProjectorInfo::TRANSVERSE_MERCATOR) {
diff --git a/common/interpolation/include/interpolation/spherical_linear_interpolation.hpp b/common/interpolation/include/interpolation/spherical_linear_interpolation.hpp
index 516b3ab09e8b7..8c1d49fb5f607 100644
--- a/common/interpolation/include/interpolation/spherical_linear_interpolation.hpp
+++ b/common/interpolation/include/interpolation/spherical_linear_interpolation.hpp
@@ -39,6 +39,10 @@ std::vector slerp(
const std::vector & base_keys,
const std::vector & base_values,
const std::vector & query_keys);
+
+geometry_msgs::msg::Quaternion lerpOrientation(
+ const geometry_msgs::msg::Quaternion & o_from, const geometry_msgs::msg::Quaternion & o_to,
+ const double ratio);
} // namespace interpolation
#endif // INTERPOLATION__SPHERICAL_LINEAR_INTERPOLATION_HPP_
diff --git a/common/interpolation/src/spherical_linear_interpolation.cpp b/common/interpolation/src/spherical_linear_interpolation.cpp
index c3595d212f349..e44626498a80b 100644
--- a/common/interpolation/src/spherical_linear_interpolation.cpp
+++ b/common/interpolation/src/spherical_linear_interpolation.cpp
@@ -57,4 +57,15 @@ std::vector slerp(
return query_values;
}
+geometry_msgs::msg::Quaternion lerpOrientation(
+ const geometry_msgs::msg::Quaternion & o_from, const geometry_msgs::msg::Quaternion & o_to,
+ const double ratio)
+{
+ tf2::Quaternion q_from, q_to;
+ tf2::fromMsg(o_from, q_from);
+ tf2::fromMsg(o_to, q_to);
+
+ const auto q_interpolated = q_from.slerp(q_to, ratio);
+ return tf2::toMsg(q_interpolated);
+}
} // namespace interpolation
diff --git a/common/motion_utils/CMakeLists.txt b/common/motion_utils/CMakeLists.txt
index 43c8158b2f98b..f42deaa7f8c41 100644
--- a/common/motion_utils/CMakeLists.txt
+++ b/common/motion_utils/CMakeLists.txt
@@ -14,7 +14,7 @@ ament_auto_add_library(motion_utils SHARED
src/trajectory/trajectory.cpp
src/trajectory/interpolation.cpp
src/trajectory/path_with_lane_id.cpp
- src/trajectory/tmp_conversion.cpp
+ src/trajectory/conversion.cpp
src/vehicle/vehicle_state_checker.cpp
)
diff --git a/common/motion_utils/include/motion_utils/marker/virtual_wall_marker_creator.hpp b/common/motion_utils/include/motion_utils/marker/virtual_wall_marker_creator.hpp
index 95bbcd93e30df..be5a70ed7ffc9 100644
--- a/common/motion_utils/include/motion_utils/marker/virtual_wall_marker_creator.hpp
+++ b/common/motion_utils/include/motion_utils/marker/virtual_wall_marker_creator.hpp
@@ -20,9 +20,11 @@
#include
#include
+#include
#include
#include
#include
+
namespace motion_utils
{
@@ -38,7 +40,7 @@ struct VirtualWall
double longitudinal_offset{};
bool is_driving_forward{true};
};
-typedef std::vector VirtualWalls;
+using VirtualWalls = std::vector;
/// @brief class to manage the creation of virtual wall markers
/// @details creates both ADD and DELETE markers
@@ -55,8 +57,8 @@ class VirtualWallMarkerCreator
const rclcpp::Time & now, const int32_t id, const double longitudinal_offset,
const std::string & ns_prefix, const bool is_driving_forward)>;
- VirtualWalls virtual_walls;
- std::unordered_map marker_count_per_namespace;
+ VirtualWalls virtual_walls_;
+ std::unordered_map marker_count_per_namespace_;
/// @brief internal cleanup: clear the stored markers and remove unused namespace from the map
void cleanup();
diff --git a/common/motion_utils/include/motion_utils/resample/resample.hpp b/common/motion_utils/include/motion_utils/resample/resample.hpp
index 106ed32b18576..258386ca236a3 100644
--- a/common/motion_utils/include/motion_utils/resample/resample.hpp
+++ b/common/motion_utils/include/motion_utils/resample/resample.hpp
@@ -15,13 +15,10 @@
#ifndef MOTION_UTILS__RESAMPLE__RESAMPLE_HPP_
#define MOTION_UTILS__RESAMPLE__RESAMPLE_HPP_
-#include "autoware_auto_planning_msgs/msg/path.hpp"
-#include "autoware_auto_planning_msgs/msg/path_with_lane_id.hpp"
-#include "autoware_auto_planning_msgs/msg/trajectory.hpp"
+#include "autoware_auto_planning_msgs/msg/detail/path__struct.hpp"
+#include "autoware_auto_planning_msgs/msg/detail/path_with_lane_id__struct.hpp"
+#include "autoware_auto_planning_msgs/msg/detail/trajectory__struct.hpp"
-#include
-#include
-#include
#include
namespace motion_utils
@@ -187,7 +184,8 @@ autoware_auto_planning_msgs::msg::Path resamplePath(
autoware_auto_planning_msgs::msg::Path resamplePath(
const autoware_auto_planning_msgs::msg::Path & input_path, const double resample_interval,
const bool use_akima_spline_for_xy = false, const bool use_lerp_for_z = true,
- const bool use_zero_order_hold_for_v = true, const bool resample_input_path_stop_point = true);
+ const bool use_zero_order_hold_for_twist = true,
+ const bool resample_input_path_stop_point = true);
/**
* @brief A resampling function for a trajectory. Note that in a default setting, position xy are
diff --git a/common/motion_utils/include/motion_utils/resample/resample_utils.hpp b/common/motion_utils/include/motion_utils/resample/resample_utils.hpp
index 1e4d0d633325e..8bb5f13e3fb78 100644
--- a/common/motion_utils/include/motion_utils/resample/resample_utils.hpp
+++ b/common/motion_utils/include/motion_utils/resample/resample_utils.hpp
@@ -15,6 +15,8 @@
#ifndef MOTION_UTILS__RESAMPLE__RESAMPLE_UTILS_HPP_
#define MOTION_UTILS__RESAMPLE__RESAMPLE_UTILS_HPP_
+#include "tier4_autoware_utils/system/backtrace.hpp"
+
#include
#include
#include
@@ -23,26 +25,21 @@
namespace resample_utils
{
-constexpr double CLOSE_S_THRESHOLD = 1e-6;
+constexpr double close_s_threshold = 1e-6;
+
+#define log_error(message) std::cerr << "\033[31m " << message << " \033[0m" << std::endl;
template
bool validate_size(const T & points)
{
- if (points.size() < 2) {
- return false;
- }
- return true;
+ return points.size() >= 2;
}
template
bool validate_resampling_range(const T & points, const std::vector & resampling_intervals)
{
const double points_length = motion_utils::calcArcLength(points);
- if (points_length < resampling_intervals.back()) {
- return false;
- }
-
- return true;
+ return points_length >= resampling_intervals.back();
}
template
@@ -52,7 +49,7 @@ bool validate_points_duplication(const T & points)
const auto & curr_pt = tier4_autoware_utils::getPoint(points.at(i));
const auto & next_pt = tier4_autoware_utils::getPoint(points.at(i + 1));
const double ds = tier4_autoware_utils::calcDistance2d(curr_pt, next_pt);
- if (ds < CLOSE_S_THRESHOLD) {
+ if (ds < close_s_threshold) {
return false;
}
}
@@ -65,22 +62,28 @@ bool validate_arguments(const T & input_points, const std::vector