Re: [ros-users] A modified ROS core aims to provide scalable…

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Dirk Thomas
Date:  
To: User discussions
Subject: Re: [ros-users] A modified ROS core aims to provide scalable and QoS-assuring message delivery by adopting DDS
Hello,

it is great to see other developers also picking DDS as their choice
of middleware. That makes us even more confident that building ROS 2
on top of DDS is the right way to go.

Regarding your implementation:
* can you share a link to a code repository for everybody to take a
closer look and try to compile it locally? A lot of people might not
be comfortable with running arbitrary binaries...
* can you describe your implementation a bit further? Specifically:
* are you using the DDS discovery functionality in addition to the
rosmaster? If so how do you maintain consistent state between the two?
* does it communicate each serialized ROS message as a binary blob
in a generic DDS message or as DDS introspectable datatypes?
* What part of they system can be used in a real time configuration?

While we have experimented with alternative transports for ROS 1 in
the past, the scope of ROS 2 is much wider. While using DDS it will
also replace the single-master-approach with the distributed discovery
provided by DDS. Also ROS messages will be transformed into DDS
messages maintaining the structure and typing of each field within
DDS. Our current prototype is also not limited to a single DDS
implementation but can easily choose from multiple different ones.

Most of the developed code is available in the "ros2" organization on
GitHub (https://github.com/ros2/). At ROSCon we will give some
summary about what we have been working on and also an outlook what
will come next. It would be great if we could combine our efforts in
the future. If you can not attend to the conference you can still
watch the recorded presentations online (shortly afterwards).

Cheers,
- Dirk

--

Dirk Thomas
ROS Development Team



On Tue, Sep 2, 2014 at 9:09 AM, 丁博 <> wrote:
> Hello everyone!
>
>
>
> We have launched a project to modify the ROS c++ core (both Hydro and
> Indigo) to use OMG's DDS (Data Distribution Service for Real-time Systems)
> as its transportation layer. This project is named micROS RT, in which RT is
> short for real-time. An early result of our work can be found at the bottom
> of this mail. This is a prototype without comprehensive testing and just for
> evaluation and feedback collection.
>
>
>
> The main features of our work include:
>
> (1) Using DDS to deliver ROS messages, instead of the built-in message
> channel in ROS. DDS is a mature middleware standard which "aims to enable
> standard which scalable, real-time, dependable, high-performance and
> interoperable data exchanges between publishers and subscribers".
>
> (2) Existing ROS applications (as well as the existing ROS programming
> paradigm) need no modification. In other words, our modification to the ROS
> core is transparent to the upper-layer applications. All you have to do is
> to replace the libroscpp.so in the ROS installation directory.
>
> (3) Providing QoS assurance in the message delivery process (coming soon).
> You can set QoS parameters when advertising a topic using the API we added,
> for example, transport priority, latency budget, delivery reliability, etc.
>
> (4) Interoperable with the official ROS core (both C++ and Python-based). In
> virtue of the built-in protocol negotiation mechanism in ROS, our
> implementation is interoperable with the official ROS core.
>
>
>
> Feature 3 is not supported yet in this version. It will come in the next two
> or three weeks. We are testing.
>
>
>
> Installation guides:
>
> (1) Installing OpenSplice DDS 6.4 community version
> (http://www.prismtech.com/opensplice/opensplice-dds-community).
>
> (2) Please ensure that the DDS environment variables have been set
> correctly. Usually, you can achieve this goal by simply running "source
> %DDSInstallationPath%/release.com".
>
> (3) Replace the libroscpp.so in the ROS directory with the file at the
> bottom downloaded from the link at the bottom of this mail.
>
> After that, all ROS messages will be switched to the DDS channel instead of
> the built-in message channel (i.e. the TCPROS protocol) in ROS.
>
> When you ROS application starts, you can see a prompt “[DDSListener] Ready…”
> in the console to tell you the DDS has been successfully started (only on
> the subscriber side).
>
>
>
> Frequently asked Questions:
>
> (1) What is DDS? Why DDS?
>
> DDS is short for "Data Distribution Service for Real-time Systems". It is an
> Object Management Group's standard for publish/subscribe middleware
> standard. It supports high-performance, scalable and QoS-assuring message
> delivery. It has been applied into many industry-level systems.
>
> Regarding the question of "Why DDS", we refer you to a related article
> (http://design.ros2.org/articles/ros_on_dds.html) discussing the design of
> ROS 2.0, the planned next generation of ROS. The reason for us to launch
> this project is very simple, i.e., we need QoS features in ROS message
> delivery processes and we cannot wait ROS 2.0.
>
> (2) Can this modified ROS core and the official ROS core co-exist in a
> distributed robot system?
>
> Yes. MicROS RT will automatically select the transport protocol. If the
> remote ROS node is using an official core without DDS support, it will
> smartly changes to the built-in ROS message channel. However, obviously, the
> QoS-assurance in message delivery cannot be supported in this case.
>
> (3) Can I specify the preferred transport protocol in my program?
>
> Yes, you can choose the preferred transport protocol (TCPROS, UDPROS or DDS)
> by using the ros::TransportHints API. Before we release the source code and
> the manual, you can contact us for more details.
>
> (4) Will you provide the source code?
>
> Yes, we will open the source code in the several weeks. The prototype we
> released now is just for collecting feedback.
>
> (5) Who are you?
>
> We are the micROS team, an non-profit academic group which consists of
> researchers, teachers and students from China. We focus on the robot
> software research and practice and hope to contribute to the ROS community.
> Any suggestion, feedback or bug reports can send to Thanks!
>
>
>
> micROS RT 0.14beta, based on ROS Indigo, 64bit binary distribution (compiled
> on Ubuntu 14.04LTS 64bit)
>
> https://onedrive.live.com/redir?resid=1639AB4151BFD7D6!2267&authkey=!ANeW-e3Rv9qbYds&ithint=file%2cso
>
> micROS RT 0.14beta, based on ROS Hydro, 64bit binary distribution (compiled
> on Ubuntu 12.04LTS 64bit)
>
> coming soon...
>
> micROS RT 0.14beta, source code
>
> coming soon...
>
>
>
>
> _______________________________________________
> ros-users mailing list
>
> http://lists.ros.org/mailman/listinfo/ros-users
>

_______________________________________________
ros-users mailing list

http://lists.ros.org/mailman/listinfo/ros-users