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

Freespace planner become not to receive new goals #6934

Open
3 tasks done
TakumIto opened this issue May 8, 2024 · 1 comment
Open
3 tasks done

Freespace planner become not to receive new goals #6934

TakumIto opened this issue May 8, 2024 · 1 comment
Assignees
Labels
component:planning Route planning, decision-making, and navigation. (auto-assigned) status:help-wanted Assistance or contributors needed.

Comments

@TakumIto
Copy link
Contributor

TakumIto commented May 8, 2024

Checklist

  • I've read the contribution guidelines.
  • I've searched other issues and no duplicate issues were found.
  • I'm convinced that this is not my fault but a bug.

Description

If freespace planner fails to find a goal once, it becomes not to receive a new goal pose.
And no new trajectories are searched.

freespace_stack_compress.mp4

Expected behavior

When the new goal is set, freespace planner starts to search for a trajectory for a new goal.

Actual behavior

Freespace planner does not receive new goals and does not search for new trajectories.

Steps to reproduce

  1. Launch planning simulator
  2. set ego vehicle to the center of the parking area (see the figure).
  3. set goal pose to the unreachable place (see the figure).
  4. No new trajectories are searched when you put a new goal.

image

Versions

  • OS: ubuntu 22.04
  • ROS2: humble
  • Autoware: main at Tue Apr 2

Possible causes

When freespace planner is given an unreachable goal pose, method algo->makePlan() is called and search a trajectory for the goal permanently, resulting stack.
Thus, the callback function onRoute does not be called when you put a new goal and the new goal does not be set.

Additional context

No response

@kosuke55 kosuke55 added the component:planning Route planning, decision-making, and navigation. (auto-assigned) label May 8, 2024
@kosuke55
Copy link
Contributor

kosuke55 commented May 23, 2024

internal discussion:
https://star4.slack.com/archives/C0575HP7NJG/p1713319369888399?thread_ts=1713312199.577169&cid=C0575HP7NJG

maybe we can solve the issue by separating the callback group between main timer and subscriver like

rclcpp::SubscriptionOptions createSubscriptionOptions(rclcpp::Node * node_ptr)
{
rclcpp::CallbackGroup::SharedPtr callback_group =
node_ptr->create_callback_group(rclcpp::CallbackGroupType::MutuallyExclusive);
auto sub_opt = rclcpp::SubscriptionOptions();
sub_opt.callback_group = callback_group;
return sub_opt;
}
} // namespace

@kosuke55 kosuke55 added the status:help-wanted Assistance or contributors needed. label May 23, 2024
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) status:help-wanted Assistance or contributors needed.
Projects
None yet
Development

No branches or pull requests

2 participants