[Discourse.ros.org] IPC in ros2

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[Discourse.ros.org] IPC in ros2

Joshua Whitley via ros-users


Does ros2 use inter-process communication when we use it in  linux OS ? What about in case of bare metal micro-controllers where there is no OS?





---
[Visit Topic](https://discourse.ros.org/t/ipc-in-ros2/2619/1) or reply to this email to respond.


If you do not want to receive messages from ros-users please use the unsubscribe link below. If you use the one above, you will stop all of ros-users from receiving updates.
______________________________________________________________________________
ros-users mailing list
[hidden email]
http://lists.ros.org/mailman/listinfo/ros-users
Unsubscribe: <http://lists.ros.org/mailman//options/ros-users>
Reply | Threaded
Open this post in threaded view
|

[Discourse.ros.org] [Next Generation ROS] IPC in ros2

Joshua Whitley via ros-users


In the future, please set the category to "Next Generation ROS" when discussing ROS 2.

[quote="sagniknitr, post:1, topic:2619"]
Does ros2 use inter-process communication when we use it in  linux OS ?
[/quote]

First, I'll assume you mean "does ROS 2 use any operating system IPC mechanisms between nodes on the same machine, rather than sending data over UDP?", because the term "inter-process communication" only means communication between two processes, but does not imply what the mechanism is (i.e. UDP or TCP can be IPC).

It depends on the middleware implementation you are using. Currently the default of Fast-RTPS does not use anything other than UDP single cast or multicast. It could, RTPS allows for this in the protocol. I believe some of the proprietary implementations provide a shared-memory based IPC mechanism when on the same machine. Fast-RTPS will hopefully support this in the future.

[quote="sagniknitr, post:1, topic:2619"]
What about in case of bare metal micro-controllers where there is no OS?
[/quote]

There have been some experiments which use RTPS on a OS-less microcontroller to communicate with ROS 2 on a desktop and some other experiments to get our ROS 2 API compiling for microcontrollers, but there is no out of the box support for OS-less ROS 2 at this time. We did enough work to convince ourselves that is possible, but haven't followed through with sustained support because we didn't have time, though we would love to do that in the future.

In that case though, with no OS, you probably would not be using processes so the idea of "Inter-*process* communication" doesn't really make sense. You would be using something more like our "*Intra*-process communication", which can avoid sending the message data over the network (UDP in most cases).





---
[Visit Topic](https://discourse.ros.org/t/ipc-in-ros2/2619/2) or reply to this email to respond.


If you do not want to receive messages from ros-users please use the unsubscribe link below. If you use the one above, you will stop all of ros-users from receiving updates.
______________________________________________________________________________
ros-users mailing list
[hidden email]
http://lists.ros.org/mailman/listinfo/ros-users
Unsubscribe: <http://lists.ros.org/mailman//options/ros-users>
Reply | Threaded
Open this post in threaded view
|

[Discourse.ros.org] [Next Generation ROS] IPC in ros2

Joshua Whitley via ros-users
In reply to this post by Joshua Whitley via ros-users


RTI's DDS does use shared memory internally when possible, I think.





---
[Visit Topic](https://discourse.ros.org/t/ipc-in-ros2/2619/3) or reply to this email to respond.


If you do not want to receive messages from ros-users please use the unsubscribe link below. If you use the one above, you will stop all of ros-users from receiving updates.
______________________________________________________________________________
ros-users mailing list
[hidden email]
http://lists.ros.org/mailman/listinfo/ros-users
Unsubscribe: <http://lists.ros.org/mailman//options/ros-users>
Reply | Threaded
Open this post in threaded view
|

[Discourse.ros.org] [Next Generation ROS] IPC in ros2

Joshua Whitley via ros-users
In reply to this post by Joshua Whitley via ros-users


Hi sagniknitr,

Fast RTPS will support shared memory in future releases, is in our roadmap. Regarding microcontrollers we are developing a lightweight version of Fast RTPS based on an OMG future standard for constrained resources devices. Of course it is not a full DDS/RTPS implementation, but a reduced API and different protocol.

You can see the first prototypes in the Dronecode.org use case, and we are working in an release now. This will let you to use ROS2 in micro-controlllers.

If you want more details, please contact me.





---
[Visit Topic](https://discourse.ros.org/t/ipc-in-ros2/2619/4) or reply to this email to respond.


If you do not want to receive messages from ros-users please use the unsubscribe link below. If you use the one above, you will stop all of ros-users from receiving updates.
______________________________________________________________________________
ros-users mailing list
[hidden email]
http://lists.ros.org/mailman/listinfo/ros-users
Unsubscribe: <http://lists.ros.org/mailman//options/ros-users>
Reply | Threaded
Open this post in threaded view
|

[Discourse.ros.org] [Next Generation ROS] IPC in ros2

Joshua Whitley via ros-users
In reply to this post by Joshua Whitley via ros-users


Jamie,

Thanks for the update about how Fast RTPS will be evolving.  A few questions, is the prototype with Dronecode you're referring to the work you did on the [PX4 project](https://github.com/PX4/Firmware/pull/7685)?  Additionally, can you point to any public links regarding this new OMG standard for constrained resources? I know that the [RTPS standard](http://www.omg.org/spec/DDSI-RTPS/2.2/) is publicly available, is a draft of the document you're referring to available?

Thanks
\- Eddy





---
[Visit Topic](https://discourse.ros.org/t/ipc-in-ros2/2619/5) or reply to this email to respond.


If you do not want to receive messages from ros-users please use the unsubscribe link below. If you use the one above, you will stop all of ros-users from receiving updates.
______________________________________________________________________________
ros-users mailing list
[hidden email]
http://lists.ros.org/mailman/listinfo/ros-users
Unsubscribe: <http://lists.ros.org/mailman//options/ros-users>
Reply | Threaded
Open this post in threaded view
|

[Discourse.ros.org] [Next Generation ROS] IPC in ros2

Joshua Whitley via ros-users
In reply to this post by Joshua Whitley via ros-users


The DDS XRCE ("eXtremely Resource Constrained Environments" because all OMG specifications need a cool acronym) specification isn't even close to finished yet. The [RFP is available](http://www.omg.org/cgi-bin/doc.cgi?mars/2016-3-21) but you have to be an OMG member to get the working documents, unless someone involved is willing to provide them. When the specification is adopted, that becomes publicly available.

As seems to happen a lot with the DDS specs these days, the RTI/eProsima/Twin Oaks camp and the PrismTech camp have produced their own versions of the XRCE specification and are struggling to reconcile them into a single specification that the OMG can adopt. I won't wade into the debate over which is better, but I'll let you draw your own conclusions from the fact that one of the two camps only has one company it it. ;) I hope it's not going to be the RPC for DDS spec all over again; the arguments over that could be heard in other meeting rooms. But it seems likely that it will be a year and a half or more before the final specification is released.





---
[Visit Topic](https://discourse.ros.org/t/ipc-in-ros2/2619/6) or reply to this email to respond.


If you do not want to receive messages from ros-users please use the unsubscribe link below. If you use the one above, you will stop all of ros-users from receiving updates.
______________________________________________________________________________
ros-users mailing list
[hidden email]
http://lists.ros.org/mailman/listinfo/ros-users
Unsubscribe: <http://lists.ros.org/mailman//options/ros-users>
Reply | Threaded
Open this post in threaded view
|

[Discourse.ros.org] [Next Generation ROS] IPC in ros2

Joshua Whitley via ros-users
In reply to this post by Joshua Whitley via ros-users


Thanks for the informative reply @gbiggs, I had no idea the work was under way.





---
[Visit Topic](https://discourse.ros.org/t/ipc-in-ros2/2619/7) or reply to this email to respond.


If you do not want to receive messages from ros-users please use the unsubscribe link below. If you use the one above, you will stop all of ros-users from receiving updates.
______________________________________________________________________________
ros-users mailing list
[hidden email]
http://lists.ros.org/mailman/listinfo/ros-users
Unsubscribe: <http://lists.ros.org/mailman//options/ros-users>