[openrtm-users 01221] ROS and OpenRTM-aist

Geoffrey Biggs geoffrey.biggs @ aist.go.jp
2010年 5月 18日 (火) 16:12:24 JST


Evening all,

Although I guess it's not a common thing yet, there have been murmurings
for quite a while now here in Japan about a desire to be able to use
OpenRTM-aist and ROS together. We would gain the huge range of
functional software and the persistent channel-based communications of
ROS, and keep the strong life-cycle and execution management of
OpenRTM-aist.

So here's a patch for OpenRTM-aist that does exactly that.

This patch adds a new transport type to OpenRTM-aist specifically for
communicating across ROS channels. No doubt someone will find the
ability to use a persistent channel for communication useful, but the
main benefit is that it gives nearly-seamless communications between
components written for OpenRTM-aist and nodes written for ROS. Your
network of distributed components/nodes no longer has to be in just one
framework.

There are no wrappers involved. It's all native communication using the
same ROS libraries as you would use in a pure-ROS system - no
translation layers means maximum efficiency. You create a port type for
the ROS transport, and off you go. If you already know ROS, you'll feel
right at home using the ports.

The one caveat is why I say nearly-seamless: we still don't have a
unified set of types (also, there are some issues with the typing system
in OpenRTM-aist that we're working to sort out). Fortunately, the types
issue is a hot topic amongst framework designers at the moment, so I
hope we will have solved that problem before too long. :)

I have attached both the patch, for OpenRTM-aist-1.0.0, and a set of
examples for each port type (publisher/subscriber/client/server). I hope
to get a web page up on the OpenRTM-aist site shortly with a more
detailed explanation of usage; for now, the examples and the doxygen
comments in the source will point you in the right direction - it's all
pretty simple.

Comments, suggestions, and improvements are welcome.

Geoff
-------------- next part --------------
$B%F%-%9%H7A<00J30$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
$B%U%!%$%kL>(B: ros_transport.patch.tar.gz
$B7?(B:         application/gzip
$B%5%$%:(B:     7617 $B%P%$%H(B
$B @ bL@(B:       $BL5$7(B
URL:        <http://www.openrtm.org/pipermail/openrtm-users/attachments/20100518/53f97be5/attachment-0002.bin>
-------------- next part --------------
$B%F%-%9%H7A<00J30$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
$B%U%!%$%kL>(B: examples.ros.tar.gz
$B7?(B:         application/gzip
$B%5%$%:(B:     5582 $B%P%$%H(B
$B @ bL@(B:       $BL5$7(B
URL:        <http://www.openrtm.org/pipermail/openrtm-users/attachments/20100518/53f97be5/attachment-0003.bin>


openrtm-users メーリングリストの案内