Global planner behavior upon planning failure
Hi,
I am using navigation stack and wondering what is the expected behavior of global planner upon the local planner fails to control robot according to thewaypoints. According to a test that I ran (link), it seems that it enters the global planner over and over again (without taking into account any info from sensors). That is not what I would expect - I expected it to return impossible to find a plan the second time it enters the planner. Is it really so, or did I make a mistake in the setup?
EDIT:
I found suitable parameters to control number of time global planner is called - those are planner_patience and max_planning_retries (the latter one is exactly what I was looking for, as found here ).
However, even with this parameters set to smaller values (2 seconds or 4 attempts), makePlan is still invoked multiple times. It seems as if that happens in separate threads, because I get the info that max_planning_retries is exceeded, but makePlan is being called over and over again.
I have no idea how to detect which function or which node calls it multiple times. Does somebody know better?
EDIT2: Additionally, it is clear that infinite loop of calling makePlan starts once the max_planning_retries is exceeded and afterwards it does not check that condition.
EDIT3: disabling recovery behaviors all together keeps number of calls to makePlan lower (although, still higher than max_planning_retries)
+1
same issue with gavran.