Local planner stops working while global planner updates path
Hi together,
I am facing a problem. I am using the sbpl planner from this git as local planner and the teblocalplanner as local planner.
For the SBPL lattice planner I use the rover.mprim file just to try it out. After setting a goal, it tries to compute a path which works pretty good. But after driving a while the global planner updates its path which takes about 2-5 seconds. In the update time the local planner stops completely to send commands to my base controller (in this case a simulation).
I actually don't know what I should do now. Should I search for the update interval of the global path and try to lower this (I dont think there is a parameter for this in the sbpl planner) or should I try to figure out why the local planner is stopping.
Can you help me?
Edit 1
So after trying to look in the source code of the movebase node, I checked all the possibilities when the global planner is replanning. After setting my planner frequency to 0, there was just the possibility that the local planner isn't sending valid commands to the movebase node.
So I started looking a bit deeper in it, and activating the debug logger level. Seeing some strange things. I just post here an output of my terminal and explain more after:
[ WARN] [1465567966.222422432, 803.000000000]: Map update loop missed its desired rate of 5.0000Hz... the loop actually took 0.9290 seconds
[DEBUG] [1465567966.569430695, 803.234000000]: TebOptimalPlanner::isHorizonReductionAppropriate(): Distance between consecutive poses > 0.9*min_obstacle_dist
[ WARN] [1465567966.569510343, 803.234000000]: TebLocalPlannerROS: trajectory is not feasible, but the planner suggests a shorter horizon temporary. Complying with its wish for at least 10s...
[DEBUG] [1465567966.636358038, 803.279000000]: New goal: distance to existing goal is higher than the specified threshold. Reinitalizing trajectories.
[ WARN] [1465567966.688034070, 803.306000000]: TebLocalPlannerROS: trajectory is not feasible. Resetting planner...
[ INFO] [1465567966.702152522, 803.320000000]: Move base is forcing 0,0,0 velocity cmd
[ INFO] [1465567967.678576361, 803.920000000]: [SBPL] Here SPBL gets a new plan request
Some of the output is generated by myself. After this output the global_planner is replanning.
So I am seeing that all the time th TEB Planner says the trajectory is not feasible the global_planner trys to provide a new global plan, which could be feasible. Also noticing the teb planner is a most of the time in "short horizont" mode (dont know the exact name). As you can see in the debug log messages before and after he is switching to shorter horizont mode.
Here is a picture of an example plan where all of this happens.
Here is a link to my teb_planner paramter file
I hope this makes something clear
Asked by schultza on 2016-06-08 09:31:35 UTC
Comments
If the local planner really does not command anything while the global plan is being updated, maybe the move_base state machine blocks the controller execution? Maybe you can investigate the source code.
Asked by croesmann on 2016-06-09 02:54:27 UTC
Can you please look at my #edit1? I think I localized the beahviour
Asked by schultza on 2016-06-10 09:13:54 UTC
thanks for reporting this. Did you tried the most recent version from source (git)? I have fixed some issues concerning feasibility. If it is still there, this might be a candidate for the issue tracker.
Asked by croesmann on 2016-06-14 16:23:15 UTC
Since we are using Indigo, we use version 4.2 from teb_planner. So I think it is the latest.
Asked by schultza on 2016-06-27 03:16:08 UTC
@schultza Did you fix the problem? Please post your answer if you fixed it.
Asked by Karthikeyan on 2016-08-26 08:52:08 UTC