Re: Common robotics data exchange format...?

Brian Gerkey <[email protected]> Fri, 13 Aug 2004 15:38:58 -0700 (PDT)
Newsgroups gmane.science.robotics.playerstage,gmane.science.robotics.orocos.user
Message-ID <[email protected]>
On Fri, 13 Aug 2004, Herman Bruyninckx wrote:

> I'm responsible for the Orocos project, <http://www.orocos.org>, and 
> one issue that surfaces in most of my discussions with contributors to
> open source robotics projects is the standardisation of "objects" and
> the protocols to exchange such objects in distributed systems.

hi Herman,

This is an enormous and ambitious undertaking, and we've already
seen the failure of at least one concerted effort at it: the RETF
(http://www.robo-etf.org/).

The goals of the RETF were very much what you've mentioned: specify
standards for interchange of commands and data for every kind of robot
device.  They also started with the Player interface spec.  There was
an active mailing list for several months (which I think you, Herman,
were also on), culminating in a face-to-face meeting at IROS 2003 in
Las Vegas, but rather little resulted from it, and (AFAIK) nothing has
happened since that meeting.

The group got bogged down immediately in questions like: Do we make
a "specification" or an "API"?  How do we define devices? What's
the right level of abstraction?  Do we exchange data is a tight
binary format or XML?  We lacked a consensus on any of these issues.
One immediately obvious problem was that the people who build systems from
microcontrollers and PWM motors have a distinctly different worldview from
those who use off-the-shelf research robots that carry workstation-class
computers (in my opinion, this particular chasm cannot be bridged).

I don't mean to say that what you're suggesting *can't* be done, and
indeed I think it's a worthwhile endeavor, and something to which I'd
like to contribute.  However, given the results of the RETF experiment,
I would offer the following advice:

   (i) Be less ambitious.  We've done well with Player, not by identifying
       how to interact with all possible devices, but by handling the
       obvious ones, and then being flexible and inclusive, considering
       and incorporating each new kind of device as it comes along.
       If we set out to "cover all thinkable robot structures," we'd
       never actually write any software.

  (ii) Have discussion, but assert control.  Not everybody will like your
       standard, but don't worry about them.  I believe community
       consensus on this topic to be unattainable, and one of the
       frailties of the RETF was that it lacked any authority figure
       (which could be either an individual or a small group) to actually
       make decisions.  As a result, discussion ranged far and wide,
       with little in the way of tangible results.

> Here is a (non-exhaustive) list of projects who I suspect to have an
> interest in an effort to define a common set of objects and protocols,
> to be used in, and between, all these projects:
>   Player/Stage <http://playerstage.sourceforge.net/>
>   Orocos <http://www.orocos.org>
>   Miro <http://smart.informatik.uni-ulm.de/MIRO/>
>   Orca <http://orca-robotics.sourceforge.net/>
>   Marie <http://marie.sourceforge.net/>.
> This email has been sent to all these projects.

Another popular system is CARMEN, from CMU/Stanford/MIT:
  http://www-2.cs.cmu.edu/~carmen/
In my experience, the CARMEN folks are less interested in standards-making
than some other projects, but it would be remiss to leave them out.

To be clear, I don't mean to sound overly pessimistic about this idea;
I just don't want to see a repeat of the RETF....

        brian.

-- 
Brian P. Gerkey                    [email protected]
Stanford AI Lab                    http://ai.stanford.edu/~gerkey



-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285