[ros-users] A modified ROS core aims to provide scalable and QoS-assuring message delivery by adopting DDS

William Woodall william at osrfoundation.org
Wed Sep 3 20:07:16 UTC 2014


Looks fine to me.


On Wed, Sep 3, 2014 at 1:03 PM, Dirk Thomas <dthomas at osrfoundation.org>
wrote:

> 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
> dthomas at osrfoundation.org
>
>
> On Tue, Sep 2, 2014 at 9:09 AM, 丁博 <bding at msn.com> 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 bding at msn.com
> 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
> > ros-users at lists.ros.org
> > http://lists.ros.org/mailman/listinfo/ros-users
> >
> _______________________________________________
> ros-users mailing list
> ros-users at lists.ros.org
> http://lists.ros.org/mailman/listinfo/ros-users
>



-- 
William Woodall
ROS Development Team
william at osrfoundation.org
http://wjwwood.io/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20140903/a00cb32f/attachment.html>


More information about the ros-users mailing list