-
Notifications
You must be signed in to change notification settings - Fork 665
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(behavior_velocity_run_out_module): exclude obstacle crossing ego back line #6680
feat(behavior_velocity_run_out_module): exclude obstacle crossing ego back line #6680
Conversation
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
const auto p = tier4_autoware_utils::calcOffsetPose(ego_pose, 0.0, half_line_length, 0.0); | ||
return tier4_autoware_utils::createPoint(p.position.x, p.position.y, p.position.z); |
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.
tier4_autoware_utils::calcOffsetPose(ego_pose, 0.0, half_line_length, 0.0).position
is enough.
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.
@takayuki5168 Ah! right thanks for the review
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
@@ -108,6 +108,14 @@ You can choose whether to use this feature by parameter of `use_partition_lanele | |||
|
|||
![brief](./docs/exclude_obstacles_by_partition.svg) | |||
|
|||
##### Exclude obstacles that cross the ego vehicle's "cut line" | |||
|
|||
This module can exclude can exclude obstacles that have predicted paths that come from behind the ego vehicle. It excludes obstacles if the their predicted path crosses the ego's "cut line". The "cut line" is generating a virtual line segment that is perpendicular to the ego vehicle and that passes through the ego's base link. |
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 module can exclude can exclude obstacles that have predicted paths that come from behind the ego vehicle. It excludes obstacles if the their predicted path crosses the ego's "cut line". The "cut line" is generating a virtual line segment that is perpendicular to the ego vehicle and that passes through the ego's base link. | |
This module can exclude obstacles that have predicted paths that come from behind the ego vehicle. It excludes obstacles if their predicted path crosses the ego's "cut line". The "cut line" is generating a virtual line segment that is perpendicular to the ego vehicle and that passes through the ego's base link. |
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.
(just confirmation)
This module can exclude obstacles that have predicted paths that come from BEHIND the ego vehicle.
the exclued targets are all objects that cross the cut line, not just the BEHIND?
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.
You are right, the explanation was not clear, it excludes obstacles if they pass the back part of the ego by crossing the line. I think it is better now, please confirm, thanks for pointing it out @kosuke55
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #6680 +/- ##
=======================================
Coverage 14.78% 14.78%
=======================================
Files 1925 1925
Lines 132745 132785 +40
Branches 39535 39554 +19
=======================================
+ Hits 19626 19634 +8
- Misses 91147 91171 +24
- Partials 21972 21980 +8
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Sentry. |
// extract obstacles that cross the ego's back lane | ||
if (!planner_param_.run_out.use_ego_cut_line) return partition_excluded_obstacles; | ||
|
||
const auto ego_back_line_excluded_obstacles = | ||
excludeObstaclesCrossingEgoBackLine(partition_excluded_obstacles, current_pose); | ||
return ego_back_line_excluded_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.
// extract obstacles that cross the ego's back lane | |
if (!planner_param_.run_out.use_ego_cut_line) return partition_excluded_obstacles; | |
const auto ego_back_line_excluded_obstacles = | |
excludeObstaclesCrossingEgoBackLine(partition_excluded_obstacles, current_pose); | |
return ego_back_line_excluded_obstacles; | |
if (!planner_param_.run_out.use_ego_cut_line) return partition_excluded_obstacles; | |
// extract obstacles that cross the ego's back lane | |
const auto ego_back_line_excluded_obstacles = | |
excludeObstaclesCrossingEgoBackLine(partition_excluded_obstacles, current_pose); | |
return ego_back_line_excluded_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.
the comment place is better like this?
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.
Done, thanks for the suggestion! @kosuke55
@@ -108,6 +108,14 @@ You can choose whether to use this feature by parameter of `use_partition_lanele | |||
|
|||
![brief](./docs/exclude_obstacles_by_partition.svg) | |||
|
|||
##### Exclude obstacles that cross the ego vehicle's "cut line" | |||
|
|||
This module can exclude can exclude obstacles that have predicted paths that come from behind the ego vehicle. It excludes obstacles if the their predicted path crosses the ego's "cut line". The "cut line" is generating a virtual line segment that is perpendicular to the ego vehicle and that passes through the ego's base link. |
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.
(just confirmation)
This module can exclude obstacles that have predicted paths that come from BEHIND the ego vehicle.
the exclued targets are all objects that cross the cut line, not just the BEHIND?
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
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! thanks!!
a0bac37
into
autowarefoundation:main
… back line (autowarefoundation#6680) * add method to ignore target obstacles that cross ego cut lane Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * WIP add debug support Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * add params and finish debug marker Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * change lane to line Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * use autoware utils to get the cut line Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * simplify code wit calcOffsetPose Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * Update readme and eliminate unused code Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * update readme Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * eliminate unused function Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * readme Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * comments and readme Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * eliminate unused include Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * typo Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * rename param for consistency Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * change lane to line for consistency Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * rename for clarity, add brief Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * fix indentation Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * update description Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * lane ->line Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * lane -> line Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> --------- Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
… back line (autowarefoundation#6680) * add method to ignore target obstacles that cross ego cut lane Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * WIP add debug support Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * add params and finish debug marker Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * change lane to line Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * use autoware utils to get the cut line Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * simplify code wit calcOffsetPose Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * Update readme and eliminate unused code Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * update readme Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * eliminate unused function Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * readme Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * comments and readme Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * eliminate unused include Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * typo Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * rename param for consistency Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * change lane to line for consistency Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * rename for clarity, add brief Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * fix indentation Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * update description Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * lane ->line Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * lane -> line Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> --------- Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
#1574) feat(behavior_velocity_run_out_module): exclude obstacle crossing ego back line (autowarefoundation#6680) * add method to ignore target obstacles that cross ego cut lane * WIP add debug support * add params and finish debug marker * change lane to line * use autoware utils to get the cut line * simplify code wit calcOffsetPose * Update readme and eliminate unused code * update readme * eliminate unused function * readme * comments and readme * eliminate unused include * typo * rename param for consistency * change lane to line for consistency * rename for clarity, add brief * fix indentation * update description * lane ->line * lane -> line --------- Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
tier4#1574) feat(behavior_velocity_run_out_module): exclude obstacle crossing ego back line (autowarefoundation#6680) * add method to ignore target obstacles that cross ego cut lane * WIP add debug support * add params and finish debug marker * change lane to line * use autoware utils to get the cut line * simplify code wit calcOffsetPose * Update readme and eliminate unused code * update readme * eliminate unused function * readme * comments and readme * eliminate unused include * typo * rename param for consistency * change lane to line for consistency * rename for clarity, add brief * fix indentation * update description * lane ->line * lane -> line --------- Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
* feat(lane_change): cancel hysteresis (autowarefoundation#6288) * feat(lane_change): cancel hysteresis Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * Update documentation Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * fix the explanation of the hysteresis count Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> --------- Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * Add parked parked RSS Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * support new perception_reproducer Signed-off-by: temkei.kem <1041084556@qq.com> * move files Signed-off-by: temkei.kem <1041084556@qq.com> * remove old files. Signed-off-by: temkei.kem <1041084556@qq.com> * fix pre-commit err Signed-off-by: temkei.kem <1041084556@qq.com> * style(pre-commit): autofix * feat(autoware_behavior_path_planner_common): disable feature of turning off blinker at low velocity (#1571) Refactor turn signal decider logic and add support for detecting turn signals in turn lanes Signed-off-by: Kyoichi Sugahara <kyoichi.sugahara@tier4.jp> * fix a small bug about perception reproducer * style(pre-commit): autofix * feat(out_of_lane): ignore lanelets beyond the last path point (#1554) * feat(out_of_lane): ignore lanelets beyond the last path point Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp> * style(pre-commit): autofix --------- Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(behavior_velocity_run_out_module): exclude obstacle crossing ego… (#1574) feat(behavior_velocity_run_out_module): exclude obstacle crossing ego back line (autowarefoundation#6680) * add method to ignore target obstacles that cross ego cut lane * WIP add debug support * add params and finish debug marker * change lane to line * use autoware utils to get the cut line * simplify code wit calcOffsetPose * Update readme and eliminate unused code * update readme * eliminate unused function * readme * comments and readme * eliminate unused include * typo * rename param for consistency * change lane to line for consistency * rename for clarity, add brief * fix indentation * update description * lane ->line * lane -> line --------- Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * fix(lane_change): change stopping logic (RT0-33761) (#1581) * RT0-33761 fix lane change stopping logic Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * copied from awf main tested implementation Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * doxygen comment Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * Update planning/behavior_path_lane_change_module/src/utils/utils.cpp Co-authored-by: mkquda <168697710+mkquda@users.noreply.github.com> --------- Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> Co-authored-by: mkquda <168697710+mkquda@users.noreply.github.com> * perf: PR 7237 autowarefoundation#7237 * perf RP8406 autowarefoundation#8406 * perf PR 8416 * perf PR 8427 * perf PR 8413 * tool PR 8456 * perf PR 8461 * perf PR 8388 * perf PR 8467 * perf PR 8471 * perf PR 8490 * perf PR 8751 * chore: fix format * perf PR 8657 * feat: improve lanelet search logic in getPredictedReferencePath() * sp develop remove non approved change (#1611) Revert "feat: improve lanelet search logic in getPredictedReferencePath()" This reverts commit 5de95b0. * feat PR 8811 * fix PR 8973 * feat: improve lanelet search logic in getPredictedReferencePath() --------- Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> Signed-off-by: temkei.kem <1041084556@qq.com> Signed-off-by: Kyoichi Sugahara <kyoichi.sugahara@tier4.jp> Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp> Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> Co-authored-by: Zulfaqar Azmi <93502286+zulfaqar-azmi-t4@users.noreply.github.com> Co-authored-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> Co-authored-by: temkei.kem <1041084556@qq.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Kyoichi Sugahara <kyoichi.sugahara@tier4.jp> Co-authored-by: Takayuki Murooka <takayuki5168@gmail.com> Co-authored-by: Maxime CLEMENT <78338830+maxime-clem@users.noreply.github.com> Co-authored-by: danielsanchezaran <daniel.sanchez@tier4.jp> Co-authored-by: mkquda <168697710+mkquda@users.noreply.github.com> Co-authored-by: Shohei Sakai <saka1s.jp@gmail.com>
* feat(lane_change): cancel hysteresis (autowarefoundation#6288) * feat(lane_change): cancel hysteresis Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * Update documentation Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * fix the explanation of the hysteresis count Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> --------- Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * Add parked parked RSS Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * support new perception_reproducer Signed-off-by: temkei.kem <1041084556@qq.com> * move files Signed-off-by: temkei.kem <1041084556@qq.com> * remove old files. Signed-off-by: temkei.kem <1041084556@qq.com> * fix pre-commit err Signed-off-by: temkei.kem <1041084556@qq.com> * style(pre-commit): autofix * feat(autoware_behavior_path_planner_common): disable feature of turning off blinker at low velocity (autowarefoundation#1571) Refactor turn signal decider logic and add support for detecting turn signals in turn lanes Signed-off-by: Kyoichi Sugahara <kyoichi.sugahara@tier4.jp> * fix a small bug about perception reproducer * style(pre-commit): autofix * feat(out_of_lane): ignore lanelets beyond the last path point (autowarefoundation#1554) * feat(out_of_lane): ignore lanelets beyond the last path point Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp> * style(pre-commit): autofix --------- Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat(behavior_velocity_run_out_module): exclude obstacle crossing ego… (autowarefoundation#1574) feat(behavior_velocity_run_out_module): exclude obstacle crossing ego back line (autowarefoundation#6680) * add method to ignore target obstacles that cross ego cut lane * WIP add debug support * add params and finish debug marker * change lane to line * use autoware utils to get the cut line * simplify code wit calcOffsetPose * Update readme and eliminate unused code * update readme * eliminate unused function * readme * comments and readme * eliminate unused include * typo * rename param for consistency * change lane to line for consistency * rename for clarity, add brief * fix indentation * update description * lane ->line * lane -> line --------- Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> * fix(lane_change): change stopping logic (RT0-33761) (autowarefoundation#1581) * RT0-33761 fix lane change stopping logic Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * copied from awf main tested implementation Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * doxygen comment Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> * Update planning/behavior_path_lane_change_module/src/utils/utils.cpp Co-authored-by: mkquda <168697710+mkquda@users.noreply.github.com> --------- Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> Co-authored-by: mkquda <168697710+mkquda@users.noreply.github.com> * perf: PR 7237 autowarefoundation#7237 * perf RP8406 autowarefoundation#8406 * perf PR 8416 * perf PR 8427 * perf PR 8413 * tool PR 8456 * perf PR 8461 * perf PR 8388 * perf PR 8467 * perf PR 8471 * perf PR 8490 * perf PR 8751 * chore: fix format * perf PR 8657 * feat: improve lanelet search logic in getPredictedReferencePath() * sp develop remove non approved change (autowarefoundation#1611) Revert "feat: improve lanelet search logic in getPredictedReferencePath()" This reverts commit 5de95b0. * feat PR 8811 * fix PR 8973 * feat: improve lanelet search logic in getPredictedReferencePath() --------- Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> Signed-off-by: temkei.kem <1041084556@qq.com> Signed-off-by: Kyoichi Sugahara <kyoichi.sugahara@tier4.jp> Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp> Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com> Co-authored-by: Zulfaqar Azmi <93502286+zulfaqar-azmi-t4@users.noreply.github.com> Co-authored-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp> Co-authored-by: temkei.kem <1041084556@qq.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Kyoichi Sugahara <kyoichi.sugahara@tier4.jp> Co-authored-by: Takayuki Murooka <takayuki5168@gmail.com> Co-authored-by: Maxime CLEMENT <78338830+maxime-clem@users.noreply.github.com> Co-authored-by: danielsanchezaran <daniel.sanchez@tier4.jp> Co-authored-by: mkquda <168697710+mkquda@users.noreply.github.com> Co-authored-by: Shohei Sakai <saka1s.jp@gmail.com>
Description
With this PR an "ego back lane" is introduced, the aim of this lane is to exclude dynamic obstacles from run out consideration IF their predicted path crosses said lane. The aim is to eliminate false positive cases in which the run out module is wrongly activated when there is a pedestrian or bicycle behind the ego vehicle.
Example: the pedestrian whose predicted path touches the back lane (purple) is excluded from run out calculations.
Related links
Launch changes: autowarefoundation/autoware_launch#935
Tests performed
PSim
Evaluator: TIER IV INTERNAL LINK
Notes for reviewers
Requires changes to launch: autowarefoundation/autoware_launch#935
Interface changes
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.