[ros-users] Move_base fails

Eitan Marder-Eppstein eitan at willowgarage.com
Tue Feb 1 19:56:42 UTC 2011


On Mon, Jan 31, 2011 at 10:43 PM, abhy <abhy.12354 at gmail.com> wrote:

> Hello Eitan,
> Yes, you are right!
> We are trying to achieve to send goals to the robot one after another. In
> tutorial it can set only a single goal.
> We had tried couple of thing to work this out:
> 1.  Put while(ros::ok()) loop around move_base tutorial code and check if
> old destination <> new_destination, if yes then send_goal to Action server.
> like, below:
> while(ros::ok())
> {
>  if goal.x <> old_goal and same for y then,
>  {goal.x = <x from outside>
>  goal.y = <y from outside>
>  send_goal and wait for feedback;}
>   old_goal = goal.x and same for y.
>  ros::spin();
> }
> Here, we found that it does not stop for a goal to achieve, while loop
> continues its execution. We also tried with threads.

Looping around a call to send_goal_and_wait should do what you want, the
code should block until the goal is completed and then allow for the next
goal to be sent. I suspect that the real problem is that move_base is
aborting on the goals that you send to it for some reason.

> 2. In next trial, we removed the code from while loop and kept code as it
> is. Here, we gave a call to move_base code from some outside code which is
> receiving destinations x,y.
> like,
>  Code1: receive new x,y other than old if yes call move_base program.
>  and in move_base_program: same code given in the tutorial.
> Even this did not work.
> 3. we also explored your rviz goal.cpp file where we found you are
> populating data in poseStamped directly. So we tried to copy the same
> fundamental in our code which also did not help.
> Every time we are getting below message after trying all above option,
> "Aborting because a valid plan could not be found. Even after executing all
> recovery behaviors"
> The interesting part is that, it is setting an arrow against destination in
> rviz but not planning a path towards it.

The message you've posted above is the navigation stack telling you that it
cannot achieve your goal and is aborting on it. Specifically, the global
planner cannot create a plan to your goal point. This is likely because the
goal point is in an obstacle. Can you look in rviz and check to see if the
goal point is in an obstacle, inflated obstacle or unknown space? A tutorial
on using rviz with the navigation stack can be found here:

> 4. Apart from all above options finally, we tried finally to give goals one
> after another from rviz. In this case it worked properly (arrow set and
> path
> is planned). We tried to give same goals which were there in first through
> first options.
> My rxconsole is taking lot of time to execute so i am not able to get the
> output from it.

Are you sure that the goals you are giving in rviz are the same as those
that are coming from code? It seems like the difference between the goals is
that the ones you're sending via rviz are valid, meaning the navigation
stack can create a plan to them, while the ones that you're sending from
code are not.

> Long story short, It is setting an arrow from code or directly from rviz
> but
> it does not draw a line of local planner from robot to destination if it is
> through our code.

You're not seeing a plan from code because the navigation stack is unable to
create a plan and aborts on the goal... so this is expected.

Hope this helps,


> Are we suppose work on any other point?
> -Abhy
> --
> View this message in context:
> http://ros-users.122217.n3.nabble.com/Move-base-fails-tp2369343p2395552.html
> Sent from the ROS-Users mailing list archive at Nabble.com.
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20110201/a1d231d7/attachment-0003.html>

More information about the ros-users mailing list