[zeromq-dev] ZeroMQ as replacement for CORBA in robotics

Johan Philips johan.philips at kuleuven.be
Mon Jun 15 09:02:51 CEST 2015

On 2015-06-15 02:05, Christoph Mueller wrote:
> Hi folks :)

Hi Ruuns

> I've worked 4 years in an institute for robotics where CORBA is still a
> big thing for handling a highly-concurrent and distributed dataflow
> network located on different machines/platforms and with a high-spread
> of different implemenation languages (C, C++, Python, Ruby). It was
> often a pain in the ass how the software architecture envolved into
> complexer shape from year to year.

We've been also upset with the growing complexity of CORBA in the past 
and frustrated by the fact that most roboticists assume communication is 
solved by using ROS, which is far from true!

> Now i've found your amazing piece of software in the last days and your
> framework have left a fabulous impression on me. Especially the
> documentation seems really great, seems to provide a nice interface to
> complex network stuff and i'm wondering if ZeroMQ could be the modern
> alternative of CORBA for the future.

That was my impression as well when I found this library about a year 
ago! The ZGuide is by far the best software documentation I have ever 
seen and I also like Pieter's attitude and humor in his writing :)

> 1) I would like to ask you if you have any experiences/userstories/works
> where ZeroMQ is currently used in robotics and how does it fit thier
> requirements? I'm just curious how does it perform in such domain :)

I know of a few, including our group at KU Leuven. At the last 
euRobotics Forum in Vienna, I gave an introductory presentation on 
ZeroMQ and organised a workshop on communication for robotics. If you 
want I can send you some minutes of that workshop.

> 2) I've started for myself a research project on zeromq that should be
> used for an IPC layer (TCP, PF_UNIX) to handle an asynchronous data
> network to connect a webcam process with an independent interface to
> other proccessors (loggers, computer vision detectors, gui
> visualization) I'm intending to use a classical named input/output-port
> architecture with specified messages (by google's protocul buffers) that
> is also known in ROS/Orocos (which also uses data-oriented
> publish/subscribe architecture)
> Do you have any hints and handy tips about important topics in ZeroMQ
> which are helpfull in implementing this ideaand
> i could focus in the beginning? That would be awesome.

I have started with ROUTER/DEALER sockets for asynchronous communication 
between different robots but have switched now to the Zyre library, 
since it provides a lot of the bookkeeping for discovery of peers, 
connections to those peers and heartbeating/pinging to check if they are 
still in range.

> Hope these questions are not to wide opened for a discussion.
> I also want to give the developers my appreciation for this nice
> engineered framework. Looks very solid and developer-friendly :] Keep up
> working it that manner.

It's nice to hear others in robotics are looking at ZeroMQ as well!

> Best Regards
> Ruuns


More information about the zeromq-dev mailing list