Robotics StackExchange | Archived questions

How can I use actionlib API directly to send multiple goals ?

hi

simpleaction server can not handle multiple goals.If i send 5 goals, it cancels the 2. 3. 4. goals. Is there any way to deal with case?

thanks

Asked by Developer on 2018-05-29 06:43:40 UTC

Comments

Answers

See this Answer:

Summary (from linked Answer):

  • There is no limit to how many action servers a node can have. It is perfectly possible to have one ROS node with multiple action servers; just pass them different topic names on creation.
  • Each SimpleActionServer is limited to one goal; whenever there is a new incoming goal, the currently pending goal is cancelled. This behaviour is a simplification of the actionlib API which catches most use cases.
  • If you want to have a more sophisticated handling of goals, you are free to do so using the actionlib API directly (without the SimpleActionServer). You could have multiple goals executing in parallel, queue goals, and generally do whatever you want.

Asked by josephcoombe on 2018-05-29 07:24:53 UTC

Comments

thank you for the reference and answer, I have already seen that answer and ask a question here. I could not understand the third bullet point. How can I use actionlib API directly to get multiple goals?

Asked by Developer on 2018-05-29 08:50:25 UTC

I recommend you amend your question title to "How can I use actionlib API directly to send multiple goals" to more accurately reflect your actual question.

Asked by josephcoombe on 2018-05-29 09:42:00 UTC