[ros-users] ROS 2.0 transports

Esteve Fernandez esteve at apache.org
Wed May 22 14:37:39 UTC 2013


there doesn't seem to be a SIG for ROS comm protocols and APIs, so I'm
writing here anyway :-)

Following Dirk's talk about the future of ROS 2.0, I thought of
experimenting with alternate protocols for serialization and RPC. I
hacked together rosthrift [1], a package for using Apache Thrift [2]
as the transport for serialization and RPC, it generates code out of
Thrift definition files and integrates nicely with catkin.

I just added support for Python, but Apache Thrift supports many more
languages. Apache Thrift is being used by many open source projects
(HBase, Cassandra, Scribe, etc.) and unlike Protocol Buffers, it comes
with a full RPC framework for C++, Java, Python, Ruby, Perl and many
more. Disclaimer: I'm one of the developers of Apache Thrift, so I'm
clearly biased :-)

I also pushed a bunch of examples [3] that use rosthrift and txrospy
[4] that mimic the AddTwoInts example from the tutorial, but use
Apache Thrift instead of TCPROS, thus replacing much of the low level
networking code.

Is there something in the roadmap about the network stack for ROS 2.0?
I'd love to contribute! Maybe we could create a SIG and move any
discussion there.


1 - https://github.com/esteve/rosthrift
2 - https://thrift.apache.org/
3 - https://github.com/esteve/ros_beginner_tutorials
4 - https://github.com/esteve/txrospy

More information about the ros-users mailing list