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 > dthomas@osrfoundation.org > > > 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 bding@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@lists.ros.org > > http://lists.ros.org/mailman/listinfo/ros-users > > > _______________________________________________ > ros-users mailing list > ros-users@lists.ros.org > http://lists.ros.org/mailman/listinfo/ros-users > -- William Woodall ROS Development Team william@osrfoundation.org http://wjwwood.io/