[ros-users] ROS & DDS

Ingo Lütkebohle iluetkeb at gmail.com
Thu Feb 13 09:13:33 UTC 2014


Well, to say this up-front, I think it would be a smart move to get
out of the middleware game by using something proven. It saves a lot
of time and development effort.

Regarding DDS, my personal exposure has been very limited. We're not
using it ourselves, and I don't know anybody using it (well, except
for Geoff of course, who might also be a good guy to ask about this,
see https://github.com/gbiggs/rtmdds)

That said, I've done a comparison between ORTE
(http://orte.sourceforge.net/) and ZeroMQ (http://zeromq.org/) once.
ORTE is not a full DDS implementation, but realizes the the Real-Time
Publish-Subscribe (RTPS) Protocol that many of the commercial DDS
vendors also speak (I believe it is currently the only protocol which
is actually interoperable). ZMQ also implements something which was
intended to become an interoperability standard, but as I understand,
that effort met some issues.

Now, I should say that is somewhat comparing apples with oranges,
because the feature-set is very different. Most importantly, ZMQ does
not provide data marshaling/unmarshaling (which we could live with),
and it also does not provide a naming and discovery service (which is
a bit annoying). Both of these are things where using a proven
middleware would be great.

I still ended up using ZMQ because I wanted a zero-copy transport, and
also -- to be honest -- because the API was so dead simple. However,
for the ROS use case, I would recommend going with something which
also supports naming and marshaling, like DDS. Maybe you could pick a
small and simple implementation like ORTE, and wrap it appropriately,
which should be a no-brainer.

On Wed, Feb 12, 2014 at 5:56 PM, Brian Gerkey <gerkey at osrfoundation.org> wrote:
> hi,
>
> As we work on improving the communications middleware within ROS, one
> of the approaches that has come up repeatedly is DDS (Data
> Distribution Service; http://portals.omg.org/dds/).  There are lots of
> positive aspects of DDS as a middleware, and of course some tradeoffs
> (e.g., in exchange for lots of features in the message transport, the
> API is incredibly verbose; while there are open source
> implementations, there's not the feeling of an active community doing
> development on them).
>
> We'd like to understand what the level of interest is within the ROS
> community for DDS support.
>
> So, for those of you who already know something about DDS (especially
> if you have experience using it), here are some questions to start a
> discussion.  Don't feel obliged to answer every question, and also
> feel free to answer questions not asked here.  If you prefer, you can
> reply directly to me, and we'll anonymize your comments before
> potentially sharing them.
>
> What's your opinion of DDS (good, bad, ugly, other)?  If you like DDS,
> why?  If you don't like it, why not?
>
> How would you compare DDS to the ROS middleware?
>
> Do you see others in your field using DDS?  Have you ever wished that
> ROS could "speak DDS"?  Have you already used DDS in combination with
> ROS?
>
> thanks,
> brian.
> _______________________________________________
> ros-users mailing list
> ros-users at lists.ros.org
> http://lists.ros.org/mailman/listinfo/ros-users



-- 
Ingo Lütkebohle, Dr.-Ing.
Machine Learning and Robotics Lab, IPVS, Universität Stuttgart
http://www.ipvs.uni-stuttgart.de/abteilungen/mlr/abteilung/mitarbeiter/Ingo.Luetkebohle
+49-711-685-88350

PGP Fingerprint 3187 4DEC 47E6 1B1E 6F4F  57D4 CD90 C164 34AD CE5B


More information about the ros-users mailing list