[ros-users] actionlib multiple goal types

Axelrod, Benjamin baxelrod at irobot.com
Thu Sep 16 17:22:43 UTC 2010


What is the recommended way to handle multiple goal types with
actionlib?  

1)      Put flags in the .action file such that it can handle multiple
goal types?  This means always have a single action file for each
server/client pair.

2)      Make two different .action files:

a.      Can a single server/client pair handle multiple .action files?

b.      Should you have 2 actionlib servers and 2 actionlib clients?
And if so, how can they interact?

 

For example, suppose you have a node which drives a simple differential
drive robot base.  You want this server to take either a drive straight
distance, or the number of degrees to rotate in place.  Both actions
can't be going at the same time.  A new goal of one type should preempt
the other.  And the goal specification, feedback, and result are
different enough that it might make a single .action file rather
awkward.  

 

I could imagine a single .action file such as:

 

float32 driveStraightDistance

float32 rotateDegrees

bool driveStraight  #true to drive straight, false to rotate

---

float32 metersTraveled

float32 degreesRotated

bool driveStraight  #true if this goal was for a drive straight command

---

float32 metersTraveled

float32 degreesRotated

bool driveStraight  #true if this goal was for a drive straight command

 

Of course there are some redundant fields there.  This isn't my exact
use case, but you get the idea...

 

Thanks,

-Ben

 

 

 

--

Ben Axelrod

Research Scientist

iRobot Corporation

8 Crosby Drive, Mail Stop 8-1

Bedford, MA 01730

(781) 430-3315 (Tel)

(781) 960-2628 (Fax)

baxelrod at irobot.com <mailto:ofitch at irobot.com> 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/ros-users/attachments/20100916/605d0d24/attachment-0002.html>


More information about the ros-users mailing list