-
Notifications
You must be signed in to change notification settings - Fork 668
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(avoidance): improve avoidance stop & decel behavior #4141
feat(avoidance): improve avoidance stop & decel behavior #4141
Conversation
62cc273
to
2d06d06
Compare
Codecov ReportPatch coverage has no change and project coverage change:
Additional details and impacted files@@ Coverage Diff @@
## main #4141 +/- ##
==========================================
- Coverage 14.30% 14.30% -0.01%
==========================================
Files 1571 1571
Lines 108373 108406 +33
Branches 31374 31396 +22
==========================================
Hits 15505 15505
- Misses 76017 76045 +28
- Partials 16851 16856 +5
*This pull request uses carry forward flags. Click here to find out more.
☔ View full report in Codecov by Sentry. |
2d06d06
to
3717a69
Compare
@@ -3350,23 +3351,64 @@ void AvoidanceModule::insertPrepareVelocity(ShiftedPath & shifted_path) const | |||
{ | |||
const auto & data = avoidance_data_; | |||
|
|||
// do nothing if there is no avoidance target. |
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.
❤️
|
||
// calculate shift length for front object. | ||
const auto & vehicle_width = planner_data_->parameters.vehicle_width; | ||
const auto t = utils::getHighestProbLabel(object.object.classification); |
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 t = utils::getHighestProbLabel(object.object.classification); | |
const auto object_type = utils::getHighestProbLabel(object.object.classification); |
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.
Rename all same variable in 7dfd756.
const double v_target = PathShifter::calcFeasibleVelocityFromJerk( | ||
shift_length, parameters_->nominal_lateral_jerk, shift_longitudinal_distance); | ||
const double v_original = shifted_path.path.points.at(i).point.longitudinal_velocity_mps; | ||
const double v_insert = std::max(v_target - parameters_->buf_slow_down_speed, lower_speed); |
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.
@satoshi-ota
I have a simple question: why is this buffer parameter necessary? I'm curious as to in what situation we would need to tune the buf_slow_down_speed
parameter rather than lowering the nominal_lateral_jerk
.
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.
I added parameter description in b0ff9f6. Please see that 👍
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.
LGTM
(I left comment about param but i guess it will be explained in README in other PR?)
3717a69
to
b0ff9f6
Compare
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
… have to avoid Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
b0ff9f6
to
d5eafc1
Compare
…ndation#4141) * feat(path_shifter): add utils Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com> * feat(avoidance): shorten avoidance stop distance Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com> * feat(avoidance): insert slow down speed Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com> * fix(avoidance): don't set stoppable=true for objects that ego doesn't have to avoid Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com> * refactor(avoidance): rename unreadable variable name Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com> * docs(avoidance): add new parameter description Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com> --------- Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
…ndation#4141) (#651) * feat(path_shifter): add utils * feat(avoidance): shorten avoidance stop distance * feat(avoidance): insert slow down speed * fix(avoidance): don't set stoppable=true for objects that ego doesn't have to avoid * refactor(avoidance): rename unreadable variable name * docs(avoidance): add new parameter description --------- Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
…arefoundation#4141) Signed-off-by: Ryohsuke Mitsudome <ryohsuke.mitsudome@tier4.jp>
Description
🤖 Generated by Copilot at 62cc273
This pull request enhances the avoidance behavior of the behavior path planner by adding new parameters, simplifying the code, and improving the logic for the speed and distance of the vehicle when avoiding obstacles. It modifies the
avoidance.param.yaml
configuration file, theAvoidanceParameters
struct, theAvoidanceHelper
andPathShifter
classes, and theavoidance_module.cpp
andmanager.cpp
source files.Improvement
The avoidance module insert decel speed in prepare section so that the avoidance path always can be generated.
simplescreenrecorder-2023-07-03_09.18.42.mp4
Previous behavior
Since the avoidance module inserts only stop point, sometimes the ego speed exceeds feasible condition and the avoidance path can't be generated.
Please approve ⬇️ before this PR.
autowarefoundation/autoware_launch#429
Tests performed
Effects on system behavior
Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.
In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.
Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.
After all checkboxes are checked, anyone who has write access can merge the PR.