So, I've got a few thoughts on this:
- Have you seen the discussion about the navigation stack and nonholonomic robots? You can find it in the ros-users archive. If you read through it far enough, you'll get to some discussion about the spin-in-place scoring - basically the base_local_planner isn't the best at it so it does sometimes choose poor rotations. I don't know if this was ever solved, perhaps in the dwa_local_planner available in
navigation_experimental
. - Have you tried to visualize the potential fields that you are creating with your scoring parameters? See ticket #4620 for some examples. I believe that functionality is in the released version of base_local_planner, but you'll have to check out visualization trunk in order to get a version of rviz that has had the patch from ticket #4610 applied. Basically, use this as a sanity check to make sure that the final combination actually keeps the trajectories out of the "high cost" areas of the map.
- Eitan wrote up a nice basic navigation stack tuning guide a bit ago. Have you guys looked through those hints?
- Not sure if it would help you, but you can find the navigation stack settings we used last year at IGVC 2010 in the cwru-ros-pkg (pick the version of any file with "outdoors" in the name if there is a version with and without that in the name). Those were working reasonably well for us at IGVC until our motor controller blew a FET and we had to switch to one that could only do about half the current we needed :(. We didn't really have any issues with moving into "high cost" areas of the map or spinning 360 degrees when we were almost on the path and still had a good deal left to go. The only time it did a poor spin in place was at goal points, start points or any other place where the path made sense to include a spin-in-place.
Hope something in there helps you guys out.