dwa_local_planner: in place rotation FIRST goal does not work
When running the navigation with dwa_local_planner, and give the first goal as an in place rotation, the robot won't move (except for recovery behaviors), and gives the below output. But, if you give a translation goal first, it moves normally, and from then on, it can rotate in place without a problem.
[ERROR] [...]: Footprint spec is empty, maybe missing call to setFootprint?
[ WARN] [...]: Invalid Trajectory 0.000000, 0.000000, -0.401014, cost: -9.000000
[ WARN] [...]: Rotation cmd in collision
[ INFO] [...]: Error when rotating.
I think the error actually comes from line 80 in obstacle_cost_function.cpp at base_local_planner, something about the footprint is not properly initialized:
double ObstacleCostFunction::scoreTrajectory(Trajectory &traj) {
...
if (footprint_spec_.size() == 0) {
// Bug, should never happen
ROS_ERROR("Footprint spec is empty, maybe missing call to setFootprint?");
return -9;
}
...
All this is easy to reproduce running, for example, turtlebot simulator and navigation amcl demo:
$ roslaunch turtlebot_gazebo turtlebot_world.launch
$ roslaunch turtlebot_gazebo amcl_demo.launch
$ roslaunch turtlebot_rviz_launchers view_navigation.launch
EDIT: The local costmap config used in the example above is the one from turtlebot packages, which can be found here: local_costmap_params.yaml
EDIT2: I use ROS Indigo on Ubuntu 14.04.2, but i've also tried with Hydro on 12.04. And yes, I have all installed via apt-get
Can you add your local costmap config please
Please add information about which version of ROS. You installed navigation through apt-get?