utexas-bwi / eband_local_planner

ROS Local planner based on the eband approach. Based on the original implementation by Christian Connette and Bhaskara Marathi. This local planner has been adapted primarily for differential drive robots, but still supports the original holonomic drive controls.
http://wiki.ros.org/eband_local_planner
108 stars 83 forks source link

Planner often aborts mission #15

Open aswinthomas opened 10 years ago

aswinthomas commented 10 years ago

Hi, The planner often makes move_base abort since the robot footprint is in an obstacle at some point in the global plan. I understand that work needs to be done in convertPlanToBand to repair the band. But in the meantime, would it be best if we break out of the loop as long as there is some part of the band that can be achieved by the robot? This also allows the robot to wait for dynamic obstacles to pass and then continue, rather than aborting.

For example, rather than returning false on distance<=0.0, we could use: if(band.size()) break; else return false;

piyushk commented 10 years ago

I tried solving this problem earlier by trying to repair the band. I never tried what you've suggested. Can you report back on whether it works or not? Have you tested this on a robot?

On Jun 9, 2014 2:40 AM, "aswinthomas" notifications@github.com wrote:

Hi, The planner often makes move_base abort since the robot footprint is in an obstacle at some point in the global plan. I understand that work needs to be done in convertPlanToBand to repair the band. But in the meantime, would it be best if we break out of the loop as long as there is some part of the band that can be achieved by the robot? This also allows the robot to wait for dynamic obstacles to pass and then continue, rather than aborting.

For example, rather than returning false on distance<=0.0, we could use: if(band.size()) break; else return false;

— Reply to this email directly or view it on GitHub.

aswinthomas commented 10 years ago

Hi Piyush, Here is a video which shows that eband can reach the goal despite a new obstacle in path. Without the patch above, it aborts move_base. https://dl.dropboxusercontent.com/u/8948006/ebandSucess.ogv

However sometimes it does not reach the goal as in the case below. Is it because the goal is close? My rotation_correction_threshold = 1.0. But the goal seems to be 2.5m away. https://dl.dropboxusercontent.com/u/8948006/ebandFailedToReachGoal.ogv