-
Notifications
You must be signed in to change notification settings - Fork 662
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(obstacle_cruise)!: type specified stop deccel limit and enabling abandon to stop #7121
Conversation
11628a3
to
3795161
Compare
5e606fc
to
809502c
Compare
stop: | ||
type_specified_params: | ||
use_type_specified_params: # If true, the node try to read the following type specified values | ||
unknown: true | ||
car: false | ||
truck: false | ||
bus: false | ||
trailer: false | ||
motorcycle: false | ||
bicycle: false | ||
pedestrian: false | ||
limit_min_acc: # overwrite the deceleration limit, in usually, common_param.yaml/limit.min_acc is referred. | ||
unknown: -1.0 | ||
limit_max_dist: | ||
unknown: 50.0 | ||
abandon_to_stop: # If true, the planner gives up to stop when it cannot avoid a collision while maintaining the deceleration limit. | ||
unknown: false |
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.
Is it possible to list down parameters depending on the object type as parameters of slow_down
?
} | ||
} | ||
} | ||
std::string getParamType(ObjectClassification label) |
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.
Add const reference to the argument, and const to the function. Please check other functions as well.
if (current_closest_stop_obstacle) { | ||
prev_closest_stop_obstacle_ptr_ = | ||
std::make_shared<StopObstacle>(*current_closest_stop_obstacle); | ||
static std::vector<StopObstacle> prev_closest_stop_obstacles{}; |
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.
Any reason to use static variables?
I actually am not 100% confident, but I feel they should be avoided.
https://stackoverflow.com/questions/7026507/why-are-static-variables-considered-evil
bb77adb
to
46d8d36
Compare
46d8d36
to
acacbf6
Compare
Signed-off-by: Yuki Takagi <[email protected]>
acacbf6
to
a8ff548
Compare
Signed-off-by: Yuki Takagi <[email protected]>
565589c
into
autowarefoundation:main
… abandon to stop (#7121) * add abandon function Signed-off-by: Yuki Takagi <[email protected]>
Description
New feature to use type specified parameters for stop planning
Until now, the deceleration limit for stopping has been a value that does not depend on the type of object (currently, -2.5, which is set in common_param). In addition, although the deceleration limit may postpone the stop position, it does not change the stop decision itself.
This PR provides two additional features.
The first is to allow the deceleration limit to be set for each object type. For unknown objects, we put the default value to stop at “loose deceleration.”
The other is a function that abandons the decision to stop when a collision cannot be prevented while maintaining the deceleration limit. This function is disabled for all object types by default. I believe that it can be enabled only after careful consideration and only for unknown objects.
Screencast from 05-28-2024 04:57:55 PM.webm
abandon to stop against bus with the parameters
Screencast from 05-28-2024 05:01:58 PM.webm
Multiple stop objects can be handled appropriately
Related links
launch PR: autowarefoundation/autoware_launch#1003
Tests performed
psim and tier4 internal tests
Notes for reviewers
Interface changes
ROS Topic Changes
none
ROS Parameter Changes
see the file changes and comments
Effects on system behavior
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.