Why does elastic band fail to set plan?
I came across next error while executing navigation of turtlebot with elastic band. As a condition, there is an obstacle(trash) between initial position and goal position. Without a trash, the error doesn't happen.
[ INFO] [1398906012.806944687]: Using plugin "staticlayer" [ INFO] [1398906013.027047016]: Requesting the map... [ INFO] [1398906013.361219594]: Resizing costmap to 4000 X 4000 at 0.050000 m/pix [ INFO] [1398906014.101873513]: Received a 4000 X 4000 map at 0.050000 m/pix [ INFO] [1398906014.124545626]: Using plugin "obstaclelayer" [ INFO] [1398906014.157334499]: Subscribed to Topics: scan bump [ INFO] [1398906014.305734060]: Using plugin "inflationlayer" [ INFO] [1398906014.880262074]: Using plugin "obstaclelayer" [ INFO] [1398906015.106663584]: Subscribed to Topics: scan bump [ INFO] [1398906015.374262701]: Using plugin "inflationlayer" [ INFO] [1398906015.827124830]: Created localplanner ebandlocalplanner/EBandPlannerROS [ WARN] [1398906016.226553024]: Map update loop missed its desired rate of 2.0000Hz... the loop actually took 1.7923 seconds [ WARN] [1398906064.118454742]: Band is broken. Could not close gaps in converted path. Path not set. Global replanning needed [ERROR] [1398906064.118672550]: Setting plan to Elastic Band method failed! [ERROR] [1398906064.119511556]: Failed to pass global plan to the controller, aborting.So, I looked for where the error happened and found that same ROSERROR code is described on line 171 in ebandlocalplannerros.cpp.
if(!eband->setPlan(transformedplan)) { ROSERROR("Setting plan to Elastic Band method failed!"); return false; }If eband.setPlan() is true, ROSERROR doesn't happen. But, I don't come up with the solution that it become true. Could anyone tell me any solution if you know it? Thank you in advance!
Asked by Ken_in_JAPAN on 2014-04-30 16:51:16 UTC
Comments
I use carrot_planner as global_planner. Is it bad to match the planner with eband_local_planner?
Asked by Ken_in_JAPAN on 2014-04-30 17:28:26 UTC