-
Notifications
You must be signed in to change notification settings - Fork 649
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(lane_change): reduce prepare duration when blinker has been activated #9185
base: main
Are you sure you want to change the base?
feat(lane_change): reduce prepare duration when blinker has been activated #9185
Conversation
Signed-off-by: mohammad alqudah <[email protected]>
Signed-off-by: mohammad alqudah <[email protected]>
…blinker-has-been-activated
…blinker-has-been-activated
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
…blinker-has-been-activated
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions <[email protected]>
…owarefoundation#9173) * refactor(time_utils): prefix package and namespace with autoware Signed-off-by: Esteve Fernandez <[email protected]> * refactor(time_utils): prefix package and namespace with autoware Signed-off-by: Esteve Fernandez <[email protected]> * style(pre-commit): autofix --------- Signed-off-by: Esteve Fernandez <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* add requested feature Signed-off-by: Go Sakayori <[email protected]> * Update planning/autoware_rtc_interface/test/test_rtc_interface.cpp Co-authored-by: Satoshi OTA <[email protected]> --------- Signed-off-by: Go Sakayori <[email protected]> Co-authored-by: Satoshi OTA <[email protected]>
…ws (autowarefoundation#9199) Signed-off-by: Maxime CLEMENT <[email protected]>
fix(bpp): calcDistanceToRedTrafficLight null Signed-off-by: Shumpei Wakabayashi <[email protected]>
… predictor (autowarefoundation#9201) * refactor: grouping functions Signed-off-by: Taekjin LEE <[email protected]> * refactor: grouping parameters Signed-off-by: Taekjin LEE <[email protected]> * refactor: rename member road_users_history to road_users_history_ Signed-off-by: Taekjin LEE <[email protected]> * refactor: separate util functions Signed-off-by: Taekjin LEE <[email protected]> * refactor: Add predictor_vru.cpp and utils.cpp to map_based_prediction_node Signed-off-by: Taekjin LEE <[email protected]> * refactor: Add explicit template instantiation for removeOldObjectsHistory function Signed-off-by: Taekjin LEE <[email protected]> * refactor: Add tf2_geometry_msgs to data_structure Signed-off-by: Taekjin LEE <[email protected]> * refactor: Remove unused variables and functions in map_based_prediction_node.cpp Signed-off-by: Taekjin LEE <[email protected]> * Update perception/autoware_map_based_prediction/include/map_based_prediction/predictor_vru.hpp * Apply suggestions from code review * style(pre-commit): autofix --------- Signed-off-by: Taekjin LEE <[email protected]> Co-authored-by: Mamoru Sobue <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…er (autowarefoundation#8912) * Moved ndt_omp into ndt_scan_matcher Signed-off-by: Shintaro Sakoda <[email protected]> * Added Copyright Signed-off-by: Shintaro Sakoda <[email protected]> * style(pre-commit): autofix * Fixed include Signed-off-by: Shintaro Sakoda <[email protected]> * Fixed cast style Signed-off-by: Shintaro Sakoda <[email protected]> * Fixed include Signed-off-by: Shintaro Sakoda <[email protected]> * Fixed honorific title Signed-off-by: Shintaro Sakoda <[email protected]> * Fixed honorific title Signed-off-by: Shintaro Sakoda <[email protected]> * style(pre-commit): autofix * Fixed include hierarchy Signed-off-by: Shintaro Sakoda <[email protected]> * style(pre-commit): autofix * Fixed include hierarchy Signed-off-by: Shintaro Sakoda <[email protected]> * style(pre-commit): autofix * Fixed hierarchy Signed-off-by: Shintaro Sakoda <[email protected]> * Fixed NVTP to NVTL Signed-off-by: Shintaro Sakoda <[email protected]> * Added cspell:ignore Signed-off-by: Shintaro Sakoda <[email protected]> * Fixed miss spell Signed-off-by: Shintaro Sakoda <[email protected]> * style(pre-commit): autofix * Fixed include Signed-off-by: Shintaro Sakoda <[email protected]> * Renamed applyFilter Signed-off-by: Shintaro Sakoda <[email protected]> * Moved ***_impl.hpp from include/ to src/ Signed-off-by: Shintaro Sakoda <[email protected]> * style(pre-commit): autofix * Fixed variable scope Signed-off-by: Shintaro Sakoda <[email protected]> * Fixed to pass by reference Signed-off-by: Shintaro Sakoda <[email protected]> --------- Signed-off-by: Shintaro Sakoda <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…ndation#9177) Signed-off-by: Mamoru Sobue <[email protected]>
…blinker-has-been-activated
…transient data Signed-off-by: mohammad alqudah <[email protected]>
…blinker-has-been-activated
…blinker-has-been-activated
…pproved path prepare duration Signed-off-by: mohammad alqudah <[email protected]>
Signed-off-by: mohammad alqudah <[email protected]>
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #9185 +/- ##
==========================================
- Coverage 29.29% 29.22% -0.08%
==========================================
Files 1334 1335 +1
Lines 102798 103668 +870
Branches 39985 40404 +419
==========================================
+ Hits 30119 30297 +178
- Misses 69811 70457 +646
- Partials 2868 2914 +46
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code changes look good, but there are degradation in the evaluation.
The commit history appears to contain some extra commits but I am not sure if this related.
@@ -130,6 +130,10 @@ std::vector<double> calc_lon_acceleration_samples( | |||
const CommonDataPtr & common_data_ptr, const double max_path_velocity, | |||
const double prepare_duration); | |||
|
|||
double calc_actual_prepare_duration( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be nice to add some docstring to explain the function.
…blinker-has-been-activated
if (turn_signal_info.turn_signal.command != terminal_turn_signal_info.turn_signal.command) { | ||
signal_activation_time_ = std::nullopt; | ||
} else if (!signal_activation_time_) { | ||
signal_activation_time_ = clock_.now(); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is repeated in line 436, maybe wrapping it in a function would be cleaner?
if (current_velocity >= min_lc_velocity) { | ||
return common_data_ptr->lc_param_ptr->minimum_prepare_duration; | ||
} | ||
const auto max_acc = common_data_ptr->bpp_param_ptr->max_acc; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we have max acc from bpp param and max acc from lane change param.
Just curious why only max acc from bpp param is considered.
return common_data_ptr->lc_param_ptr->minimum_prepare_duration; | ||
} | ||
const auto max_acc = common_data_ptr->bpp_param_ptr->max_acc; | ||
return (min_lc_velocity - current_velocity) / max_acc; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
there mighttt be possibility max_acc = 0.0
? should we place a guard or something?
const auto & time_resolution = lc_param_ptr->prediction_time_resolution; | ||
const auto & velocity_threshold = lc_param_ptr->stopped_object_velocity_threshold; | ||
const auto & prepare_duration = common_data_ptr->transient_data.lane_change_prepare_duration; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
const auto & time_resolution = lc_param_ptr->prediction_time_resolution; | |
const auto & velocity_threshold = lc_param_ptr->stopped_object_velocity_threshold; | |
const auto & prepare_duration = common_data_ptr->transient_data.lane_change_prepare_duration; | |
const auto time_resolution = lc_param_ptr->prediction_time_resolution; | |
const auto velocity_threshold = lc_param_ptr->stopped_object_velocity_threshold; | |
const auto prepare_duration = common_data_ptr->transient_data.lane_change_prepare_duration; |
…blinker-has-been-activated
…-prepare-duration-when-blinker-has-been-activated
Description
Currently, a constant prepare duration (parameterized) is being used when generating LC path candidates, this was necessary because until recently turn signal was activated only after LC path was approved.
However, LC turn signal logic was recently changed to activate as soon as we have the intention to change lanes (i.e: when LC module is run). Therefore it is no longer necessary to have a constant long prepare duration, and we can reduce the prepare duration as the turn signal on duration increases.
Changes
signal_activation_time_
toLaneChangeBase
classlane_change_prepare_duration
toTransientData
structcalc_actual_prepare_duration
to calculate actual needed prepare duration based on current velocity and signal on durationupdate_transient_data
to setlane_change_prepare_duration
Related links
How was this PR tested?
Notes for reviewers
None.
Interface changes
None.
ROS Parameter Changes
Additions and removals
min_prepare_duration
double
1.0
Modifications
prepare_duration
double
4.0
max_prepare_duration
double
4.0
Effects on system behavior
When LC module activates, initially prepare duration will be max, as signal activation duration increases, prepare duration will be gradually reduced to minimum, allowing a shorter LC path to be found.