Skip to content

Commit b34c1a1

Browse files
Merge pull request #1557 from tier4/beta-to-tier4-main-sync
chore: sync beta branch beta/v0.35 with tier4/main
2 parents 8f3ef69 + 554ce6d commit b34c1a1

File tree

493 files changed

+8921
-7479
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

493 files changed

+8921
-7479
lines changed

.github/CODEOWNERS

+8-11
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,18 @@ common/autoware_point_types/** david.wong@tier4.jp max.schmeller@tier4.jp
1313
common/autoware_test_utils/** kyoichi.sugahara@tier4.jp mamoru.sobue@tier4.jp takamasa.horibe@tier4.jp zulfaqar.azmi@tier4.jp
1414
common/autoware_testing/** adam.dabrowski@robotec.ai satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp tomoya.kimura@tier4.jp
1515
common/autoware_universe_utils/** mamoru.sobue@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp
16+
common/autoware_vehicle_info_utils/** shumpei.wakabayashi@tier4.jp taiki.tanaka@tier4.jp tomoya.kimura@tier4.jp
1617
common/bag_time_manager_rviz_plugin/** taiki.tanaka@tier4.jp
1718
common/component_interface_specs/** isamu.takagi@tier4.jp yukihiro.saito@tier4.jp
1819
common/component_interface_tools/** isamu.takagi@tier4.jp
1920
common/component_interface_utils/** isamu.takagi@tier4.jp yukihiro.saito@tier4.jp
20-
common/cuda_utils/** daisuke.nishimatsu@tier4.jp manato.hirabayashi@tier4.jp
2121
common/fake_test_node/** opensource@apex.ai satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp tomoya.kimura@tier4.jp
2222
common/global_parameter_loader/** ryohsuke.mitsudome@tier4.jp
2323
common/glog_component/** takamasa.horibe@tier4.jp
2424
common/goal_distance_calculator/** taiki.tanaka@tier4.jp
2525
common/interpolation/** fumiya.watanabe@tier4.jp takayuki.murooka@tier4.jp
2626
common/object_recognition_utils/** shunsuke.miura@tier4.jp takayuki.murooka@tier4.jp yoshi.ri@tier4.jp
2727
common/osqp_interface/** fumiya.watanabe@tier4.jp maxime.clement@tier4.jp satoshi.ota@tier4.jp takayuki.murooka@tier4.jp
28-
common/perception_utils/** shunsuke.miura@tier4.jp yoshi.ri@tier4.jp
2928
common/polar_grid/** yukihiro.saito@tier4.jp
3029
common/qp_interface/** fumiya.watanabe@tier4.jp maxime.clement@tier4.jp satoshi.ota@tier4.jp takayuki.murooka@tier4.jp
3130
common/signal_processing/** ali.boyali@tier4.jp fumiya.watanabe@tier4.jp kyoichi.sugahara@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp
@@ -35,7 +34,6 @@ common/tier4_api_utils/** isamu.takagi@tier4.jp
3534
common/tier4_camera_view_rviz_plugin/** makoto.ybauta@tier4.jp uken.ryu@tier4.jp
3635
common/tier4_datetime_rviz_plugin/** isamu.takagi@tier4.jp
3736
common/tier4_localization_rviz_plugin/** isamu.takagi@tier4.jp takamasa.horibe@tier4.jp yamato.ando@tier4.jp
38-
common/tier4_perception_rviz_plugin/** yukihiro.saito@tier4.jp
3937
common/tier4_planning_rviz_plugin/** takayuki.murooka@tier4.jp yukihiro.saito@tier4.jp
4038
common/tier4_state_rviz_plugin/** hiroki.ota@tier4.jp isamu.takagi@tier4.jp khalil@leodrive.ai
4139
common/tier4_system_rviz_plugin/** koji.minoda@tier4.jp
@@ -62,7 +60,7 @@ control/autoware_vehicle_cmd_gate/** takamasa.horibe@tier4.jp tomoya.kimura@tier
6260
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
6361
control/obstacle_collision_checker/** 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
6462
control/predicted_path_checker/** berkay@leodrive.ai
65-
evaluator/autoware_control_evaluator/** daniel.sanchez@tier4.jp takayuki.murooka@tier4.jp
63+
evaluator/autoware_control_evaluator/** daniel.sanchez@tier4.jp kosuke.takeuchi@tier4.jp takayuki.murooka@tier4.jp temkei.kem@tier4.jp
6664
evaluator/autoware_evaluator_utils/** daniel.sanchez@tier4.jp takayuki.murooka@tier4.jp
6765
evaluator/autoware_planning_evaluator/** kyoichi.sugahara@tier4.jp maxime.clement@tier4.jp
6866
evaluator/diagnostic_converter/** kyoichi.sugahara@tier4.jp maxime.clement@tier4.jp takamasa.horibe@tier4.jp
@@ -79,6 +77,7 @@ launch/tier4_sensing_launch/** yukihiro.saito@tier4.jp
7977
launch/tier4_simulator_launch/** keisuke.shima@tier4.jp taiki.tanaka@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp tomoya.kimura@tier4.jp
8078
launch/tier4_system_launch/** fumihito.ito@tier4.jp tetsuhiro.kawaguchi@tier4.jp
8179
launch/tier4_vehicle_launch/** yukihiro.saito@tier4.jp
80+
localization/autoware_ekf_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 takamasa.horibe@tier4.jp takeshi.ishita@tier4.jp yamato.ando@tier4.jp
8281
localization/autoware_geo_pose_projector/** 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
8382
localization/autoware_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
8483
localization/autoware_landmark_based_localizer/autoware_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
@@ -88,13 +87,12 @@ localization/autoware_localization_error_monitor/** anh.nguyen.2@tier4.jp kento.
8887
localization/autoware_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
8988
localization/autoware_pose_covariance_modifier/** melike@leodrive.ai
9089
localization/autoware_pose_estimator_arbiter/** 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
90+
localization/autoware_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
9191
localization/autoware_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
9292
localization/autoware_stop_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
9393
localization/autoware_twist2accel/** 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
94-
localization/ekf_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 takamasa.horibe@tier4.jp takeshi.ishita@tier4.jp yamato.ando@tier4.jp
9594
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
9695
localization/ndt_scan_matcher/** 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
97-
localization/autoware_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
9896
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
9997
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
10098
localization/yabloc/yabloc_monitor/** 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
@@ -104,7 +102,6 @@ map/autoware_map_height_fitter/** anh.nguyen.2@tier4.jp isamu.takagi@tier4.jp ke
104102
map/autoware_map_projection_loader/** 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
105103
map/autoware_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
106104
map/map_loader/** 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
107-
map/util/lanelet2_map_preprocessor/** 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
108105
perception/autoware_bytetrack/** manato.hirabayashi@tier4.jp yoshi.ri@tier4.jp
109106
perception/autoware_cluster_merger/** dai.nguyen@tier4.jp shunsuke.miura@tier4.jp yukihiro.saito@tier4.jp
110107
perception/autoware_compare_map_segmentation/** abrahammonrroy@yahoo.com dai.nguyen@tier4.jp yukihiro.saito@tier4.jp
@@ -144,6 +141,7 @@ perception/autoware_traffic_light_map_based_detector/** shunsuke.miura@tier4.jp
144141
perception/autoware_traffic_light_multi_camera_fusion/** shunsuke.miura@tier4.jp tao.zhong@tier4.jp
145142
perception/autoware_traffic_light_occlusion_predictor/** shunsuke.miura@tier4.jp tao.zhong@tier4.jp
146143
perception/autoware_traffic_light_visualization/** tao.zhong@tier4.jp yukihiro.saito@tier4.jp
144+
perception/perception_utils/** shunsuke.miura@tier4.jp yoshi.ri@tier4.jp
147145
planning/autoware_costmap_generator/** kosuke.takeuchi@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp
148146
planning/autoware_external_velocity_limit_selector/** satoshi.ota@tier4.jp shinnosuke.hirakawa@tier4.jp shumpei.wakabayashi@tier4.jp tomohito.ando@tier4.jp tomoya.kimura@tier4.jp
149147
planning/autoware_freespace_planner/** kosuke.takeuchi@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp
@@ -210,15 +208,17 @@ sensing/autoware_radar_scan_to_pointcloud2/** satoshi.tanaka@tier4.jp shunsuke.m
210208
sensing/autoware_radar_static_pointcloud_filter/** satoshi.tanaka@tier4.jp shunsuke.miura@tier4.jp taekjin.lee@tier4.jp yoshi.ri@tier4.jp
211209
sensing/autoware_radar_threshold_filter/** satoshi.tanaka@tier4.jp shunsuke.miura@tier4.jp taekjin.lee@tier4.jp yoshi.ri@tier4.jp
212210
sensing/autoware_radar_tracks_noise_filter/** satoshi.tanaka@tier4.jp shunsuke.miura@tier4.jp taekjin.lee@tier4.jp yoshi.ri@tier4.jp
211+
sensing/cuda_utils/** daisuke.nishimatsu@tier4.jp manato.hirabayashi@tier4.jp
213212
sensing/livox/autoware_livox_tag_filter/** kenzo.lobos@tier4.jp ryohsuke.mitsudome@tier4.jp
214213
sensing/vehicle_velocity_converter/** ryu.yamamoto@tier4.jp
215214
simulator/autoware_carla_interface/** maxime.clement@tier4.jp mradityagio@gmail.com
216215
simulator/dummy_perception_publisher/** yukihiro.saito@tier4.jp
217216
simulator/fault_injection/** keisuke.shima@tier4.jp
218217
simulator/learning_based_vehicle_model/** maxime.clement@tier4.jp nagy.tomas@tier4.jp
219218
simulator/simple_planning_simulator/** mamoru.sobue@tier4.jp maxime.clement@tier4.jp takamasa.horibe@tier4.jp temkei.kem@tier4.jp tomoya.kimura@tier4.jp zulfaqar.azmi@tier4.jp
219+
simulator/tier4_dummy_object_rviz_plugin/** yukihiro.saito@tier4.jp
220220
simulator/vehicle_door_simulator/** isamu.takagi@tier4.jp
221-
system/autoware_component_monitor/** memin@leodrive.ai
221+
system/autoware_component_monitor/** baris@leodrive.ai memin@leodrive.ai yavuz@leodrive.ai
222222
system/autoware_default_adapi/** isamu.takagi@tier4.jp ryohsuke.mitsudome@tier4.jp yukihiro.saito@tier4.jp
223223
system/autoware_processing_time_checker/** kosuke.takeuchi@tier4.jp takayuki.murooka@tier4.jp
224224
system/bluetooth_monitor/** fumihito.ito@tier4.jp
@@ -231,13 +231,11 @@ system/diagnostic_graph_utils/** isamu.takagi@tier4.jp
231231
system/dummy_diag_publisher/** fumihito.ito@tier4.jp tetsuhiro.kawaguchi@tier4.jp
232232
system/dummy_infrastructure/** ryohsuke.mitsudome@tier4.jp
233233
system/duplicated_node_checker/** mamoru.sobue@tier4.jp shumpei.wakabayashi@tier4.jp uken.ryu@tier4.jp
234-
system/emergency_handler/** makoto.kurihara@tier4.jp ryuta.kambe@tier4.jp tetsuhiro.kawaguchi@tier4.jp
235234
system/hazard_status_converter/** isamu.takagi@tier4.jp
236235
system/mrm_comfortable_stop_operator/** makoto.kurihara@tier4.jp tomohito.ando@tier4.jp
237236
system/mrm_emergency_stop_operator/** makoto.kurihara@tier4.jp tomohito.ando@tier4.jp
238237
system/mrm_handler/** makoto.kurihara@tier4.jp ryuta.kambe@tier4.jp tetsuhiro.kawaguchi@tier4.jp
239238
system/system_diagnostic_monitor/** isamu.takagi@tier4.jp
240-
system/system_error_monitor/** fumihito.ito@tier4.jp
241239
system/system_monitor/** fumihito.ito@tier4.jp tetsuhiro.kawaguchi@tier4.jp
242240
system/topic_state_monitor/** ryohsuke.mitsudome@tier4.jp
243241
system/velodyne_monitor/** fumihito.ito@tier4.jp
@@ -246,6 +244,5 @@ vehicle/autoware_accel_brake_map_calibrator/** eiki.nagata.2@tier4.jp taiki.tana
246244
vehicle/autoware_external_cmd_converter/** eiki.nagata.2@tier4.jp takamasa.horibe@tier4.jp
247245
vehicle/autoware_raw_vehicle_cmd_converter/** kosuke.takeuchi@tier4.jp kyoichi.sugahara@tier4.jp makoto.kurihara@tier4.jp sho.iwasawa.2@tier4.jp taiki.tanaka@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp
248246
vehicle/autoware_steer_offset_estimator/** taiki.tanaka@tier4.jp
249-
vehicle/autoware_vehicle_info_utils/** shumpei.wakabayashi@tier4.jp taiki.tanaka@tier4.jp tomoya.kimura@tier4.jp
250247

251248
### Copied from .github/CODEOWNERS-manual ###

.github/workflows/cppcheck-differential.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ jobs:
8585
8686
- name: Upload Cppcheck report
8787
if: ${{ steps.filter-paths-no-cpp-files.outputs.filtered-full-paths != '' }}
88-
uses: actions/upload-artifact@v2
88+
uses: actions/upload-artifact@v4
8989
with:
9090
name: cppcheck-report
9191
path: cppcheck-report.txt

.github/workflows/cppcheck-weekly.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
shell: bash
3838

3939
- name: Upload Cppcheck report
40-
uses: actions/upload-artifact@v2
40+
uses: actions/upload-artifact@v4
4141
with:
4242
name: cppcheck-report
4343
path: cppcheck-report.xml

.pre-commit-config.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ repos:
3434
- id: yamllint
3535

3636
- repo: https://github.com/tier4/pre-commit-hooks-ros
37-
rev: v0.9.0
37+
rev: v0.10.0
3838
hooks:
3939
- id: flake8-ros
4040
- id: prettier-xacro
@@ -49,7 +49,7 @@ repos:
4949
- id: shellcheck
5050

5151
- repo: https://github.com/scop/pre-commit-shfmt
52-
rev: v3.8.0-1
52+
rev: v3.9.0-1
5353
hooks:
5454
- id: shfmt
5555
args: [-w, -s, -i=4]
@@ -60,7 +60,7 @@ repos:
6060
- id: isort
6161

6262
- repo: https://github.com/psf/black
63-
rev: 24.4.2
63+
rev: 24.8.0
6464
hooks:
6565
- id: black
6666
args: [--line-length=100]
@@ -79,7 +79,7 @@ repos:
7979
exclude: .cu
8080

8181
- repo: https://github.com/python-jsonschema/check-jsonschema
82-
rev: 0.28.6
82+
rev: 0.29.2
8383
hooks:
8484
- id: check-metaschema
8585
files: ^.+/schema/.*schema\.json$

build_depends.repos

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ repositories:
1616
core/autoware_lanelet2_extension:
1717
type: git
1818
url: https://github.com/autowarefoundation/autoware_lanelet2_extension.git
19-
version: 0.5.0
19+
version: 0.6.1
2020
core/autoware.core:
2121
type: git
2222
url: https://github.com/autowarefoundation/autoware.core.git

common/.pages

-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ nav:
4141
- 'tier4_camera_view_rviz_plugin': common/tier4_camera_view_rviz_plugin
4242
- 'tier4_datetime_rviz_plugin': common/tier4_datetime_rviz_plugin
4343
- 'tier4_localization_rviz_plugin': common/tier4_localization_rviz_plugin
44-
- 'tier4_perception_rviz_plugin': common/tier4_perception_rviz_plugin
4544
- 'tier4_planning_rviz_plugin': common/tier4_planning_rviz_plugin
4645
- 'tier4_state_rviz_plugin': common/tier4_state_rviz_plugin
4746
- 'tier4_system_rviz_plugin': common/tier4_system_rviz_plugin

common/autoware_motion_utils/README.md

-13
Original file line numberDiff line numberDiff line change
@@ -97,19 +97,6 @@ const size_t traffic_obj_nearest_idx = findNearestIndexFromLaneId(path_with_lane
9797
const size_t traffic_obj_nearest_seg_idx = findNearestSegmentIndexFromLaneId(path_with_lane_id, traffic_obj_pos, lane_id);
9898
```
9999

100-
## Path/Trajectory length calculation between designated points
101-
102-
Based on the discussion so far, the nearest index search algorithm is different depending on the object type.
103-
Therefore, we recommended using the wrapper utility functions which require the nearest index search (e.g., calculating the path length) with each nearest index search.
104-
105-
For example, when we want to calculate the path length between the ego and the dynamic object, the implementation is as follows.
106-
107-
```cpp
108-
const size_t ego_nearest_seg_idx = findFirstNearestSegmentIndex(points, ego_pose, ego_nearest_dist_threshold, ego_nearest_yaw_threshold);
109-
const size_t dyn_obj_nearest_seg_idx = findFirstNearestSegmentIndex(points, dyn_obj_pose, dyn_obj_nearest_dist_threshold);
110-
const double length_from_ego_to_obj = calcSignedArcLength(points, ego_pose, ego_nearest_seg_idx, dyn_obj_pose, dyn_obj_nearest_seg_idx);
111-
```
112-
113100
## For developers
114101

115102
Some of the template functions in `trajectory.hpp` are mostly used for specific types (`autoware_planning_msgs::msg::PathPoint`, `autoware_planning_msgs::msg::PathPoint`, `autoware_planning_msgs::msg::TrajectoryPoint`), so they are exported as `extern template` functions to speed-up compilation time.

common/autoware_motion_utils/src/resample/resample.cpp

+17
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
#include "interpolation/spline_interpolation.hpp"
2222
#include "interpolation/zero_order_hold.hpp"
2323

24+
#include <cstdlib>
25+
2426
namespace autoware::motion_utils
2527
{
2628
std::vector<geometry_msgs::msg::Point> resamplePointVector(
@@ -601,11 +603,13 @@ autoware_planning_msgs::msg::Trajectory resampleTrajectory(
601603
rear_wheel_angle.push_back(input_trajectory.points.front().rear_wheel_angle_rad);
602604
time_from_start.push_back(
603605
rclcpp::Duration(input_trajectory.points.front().time_from_start).seconds());
606+
604607
for (size_t i = 1; i < input_trajectory.points.size(); ++i) {
605608
const auto & prev_pt = input_trajectory.points.at(i - 1);
606609
const auto & curr_pt = input_trajectory.points.at(i);
607610
const double ds =
608611
autoware::universe_utils::calcDistance2d(prev_pt.pose.position, curr_pt.pose.position);
612+
609613
input_arclength.push_back(ds + input_arclength.back());
610614
input_pose.push_back(curr_pt.pose);
611615
v_lon.push_back(curr_pt.longitudinal_velocity_mps);
@@ -617,6 +621,19 @@ autoware_planning_msgs::msg::Trajectory resampleTrajectory(
617621
time_from_start.push_back(rclcpp::Duration(curr_pt.time_from_start).seconds());
618622
}
619623

624+
// Set Zero Velocity After Stop Point
625+
// If the longitudinal velocity is zero, set the velocity to zero after that point.
626+
bool stop_point_found_in_v_lon = false;
627+
constexpr double epsilon = 1e-4;
628+
for (size_t i = 0; i < v_lon.size(); ++i) {
629+
if (std::abs(v_lon.at(i)) < epsilon) {
630+
stop_point_found_in_v_lon = true;
631+
}
632+
if (stop_point_found_in_v_lon) {
633+
v_lon.at(i) = 0.0;
634+
}
635+
}
636+
620637
// Interpolate
621638
const auto lerp = [&](const auto & input) {
622639
return interpolation::lerp(input_arclength, input, resampled_arclength);

0 commit comments

Comments
 (0)