Skip to content

Commit 0705397

Browse files
authored
Merge branch 'main' into feature/parallel_ndt_build
2 parents ca05df7 + c3199b7 commit 0705397

File tree

91 files changed

+3264
-403
lines changed

Some content is hidden

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

91 files changed

+3264
-403
lines changed

.github/CODEOWNERS

+22-18
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
### Copied from .github/CODEOWNERS-manual ###
2-
31
### Automatically generated from package.xml ###
42
common/autoware_ad_api_specs/** isamu.takagi@tier4.jp ryohsuke.mitsudome@tier4.jp
53
common/autoware_auto_common/** opensource@apex.ai satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp tomoya.kimura@tier4.jp
@@ -23,6 +21,7 @@ common/goal_distance_calculator/** taiki.tanaka@tier4.jp
2321
common/grid_map_utils/** maxime.clement@tier4.jp
2422
common/interpolation/** fumiya.watanabe@tier4.jp takayuki.murooka@tier4.jp
2523
common/kalman_filter/** koji.minoda@tier4.jp takeshi.ishita@tier4.jp yukihiro.saito@tier4.jp
24+
common/mission_planner_rviz_plugin/** isamu.takagi@tier4.jp
2625
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
2726
common/object_recognition_utils/** satoshi.tanaka@tier4.jp shunsuke.miura@tier4.jp takayuki.murooka@tier4.jp yoshi.ri@tier4.jp
2827
common/osqp_interface/** fumiya.watanabe@tier4.jp maxime.clement@tier4.jp satoshi.ota@tier4.jp takayuki.murooka@tier4.jp
@@ -32,7 +31,7 @@ common/polar_grid/** yukihiro.saito@tier4.jp
3231
common/qp_interface/** fumiya.watanabe@tier4.jp maxime.clement@tier4.jp satoshi.ota@tier4.jp takayuki.murooka@tier4.jp
3332
common/rtc_manager_rviz_plugin/** taiki.tanaka@tier4.jp tomoya.kimura@tier4.jp
3433
common/signal_processing/** ali.boyali@tier4.jp fumiya.watanabe@tier4.jp kyoichi.sugahara@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp
35-
common/tensorrt_common/** daisuke.nishimatsu@tier4.jp dan.umeda@tier4.jp manato.hirabayashi@tier4.jp
34+
common/tensorrt_common/** dan.umeda@tier4.jp manato.hirabayashi@tier4.jp
3635
common/tier4_adapi_rviz_plugin/** hiroki.ota@tier4.jp isamu.takagi@tier4.jp kosuke.takeuchi@tier4.jp
3736
common/tier4_api_utils/** isamu.takagi@tier4.jp
3837
common/tier4_automatic_goal_rviz_plugin/** dawid.moszynski@robotec.ai kyoichi.sugahara@tier4.jp satoshi.ota@tier4.jp shumpei.wakabayashi@tier4.jp
@@ -55,7 +54,7 @@ common/tier4_traffic_light_rviz_plugin/** satoshi.ota@tier4.jp
5554
common/tier4_vehicle_rviz_plugin/** yukihiro.saito@tier4.jp
5655
common/time_utils/** christopherj.ho@gmail.com shumpei.wakabayashi@tier4.jp tomoya.kimura@tier4.jp
5756
common/traffic_light_recognition_marker_publisher/** shumpei.wakabayashi@tier4.jp takeshi.miura@tier4.jp tomoya.kimura@tier4.jp
58-
common/traffic_light_utils/** mingyu.li@tier4.jp satoshi.ota@tier4.jp shunsuke.miura@tier4.jp
57+
common/traffic_light_utils/** kotaro.uetake@tier4.jp satoshi.ota@tier4.jp shunsuke.miura@tier4.jp
5958
common/tvm_utility/** ambroise.vincent@arm.com xinyu.wang@tier4.jp
6059
control/autonomous_emergency_braking/** mamoru.sobue@tier4.jp takamasa.horibe@tier4.jp tomoya.kimura@tier4.jp
6160
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,6 +75,7 @@ control/vehicle_cmd_gate/** takamasa.horibe@tier4.jp tomoya.kimura@tier4.jp
7675
evaluator/diagnostic_converter/** kyoichi.sugahara@tier4.jp maxime.clement@tier4.jp takamasa.horibe@tier4.jp
7776
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
7877
evaluator/localization_evaluator/** dominik.jargot@robotec.ai koji.minoda@tier4.jp
78+
evaluator/perception_online_evaluator/** fumiya.watanabe@tier4.jp kosuke.takeuchi@tier4.jp kotaro.uetake@tier4.jp kyoichi.sugahara@tier4.jp shunsuke.miura@tier4.jp yoshi.ri@tier4.jp
7979
evaluator/planning_evaluator/** kyoichi.sugahara@tier4.jp maxime.clement@tier4.jp
8080
evaluator/tier4_metrics_rviz_plugin/** kyoichi.sugahara@tier4.jp maxime.clement@tier4.jp satoshi.ota@tier4.jp
8181
launch/tier4_autoware_api_launch/** isamu.takagi@tier4.jp ryohsuke.mitsudome@tier4.jp
@@ -118,9 +118,9 @@ perception/cluster_merger/** dai.nguyen@tier4.jp shunsuke.miura@tier4.jp yukihir
118118
perception/compare_map_segmentation/** abrahammonrroy@yahoo.com dai.nguyen@tier4.jp yukihiro.saito@tier4.jp
119119
perception/crosswalk_traffic_light_estimator/** satoshi.ota@tier4.jp shunsuke.miura@tier4.jp tao.zhong@tier4.jp
120120
perception/detected_object_feature_remover/** tomoya.kimura@tier4.jp
121-
perception/detected_object_validation/** dai.nguyen@tier4.jp shunsuke.miura@tier4.jp yukihiro.saito@tier4.jp
122-
perception/detection_by_tracker/** yoshi.ri@tier4.jp yukihiro.saito@tier4.jp
123-
perception/elevation_map_loader/** kosuke.takeuchi@tier4.jp taichi.higashide@tier4.jp
121+
perception/detected_object_validation/** dai.nguyen@tier4.jp shintaro.tomie@tier4.jp shunsuke.miura@tier4.jp yukihiro.saito@tier4.jp
122+
perception/detection_by_tracker/** taekjin.lee@tier4.jp yoshi.ri@tier4.jp yukihiro.saito@tier4.jp
123+
perception/elevation_map_loader/** kosuke.takeuchi@tier4.jp shintaro.tomie@tier4.jp taichi.higashide@tier4.jp
124124
perception/euclidean_cluster/** yukihiro.saito@tier4.jp
125125
perception/ground_segmentation/** abrahammonrroy@yahoo.com dai.nguyen@tier4.jp shunsuke.miura@tier4.jp yukihiro.saito@tier4.jp
126126
perception/image_projection_based_fusion/** dai.nguyen@tier4.jp koji.minoda@tier4.jp kotaro.uetake@tier4.jp shunsuke.miura@tier4.jp tao.zhong@tier4.jp yoshi.ri@tier4.jp yukihiro.saito@tier4.jp
@@ -130,26 +130,26 @@ perception/lidar_apollo_segmentation_tvm_nodes/** ambroise.vincent@arm.com xinyu
130130
perception/lidar_centerpoint/** kenzo.lobos@tier4.jp koji.minoda@tier4.jp
131131
perception/lidar_centerpoint_tvm/** carl.liu@autocore.ai xinyu.wang@tier4.jp
132132
perception/map_based_prediction/** kotaro.uetake@tier4.jp kyoichi.sugahara@tier4.jp shunsuke.miura@tier4.jp takayuki.murooka@tier4.jp tomoya.kimura@tier4.jp yoshi.ri@tier4.jp
133-
perception/multi_object_tracker/** yoshi.ri@tier4.jp yukihiro.saito@tier4.jp
134-
perception/object_merger/** yoshi.ri@tier4.jp yukihiro.saito@tier4.jp
133+
perception/multi_object_tracker/** taekjin.lee@tier4.jp yoshi.ri@tier4.jp yukihiro.saito@tier4.jp
134+
perception/object_merger/** taekjin.lee@tier4.jp yoshi.ri@tier4.jp yukihiro.saito@tier4.jp
135135
perception/object_range_splitter/** yukihiro.saito@tier4.jp
136136
perception/object_velocity_splitter/** satoshi.tanaka@tier4.jp shunsuke.miura@tier4.jp yoshi.ri@tier4.jp
137137
perception/occupancy_grid_map_outlier_filter/** abrahammonrroy@yahoo.com yoshi.ri@tier4.jp yukihiro.saito@tier4.jp
138138
perception/probabilistic_occupancy_grid_map/** mamoru.sobue@tier4.jp yoshi.ri@tier4.jp yukihiro.saito@tier4.jp
139139
perception/radar_crossing_objects_noise_filter/** satoshi.tanaka@tier4.jp shunsuke.miura@tier4.jp taekjin.lee@tier4.jp yoshi.ri@tier4.jp
140140
perception/radar_fusion_to_detected_object/** satoshi.tanaka@tier4.jp shunsuke.miura@tier4.jp taekjin.lee@tier4.jp yoshi.ri@tier4.jp
141141
perception/radar_object_clustering/** satoshi.tanaka@tier4.jp shunsuke.miura@tier4.jp taekjin.lee@tier4.jp yoshi.ri@tier4.jp
142-
perception/radar_object_tracker/** satoshi.tanaka@tier4.jp yoshi.ri@tier4.jp yukihiro.saito@tier4.jp
142+
perception/radar_object_tracker/** satoshi.tanaka@tier4.jp taekjin.lee@tier4.jp yoshi.ri@tier4.jp yukihiro.saito@tier4.jp
143143
perception/radar_tracks_msgs_converter/** satoshi.tanaka@tier4.jp shunsuke.miura@tier4.jp taekjin.lee@tier4.jp yoshi.ri@tier4.jp
144144
perception/shape_estimation/** yoshi.ri@tier4.jp yukihiro.saito@tier4.jp
145145
perception/simple_object_merger/** satoshi.tanaka@tier4.jp shunsuke.miura@tier4.jp yoshi.ri@tier4.jp
146-
perception/tensorrt_classifier/** mingyu.li@tier4.jp
147-
perception/tensorrt_yolox/** daisuke.nishimatsu@tier4.jp dan.umeda@tier4.jp manato.hirabayashi@tier4.jp
148-
perception/tracking_object_merger/** yoshi.ri@tier4.jp yukihiro.saito@tier4.jp
146+
perception/tensorrt_classifier/** kotaro.uetake@tier4.jp shunsuke.miura@tier4.jp
147+
perception/tensorrt_yolox/** dan.umeda@tier4.jp manato.hirabayashi@tier4.jp
148+
perception/tracking_object_merger/** taekjin.lee@tier4.jp yoshi.ri@tier4.jp yukihiro.saito@tier4.jp
149149
perception/traffic_light_arbiter/** kenzo.lobos@tier4.jp shunsuke.miura@tier4.jp
150150
perception/traffic_light_classifier/** shunsuke.miura@tier4.jp yukihiro.saito@tier4.jp
151-
perception/traffic_light_fine_detector/** shunsuke.miura@tier4.jp tao.zhong@tier4.jp
152-
perception/traffic_light_map_based_detector/** yukihiro.saito@tier4.jp
151+
perception/traffic_light_fine_detector/** shintaro.tomie@tier4.jp shunsuke.miura@tier4.jp tao.zhong@tier4.jp
152+
perception/traffic_light_map_based_detector/** shunsuke.miura@tier4.jp yukihiro.saito@tier4.jp
153153
perception/traffic_light_multi_camera_fusion/** shunsuke.miura@tier4.jp tao.zhong@tier4.jp
154154
perception/traffic_light_occlusion_predictor/** shunsuke.miura@tier4.jp tao.zhong@tier4.jp
155155
perception/traffic_light_visualization/** yukihiro.saito@tier4.jp
@@ -186,7 +186,7 @@ planning/costmap_generator/** kosuke.takeuchi@tier4.jp takamasa.horibe@tier4.jp
186186
planning/external_velocity_limit_selector/** satoshi.ota@tier4.jp shinnosuke.hirakawa@tier4.jp shumpei.wakabayashi@tier4.jp tomohito.ando@tier4.jp tomoya.kimura@tier4.jp
187187
planning/freespace_planner/** kosuke.takeuchi@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp
188188
planning/freespace_planning_algorithms/** kosuke.takeuchi@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp
189-
planning/mission_planner/** isamu.takagi@tier4.jp kosuke.takeuchi@tier4.jp ryohsuke.mitsudome@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp
189+
planning/mission_planner/** isamu.takagi@tier4.jp kosuke.takeuchi@tier4.jp mamoru.sobue@tier4.jp ryohsuke.mitsudome@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp
190190
planning/motion_velocity_smoother/** fumiya.watanabe@tier4.jp makoto.kurihara@tier4.jp satoshi.ota@tier4.jp takamasa.horibe@tier4.jp
191191
planning/objects_of_interest_marker_interface/** fumiya.watanabe@tier4.jp kosuke.takeuchi@tier4.jp zulfaqar.azmi@tier4.jp
192192
planning/obstacle_avoidance_planner/** kosuke.takeuchi@tier4.jp takamasa.horibe@tier4.jp takayuki.murooka@tier4.jp
@@ -217,7 +217,7 @@ sensing/radar_scan_to_pointcloud2/** satoshi.tanaka@tier4.jp shunsuke.miura@tier
217217
sensing/radar_static_pointcloud_filter/** satoshi.tanaka@tier4.jp shunsuke.miura@tier4.jp taekjin.lee@tier4.jp yoshi.ri@tier4.jp
218218
sensing/radar_threshold_filter/** satoshi.tanaka@tier4.jp shunsuke.miura@tier4.jp taekjin.lee@tier4.jp yoshi.ri@tier4.jp
219219
sensing/radar_tracks_noise_filter/** satoshi.tanaka@tier4.jp shunsuke.miura@tier4.jp taekjin.lee@tier4.jp yoshi.ri@tier4.jp
220-
sensing/tier4_pcl_extensions/** ryu.yamamoto@tier4.jp
220+
sensing/tier4_pcl_extensions/** david.wong@tier4.jp kenzo.lobos@tier4.jp ryu.yamamoto@tier4.jp
221221
sensing/vehicle_velocity_converter/** ryu.yamamoto@tier4.jp
222222
simulator/dummy_perception_publisher/** yukihiro.saito@tier4.jp
223223
simulator/fault_injection/** keisuke.shima@tier4.jp
@@ -232,10 +232,12 @@ system/default_ad_api_helpers/automatic_pose_initializer/** isamu.takagi@tier4.j
232232
system/diagnostic_graph_aggregator/** isamu.takagi@tier4.jp
233233
system/dummy_diag_publisher/** fumihito.ito@tier4.jp tetsuhiro.kawaguchi@tier4.jp
234234
system/dummy_infrastructure/** ryohsuke.mitsudome@tier4.jp
235-
system/duplicated_node_checker/** shumpei.wakabayashi@tier4.jp uken.ryu@tier4.jp
235+
system/duplicated_node_checker/** mamoru.sobue@tier4.jp shumpei.wakabayashi@tier4.jp uken.ryu@tier4.jp
236236
system/emergency_handler/** makoto.kurihara@tier4.jp ryuta.kambe@tier4.jp tetsuhiro.kawaguchi@tier4.jp
237+
system/hazard_status_converter/** isamu.takagi@tier4.jp
237238
system/mrm_comfortable_stop_operator/** makoto.kurihara@tier4.jp tomohito.ando@tier4.jp
238239
system/mrm_emergency_stop_operator/** makoto.kurihara@tier4.jp tomohito.ando@tier4.jp
240+
system/mrm_handler/** makoto.kurihara@tier4.jp ryuta.kambe@tier4.jp tetsuhiro.kawaguchi@tier4.jp
239241
system/system_error_monitor/** fumihito.ito@tier4.jp
240242
system/system_monitor/** fumihito.ito@tier4.jp tetsuhiro.kawaguchi@tier4.jp
241243
system/topic_state_monitor/** ryohsuke.mitsudome@tier4.jp
@@ -245,3 +247,5 @@ vehicle/external_cmd_converter/** takamasa.horibe@tier4.jp
245247
vehicle/raw_vehicle_cmd_converter/** makoto.kurihara@tier4.jp taiki.tanaka@tier4.jp takamasa.horibe@tier4.jp
246248
vehicle/steer_offset_estimator/** taiki.tanaka@tier4.jp
247249
vehicle/vehicle_info_util/** shumpei.wakabayashi@tier4.jp taiki.tanaka@tier4.jp tomoya.kimura@tier4.jp
250+
251+
### Copied from .github/CODEOWNERS-manual ###

.github/workflows/build-and-test-differential.yaml

-35
Original file line numberDiff line numberDiff line change
@@ -73,38 +73,3 @@ jobs:
7373

7474
- name: Check disk space after build
7575
run: df -h
76-
77-
clang-tidy-differential:
78-
runs-on: [self-hosted, linux, X64]
79-
container: ghcr.io/autowarefoundation/autoware-universe:humble-latest-cuda
80-
needs: build-and-test-differential
81-
steps:
82-
- name: Check out repository
83-
uses: actions/checkout@v3
84-
with:
85-
fetch-depth: 0
86-
87-
- name: Remove exec_depend
88-
uses: autowarefoundation/autoware-github-actions/remove-exec-depend@v1
89-
90-
- name: Get modified packages
91-
id: get-modified-packages
92-
uses: autowarefoundation/autoware-github-actions/get-modified-packages@v1
93-
94-
- name: Get modified files
95-
id: get-modified-files
96-
uses: tj-actions/changed-files@v35
97-
with:
98-
files: |
99-
**/*.cpp
100-
**/*.hpp
101-
102-
- name: Run clang-tidy
103-
if: ${{ steps.get-modified-files.outputs.all_changed_files != '' }}
104-
uses: autowarefoundation/autoware-github-actions/clang-tidy@v1
105-
with:
106-
rosdistro: humble
107-
target-packages: ${{ steps.get-modified-packages.outputs.modified-packages }}
108-
target-files: ${{ steps.get-modified-files.outputs.all_changed_files }}
109-
clang-tidy-config-url: https://raw.githubusercontent.com/autowarefoundation/autoware/main/.clang-tidy
110-
build-depends-repos: build_depends.repos

.github/workflows/json-schema-check.yaml

+24-3
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,38 @@ name: json-schema-check
22

33
on:
44
pull_request:
5-
paths:
6-
- "**/schema/*.schema.json"
7-
- "**/config/*.param.yaml"
85
workflow_dispatch:
96

107
jobs:
8+
check-if-relevant-files-changed:
9+
runs-on: ubuntu-latest
10+
outputs:
11+
run-check: ${{ steps.paths_filter.outputs.json_or_yaml }}
12+
steps:
13+
- uses: actions/checkout@v3
14+
- uses: dorny/paths-filter@v3
15+
id: paths_filter
16+
with:
17+
filters: |
18+
json_or_yaml:
19+
- '**/schema/*.schema.json'
20+
- '**/config/*.param.yaml'
21+
1122
json-schema-check:
23+
needs: check-if-relevant-files-changed
24+
if: needs.check-if-relevant-files-changed.outputs.run-check == 'true'
1225
runs-on: ubuntu-latest
1326
steps:
1427
- name: Check out repository
1528
uses: actions/checkout@v3
1629

1730
- name: Run json-schema-check
1831
uses: autowarefoundation/autoware-github-actions/json-schema-check@v1
32+
33+
no-relevant-changes:
34+
needs: check-if-relevant-files-changed
35+
if: needs.check-if-relevant-files-changed.outputs.run-check == 'false'
36+
runs-on: ubuntu-latest
37+
steps:
38+
- name: Dummy step
39+
run: echo "No relevant changes, passing check"

README.md

+13-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
1-
# autoware.universe
1+
# Autoware Universe
22

3-
For Autoware's general documentation, see [Autoware Documentation](https://autowarefoundation.github.io/autoware-documentation/).
3+
## Welcome to Autoware Universe
44

5-
For detailed documents of Autoware Universe components, see [Autoware Universe Documentation](https://autowarefoundation.github.io/autoware.universe/).
5+
Autoware Universe serves as a foundational pillar within the Autoware ecosystem, playing a critical role in enhancing the core functionalities of autonomous driving technologies.
6+
This repository is a pivotal element of the Autoware Core/Universe concept, managing a wide array of packages that significantly extend the capabilities of autonomous vehicles.
67

7-
---
8+
![autoware_universe_front](docs/assets/images/autoware_universe_front.png)
9+
10+
## Getting Started
11+
12+
To dive into the vast world of Autoware and understand how Autoware Universe fits into the bigger picture, we recommend starting with the [Autoware Documentation](https://autowarefoundation.github.io/autoware-documentation/). This resource provides a thorough overview of the Autoware ecosystem, guiding you through its components, functionalities, and how to get started with development.
13+
14+
### Explore Autoware Universe documentation
15+
16+
For those looking to explore the specifics of Autoware Universe components, the [Autoware Universe Documentation](https://autowarefoundation.github.io/autoware.universe/), deployed with MKDocs, offers detailed insights.

common/autoware_overlay_rviz_plugin/autoware_overlay_rviz_plugin/package.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<test_depend>ament_lint_auto</test_depend>
2424
<test_depend>autoware_lint_common</test_depend>
2525

26-
<buildtool_depend>ament_cmake</buildtool_depend>
26+
<buildtool_depend>ament_cmake_auto</buildtool_depend>
2727

2828
<export>
2929
<build_type>ament_cmake</build_type>

common/tensorrt_common/package.xml

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
<author email="taichi.higashide@tier4.jp">Taichi Higashide</author>
88
<author email="daisuke.nishimatsu@tier4.jp">Daisuke Nishimatsu</author>
9-
<maintainer email="daisuke.nishimatsu@tier4.jp">Daisuke Nishimatsu</maintainer>
109
<maintainer email="dan.umeda@tier4.jp">Dan Umeda</maintainer>
1110
<maintainer email="manato.hirabayashi@tier4.jp">Manato Hirabayashi</maintainer>
1211

common/tier4_control_rviz_plugin/src/tools/manual_controller.cpp

+18-36
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,6 @@ using std::placeholders::_1;
3030
namespace rviz_plugins
3131
{
3232

33-
double lowpassFilter(
34-
const double current_value, const double prev_value, double cutoff, const double dt)
35-
{
36-
const double tau = 1.0 / (2.0 * M_PI * cutoff);
37-
const double a = tau / (dt + tau);
38-
return prev_value * a + (1.0 - a) * current_value;
39-
}
40-
4133
ManualController::ManualController(QWidget * parent) : rviz_common::Panel(parent)
4234
{
4335
auto * state_layout = new QHBoxLayout;
@@ -115,25 +107,23 @@ void ManualController::update()
115107
ackermann.stamp = raw_node_->get_clock()->now();
116108
ackermann.lateral.steering_tire_angle = steering_angle_;
117109
ackermann.longitudinal.speed = cruise_velocity_;
118-
if (current_acceleration_) {
119-
/**
120-
* @brief Calculate desired acceleration by simple BackSteppingControl
121-
* V = 0.5*(v-v_des)^2 >= 0
122-
* D[V] = (D[v] - a_des)*(v-v_des) <=0
123-
* a_des = k_const *(v - v_des) + a (k < 0 )
124-
*/
125-
const double k = -0.5;
126-
const double v = current_velocity_;
127-
const double v_des = cruise_velocity_;
128-
const double a = *current_acceleration_;
129-
const double a_des = k * (v - v_des) + a;
130-
ackermann.longitudinal.acceleration = std::clamp(a_des, -1.0, 1.0);
131-
}
110+
/**
111+
* @brief Calculate desired acceleration by simple BackSteppingControl
112+
* V = 0.5*(v-v_des)^2 >= 0
113+
* D[V] = (D[v] - a_des)*(v-v_des) <=0
114+
* a_des = k_const *(v - v_des) + a (k < 0 )
115+
*/
116+
const double k = -0.5;
117+
const double v = current_velocity_;
118+
const double v_des = cruise_velocity_;
119+
const double a = current_acceleration_;
120+
const double a_des = k * (v - v_des) + a;
121+
ackermann.longitudinal.acceleration = std::clamp(a_des, -1.0, 1.0);
132122
}
133123
GearCommand gear_cmd;
134124
{
135125
const double eps = 0.001;
136-
if (ackermann.longitudinal.speed > eps) {
126+
if (ackermann.longitudinal.speed > eps && current_velocity_ > -eps) {
137127
gear_cmd.command = GearCommand::DRIVE;
138128
} else if (ackermann.longitudinal.speed < -eps && current_velocity_ < eps) {
139129
gear_cmd.command = GearCommand::REVERSE;
@@ -220,19 +210,11 @@ void ManualController::onEngageStatus(const Engage::ConstSharedPtr msg)
220210
void ManualController::onVelocity(const VelocityReport::ConstSharedPtr msg)
221211
{
222212
current_velocity_ = msg->longitudinal_velocity;
223-
if (previous_velocity_) {
224-
const double cutoff = 10.0;
225-
const double dt = 1.0 / 10.0;
226-
const double acc = (current_velocity_ - *previous_velocity_) / dt;
227-
if (!current_acceleration_) {
228-
current_acceleration_ = std::make_unique<double>(acc);
229-
} else {
230-
current_acceleration_ =
231-
std::make_unique<double>(lowpassFilter(acc, *current_acceleration_, cutoff, dt));
232-
}
233-
}
234-
previous_velocity_ = std::make_unique<double>(msg->longitudinal_velocity);
235-
prev_stamp_ = rclcpp::Time(msg->header.stamp);
213+
}
214+
215+
void ManualController::onAcceleration(const AccelWithCovarianceStamped::ConstSharedPtr msg)
216+
{
217+
current_acceleration_ = msg->accel.accel.linear.x;
236218
}
237219

238220
void ManualController::onGear(const GearReport::ConstSharedPtr msg)

0 commit comments

Comments
 (0)