Skip to content
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

fix(avoidance): fix dying with empty lanes #4606

Merged
merged 1 commit into from
Aug 13, 2023
Merged

Conversation

kosuke55
Copy link
Contributor

@kosuke55 kosuke55 commented Aug 12, 2023

Description

fix avoidance_by_lc dying with empty lanes.

(gdb) bt
#0  lanelet::ConstPrimitive<lanelet::LaneletData>::id (this=0xffffffffffffffe8) at /usr/include/c++/11/bits/shared_ptr_base.h:1295
#1  route_handler::RouteHandler::isInGoalRouteSection (this=0x7f462005cf70, lanelet=...) at /home/kosuke55/pilot-auto/src/autoware/universe/planning/route_handler/src/route_handler.cpp:474
#2  0x00007f464758a8b4 in behavior_path_planner::utils::avoidance::filterTargetObjects (objects=std::vector of length 0, capacity 0, data=..., debug=..., planner_data=std::shared_ptr<const behavior_path_planner::PlannerData> (use count 16, weak count 0) = {...},
    parameters=std::shared_ptr<behavior_path_planner::AvoidanceParameters> (use count 4, weak count 0) = {...}) at /home/kosuke55/pilot-auto/src/autoware/universe/planning/behavior_path_planner/src/utils/avoidance/utils.cpp:866
#3  0x00007f46474d6544 in behavior_path_planner::AvoidanceByLaneChange::fillAvoidanceTargetObjects (this=0x7f45dc0fd000, data=..., debug=...) at /home/kosuke55/pilot-auto/src/autoware/universe/planning/behavior_path_planner/src/scene_module/lane_change/avoidance_by_lane_change.cpp:172
#4  0x00007f46474d68df in behavior_path_planner::AvoidanceByLaneChange::calcAvoidancePlanningData (this=0x7f45dc0fd000, debug=...) at /home/kosuke55/pilot-auto/src/autoware/universe/planning/behavior_path_planner/src/scene_module/lane_change/avoidance_by_lane_change.cpp:128
#5  0x00007f46474d69c0 in behavior_path_planner::AvoidanceByLaneChange::updateSpecialData (this=0x7f45dc0fd000) at /home/kosuke55/pilot-auto/src/autoware/universe/planning/behavior_path_planner/src/scene_module/lane_change/avoidance_by_lane_change.cpp:92
#6  0x00007f4647341fa2 in behavior_path_planner::SceneModuleManagerInterface::isExecutionRequested (this=0x7f46202eb230, previous_module_output=...) at /home/kosuke55/pilot-auto/src/autoware/universe/planning/behavior_path_planner/include/behavior_path_planner/scene_module/scene_module_manager_interface.hpp:91
#7  0x00007f464733326a in behavior_path_planner::PlannerManager::getRequestModules (this=0x7f46200b7950, previous_module_output=...) at /usr/include/c++/11/bits/shared_ptr_base.h:1295
#8  0x00007f46473380a6 in operator() (__closure=0x7f4647ff58e0) at /home/kosuke55/pilot-auto/src/autoware/universe/planning/behavior_path_planner/src/planner_manager.cpp:91
#9  0x00007f4647338bbb in behavior_path_planner::PlannerManager::run (this=this@entry=0x7f46200b7950, data=std::shared_ptr<behavior_path_planner::PlannerData> (use count 16, weak count 0) = {...}) at /home/kosuke55/pilot-auto/src/autoware/universe/planning/behavior_path_planner/src/planner_manager.cpp:51
#10 0x00007f464736901e in behavior_path_planner::BehaviorPathPlannerNode::run (this=0x7f462004aed0) at /usr/include/c++/11/bits/shared_ptr_base.h:1295
#11 0x00007f464736dd25 in std::__invoke_impl<void, void (behavior_path_planner::BehaviorPathPlannerNode::*&)(), behavior_path_planner::BehaviorPathPlannerNode*&> (__t=@0x7f46203210d0: 0x7f462004aed0,
    __f=@0x7f46203210c0: (void (behavior_path_planner::BehaviorPathPlannerNode::*)(behavior_path_planner::BehaviorPathPlannerNode * const)) 0x7f4647368bf0 <behavior_path_planner::BehaviorPathPlannerNode::run()>) at /usr/include/c++/11/bits/invoke.h:71
#12 std::__invoke<void (behavior_path_planner::BehaviorPathPlannerNode::*&)(), behavior_path_planner::BehaviorPathPlannerNode*&> (
    __fn=@0x7f46203210c0: (void (behavior_path_planner::BehaviorPathPlannerNode::*)(behavior_path_planner::BehaviorPathPlannerNode * const)) 0x7f4647368bf0 <behavior_path_planner::BehaviorPathPlannerNode::run()>) at /usr/include/c++/11/bits/invoke.h:96
