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

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


On Wed, Sep 3, 2014 at 1:03 PM, Dirk Thomas <>
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
>
>
>
> 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
>




--
William Woodall
ROS Development Team

http://wjwwood.io/
_______________________________________________
ros-users mailing list

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