DWA planner failed to produce path [closed]
UPDATE: In the end this seems to be due to a strange interaction between our robot model and environment that seems to have only manifested under OS X. Thanks for all your help though.
I am running hydro on OS X installed using Homebrew, but with the navigation stack updated to the latest version (* hydro-devel 8824c44 fix robot_pose_ekf test
) from its GitHub (and a few other packages updated too). I am running simulated differential drive robot with a laser (a Scitos G5) in simulation (using MORSE). I have a map and the robot is well localised in it, but when I try to send it to a nav goal in RViz I repeatedly get the message
DWA planner failed to produce path.
... until it gives up.
A setup like this used to work for me, and a near-identical configuration of simulation and navigation is working fine for colleagues in the same team running Ubuntu 12.04. So something has changed in either my navigation configuration (which is maintained in a project that other people have been editing) or in my ROS install that has created this problem.
The simulation setup is here: https://github.com/strands-project/st...
The navigation configuration is here: https://github.com/strands-project/sc...
If I publish to /cmd_vel
the robot moves fine. In RViz the local and global cost maps are clear. Looking at the code (dwa_planner_ros.cpp
) that produces this message it looks like it is being produced because a 0 or negative cost path is being produced. The following code is the conditional which returns false and ultimately leads to the message above.
std::vector<geometry_msgs::PoseStamped> local_plan;
if(path.cost_ < 0) {
ROS_WARN("The dwa local planner failed to find a valid plan, cost functions discarded all candidates. This can mean there is an obstacle too close to the robot.");
Given that I can't see any obstacles in the cost maps, I'm not sure what is causing this.
So, please can anyone give me a hint about where else to look to try to find out what's causing this failure?
Is there anything you can do to isolate the issue between your current configuration and the others with the working configurations?
@David Lu excuse me,i am of great interest in your global planner in hydro navigation, and hope to have a try.But i don't know how to change the default "navfn/NavfnROS" object .In old navfn package ,class NavfnROS is defined with parameters like /allow_unknown contained in initialization function.How to use your param?
@David Lu I've been trying, but as almost everyone else is using the Ubuntu packages there are lots of differences, but most are probably irrelevant. I will come back to this at the weekend and see if I have any further inspiration.
@breeze Please open up a separate question. @hawesie Which branch/distro of navigation are you using?
@David Lu hydro-devel looks like 1.11.8 according to git log, latest commit is `8824c440ba7da2ddb8bc7bad829fa8acc7349272`
Given that the same setup works on 12.04, and that all tests are passing on trunk, I wonder if it might be something compiler related. Do all the tests pass on your system?
Any tests in particular? I see some errors when I run all the tests, but I'm not sure all are relevant.
Any dwa tests fail?