#13 std::_Bind<void (behavior_path_planner::BehaviorPathPlannerNode::*(behavior_path_planner::BehaviorPathPlannerNode*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (__args=..., this=0x7f46203210c0) at /usr/include/c++/11/functional:420
#14 std::_Bind<void (behavior_path_planner::BehaviorPathPlannerNode::*(behavior_path_planner::BehaviorPathPlannerNode*))()>::operator()<, void>() (this=0x7f46203210c0) at /usr/include/c++/11/functional:503
#15 rclcpp::GenericTimer<std::_Bind<void (behavior_path_planner::BehaviorPathPlannerNode::*(behavior_path_planner::BehaviorPathPlannerNode*))()>, (void*)0>::execute_callback_delegate<std::_Bind<void (behavior_path_planner::BehaviorPathPlannerNode::*(behavior_path_planner::BehaviorPathPlannerNode*))()>, (void*)0>() (
    this=0x7f4620321090) at /opt/ros/humble/include/rclcpp/rclcpp/timer.hpp:244
#16 rclcpp::GenericTimer<std::_Bind<void (behavior_path_planner::BehaviorPathPlannerNode::*(behavior_path_planner::BehaviorPathPlannerNode*))()>, (void*)0>::execute_callback() (this=0x7f4620321090) at /opt/ros/humble/include/rclcpp/rclcpp/timer.hpp:230
#17 0x00007f46678dade1 in rclcpp::Executor::execute_any_executable(rclcpp::AnyExecutable&) () from /opt/ros/humble/lib/librclcpp.so
#18 0x00007f46678e209a in rclcpp::executors::MultiThreadedExecutor::run(unsigned long) () from /opt/ros/humble/lib/librclcpp.so
#19 0x00007f46674dc253 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#20 0x00007f4667094b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#21 0x00007f4667126a00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
(gdb) f 2
#2  0x00007f464758a8b4 in behavior_path_planner::utils::avoidance::filterTargetObjects (objects=std::vector of length 0, capacity 0, data=..., debug=..., planner_data=std::shared_ptr<const behavior_path_planner::PlannerData> (use count 16, weak count 0) = {...},
    parameters=std::shared_ptr<behavior_path_planner::AvoidanceParameters> (use count 4, weak count 0) = {...}) at /home/kosuke55/pilot-auto/src/autoware/universe/planning/behavior_path_planner/src/utils/avoidance/utils.cpp:866
866       const auto dist_to_goal = rh->isInGoalRouteSection(data.current_lanelets.back())
(gdb) p data.current_lanelets
$9 = std::vector of length 0, capacity 0

Related links

Tests performed

psim

Notes for reviewers

Interface changes

none

Effects on system behavior

none

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.

  • The PR follows the pull request guidelines.
  • The PR has been properly tested.
  • The PR has been reviewed by the code owners.

Post-review checklist for the PR author

The PR author must check the checkboxes below before merging.

  • There are no open discussions or they are tracked via tickets.
  • The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

@github-actions github-actions bot added the component:planning Route planning, decision-making, and navigation. (auto-assigned) label Aug 12, 2023
@kosuke55 kosuke55 added the tag:run-build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Aug 12, 2023
@codecov
Copy link

codecov bot commented Aug 12, 2023

Codecov Report

Patch coverage has no change and project coverage change: -0.03% ⚠️

Comparison is base (58d8e8e) 14.83% compared to head (9e8436d) 14.80%.
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4606      +/-   ##
==========================================
- Coverage   14.83%   14.80%   -0.03%     
==========================================
  Files        1529     1529              
  Lines      105799   105716      -83     
  Branches    32240    32202      -38     
==========================================
- Hits        15698    15655      -43     
+ Misses      72943    72936       -7     
+ Partials    17158    17125      -33     
Flag Coverage Δ *Carryforward flag
differential 13.07% <0.00%> (?)
total 14.80% <ø> (-0.03%) ⬇️ Carriedforward from 58d8e8e

*This pull request uses carry forward flags. Click here to find out more.

Files Changed Coverage Δ
...ehavior_path_planner/src/utils/avoidance/utils.cpp 6.54% <0.00%> (-0.02%) ⬇️
...clude/obstacle_avoidance_planner/mpt_optimizer.hpp 85.71% <ø> (ø)
...cle_avoidance_planner/state_equation_generator.hpp 100.00% <ø> (ø)
...g/obstacle_avoidance_planner/src/mpt_optimizer.cpp 39.71% <ø> (-0.29%) ⬇️
...avoidance_planner/src/state_equation_generator.cpp 54.54% <ø> (-14.43%) ⬇️

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@satoshi-ota satoshi-ota merged commit e0e9fcf into main Aug 13, 2023
35 of 39 checks passed
@satoshi-ota satoshi-ota deleted the fix/avoidance_by_lc_die branch August 13, 2023 23:36
LeoDriveProject pushed a commit to leo-drive/autoware.universe.golf that referenced this pull request Aug 16, 2023
kminoda pushed a commit to kminoda/autoware.universe that referenced this pull request Aug 21, 2023
tkimura4 pushed a commit to tier4/autoware.universe that referenced this pull request Aug 22, 2023
kosuke55 added a commit to tier4/autoware.universe that referenced this pull request Aug 23, 2023
kosuke55 added a commit to tier4/autoware.universe that referenced this pull request Aug 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:planning Route planning, decision-making, and navigation. (auto-assigned) tag:run-build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants