-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
behavior tree "..only_if_path_becomes_invalid.xml" leads to navigation on cancelled goal #3090
Comments
How often does this error occur for you? |
HI @jwallace42 This error is very repeatable and occurs every time when a current navigation is cancelled and next goal is difficult or non-navigable (very close to obstacle). It is also very easy to emulate on any map (small or big). For a rectangular footprint robot, set goal pose very near to obstacle facing into it. |
Does this only happen with SMAC and RRP? I ran with the default planners for about 10 minutes and couldn't reproduce your error. |
Yeah, that is what I think. I didn't saw this error with other planners. |
Okay, That is pretty odd. I would assume this issue would be for any combination of planner and controller. Let me know how the testing goes. :) |
Hi @jwallace42 This time I used publicly available Amazon warehouse with gazebo. Here are the results:
Also, I am using navigate_w_recovery_and_replanning_only_if_path_becomes_invalid.xml. Map files are here to reproduce. |
what does the terminal outputs say? |
Here is the output from cancelling to reaching wrong (previous) goal.
|
So, @automech-rb @padhupradheep it looks like we don't have any logging setup for behavior trees. We should probably get this info the stack https://www.behaviortree.dev/tutorial_05_subtrees/ especially since our behavior trees are getting more complex. We can just hide the logging behind some flag. |
Yeah. I think the same too. I will try to check with other xmls next week. |
Alright, I will add a pr for logging BT this weekend with will be able to verify my thoughts. I am guessing that the flow goes as follows
|
Hi, I tried navigate_through_poses_w_replanning_and_recovery.xml. As expected, this behaviour does not occur. |
Hey, sorry for the delay, been on vacation this past week. I have a draft pr here for getting debug logs. This will be useful for getting more detailed logs from users in the future. This issue is caused by the blackboard cashe of path. On preemption we need to make sure the previous path gets invalidated so isPathValid is checking the empty path and not the previous path. I create a pr for the fix hopefully over this weekend. Again sry for the delay :). |
No problem. It's actually 1 week summer holiday next week here in Japan, so I will be out of office! |
Awesome, it looks like @jwallace42 debugged and found the solution in #3114! That seems like a sane thing to do, please do test it out @automech-rb when you get a moment when back from vacation. |
@jwallace42 @SteveMacenski @padhupradheep |
No worries! Will merge. |
Bug report
Required Info:
Steps to reproduce issue
Expected behavior
Local planner (controller) waits until new path is calculated.
Actual behavior
Controller navigates on old path which is already canceled.
Additional information
The text was updated successfully, but these errors were encountered: