Robotics StackExchange | Archived questions

How to handle multiple goals with Action API (without waitForResult )?

Hi

I send sequence of goals to move_base SimpleActionServer. But server just processes the first and last goals. Goals between first and last goals are dropped. In API , it says that: only one goal can have an active status at a time. Clearly this is the reason of that issue. But is there any solution for that problem or alternative server that can accept goals faster than SimpleActionServer?

Note:

Thanks

Asked by Developer on 2018-05-28 15:54:59 UTC

Comments

The code shown in the second bullet point gives a good simple example of how to send a goal and wait for it to be reached, then send another. It does just what you're asking about. It send a series of goals to move-base. It waits until 1st goal is reached then sends the next, and so on.

Asked by billy on 2018-05-30 13:12:16 UTC

Thanks. The problem with simpleActionServer is wait time. It can not processes all the goals if you send the goals in the loop without " ac.waitForResult(); ". As a result it drops the goals. So this example does not handles exactly what I want. Do you have any idea for this issue ?

Asked by Developer on 2018-05-30 14:16:32 UTC

But is there any solution for that problem or alternative server that can accept goals faster than SimpleActionServer?

If the server can't actually process the goals, what's the point of being able to submit them?

Asked by gvdhoorn on 2018-05-30 15:49:30 UTC

Are you're worried about the node being blocked while waiting for goal to be reached? It's hard t help without understanding why you can't implement this concept and not tolerate the waiting. If you need to be able to submit several goals quickly, submit them to above node and let it do the work.

Asked by billy on 2018-05-30 17:14:46 UTC

Answers