Re: [ros-users] [ros-sig-ng-ros] ROS 2.0 transports and ROS …

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: ros-sig-ng-ros, User discussions
Subject: Re: [ros-users] [ros-sig-ng-ros] ROS 2.0 transports and ROS 1.x transports
Hi,

2013/5/27 Jonathan Bohren <>:
> Can you ping the SIG and maybe even ROS-users for people to test it out when
> it's operational?


Done. I just pushed the last bits to my fork of ros_comm [1], to
txrospy [2] and two examples to ros_beginners_tutorials [3]. These
changes add ZeroMQ as the transport and Thrift as the serialization
protocol for the Master API and for ROS RPC. Basically:

- Make rosmaster listen on ROS_MASTER_URI + 1 for ZeroMQ + Thrift
incoming requests. It still listens on ROS_MASTER_URI for normal
XML-RPC requests, so it's compatible with existing clients. Requires
python-zmq, thrift-compiler and python-thrift, you can add Chris Lea's
and Warren Noronha's PPA repositories [4][5] and install these
dependencies with apt-get install python-zmq thrift-compiler
python-thrift
- Integrate support for asynchrnous Thrift and txZMQ to txrospy.
Requires txzmq (pip install txzmq)
- Two examples that show the use of txrospy with ZeroMQ and Thrift.

It's all very preliminary, and doesn't really take advantage of ZeroMQ
(e.g. no multicast) and not all the Master API methods are supported
(e.g. registerPublisher/registerSubscriber). I didn't make the changes
to rospy because I wasn't as familiar with its codebase as with
txrospy, but I think the changes could be ported to it fairly easily.

Cheers.

1 - https://github.com/esteve/ros_comm/tree/zeromq_thrift
2 - https://github.com/esteve/txrospy/tree/zeromq_thrift
3 - https://github.com/esteve/ros_beginner_tutorials/tree/zeromq_thrift
4 - https://launchpad.net/~chris-lea/+archive/zeromq
5 - https://launchpad.net/~wnoronha/+archive/thrift