ROS2, Micro-ROS & intra-process [closed]

asked 2019-09-17 03:24:18 -0500

qootec gravatar image

Dear (Micro-)ROS developers,

From an applied research point of view, we are interested in understanding to what extent we will be able to use ROS2 inside a machine control environment. Based on current positioning and experience with DDS and ROS2, we seem to reach the limits once the realtime needs exceed the boundaries of a single Node.

The multi-priority initiative of Micro-ROS and the focus on intra-process & RT optimizations in the mainstream ROS2 seem promising to us, so we would like to follow-up on this. Unfortunately, when reading the documentation and posts, I get somewhat confused about how you plan to realize the realtime aspects of communication. Some fragments of what I've been reading from different sources:

  • From Micro-ROS: Multiple executors could be hosted in the same process/node, each having their own queue for messages (or in fact their handlers) of the corresponding priority (based on their handlers' callbackgroup priority).

  • From ROS2 info: ROS2 does not create its own queuing mechanism, but instead relies on the queues already available in the DDS middleware.

  • From ROS2: use_intra_process_comms() … if true, messages will go through a special intra-process communication code path. So I guess, excluding DDS. Then how will they get queued / priority managed?

  • (RTI) DDS has a Transport_Priority_QoS defined per DataWriter, which is then to be kept in sync with the cbGroup priority?

No need to answer the individual questions/observations above, since they originate from my confusion around the topic or misinterpretation of available info.

Questions:

  • It would be helpful though, to have a realtime/intraprocess design document giving an overview of the current vision. Is that available?

  • Is there a clear timeline/plan that you are adhering to for this RT-evolution?

edit retag flag offensive reopen merge delete

Closed for the following reason question is off-topic or not relevant. Please see http://wiki.ros.org/Support for more details. by qootec
close date 2019-09-17 05:01:22.167431

Comments

I'm not sure what the preferred method of communication is of the micro-ROS/OFERA developers/participants, but please be aware that it may be some time before they respond to this post.

ROS Answers is 'just' a community forum, not a dedicated communication channel for all ROS(2)-related (EU) projects.

gvdhoorn gravatar image gvdhoorn  ( 2019-09-17 03:41:48 -0500 )edit

My mistake, they point to https://discourse.ros.org/c/embedded as the most suitable location. I guess I shouldn't be cross-posting, so I'll close my question here and move it to that other forum.

qootec gravatar image qootec  ( 2019-09-17 05:00:45 -0500 )edit
1

Hmmm, when trying to post to discourse, their forum indicates that questions need to go to answers.ros.org anyway, so now I'm stuck. Can you reopen?

qootec gravatar image qootec  ( 2019-09-17 05:06:29 -0500 )edit
1

Stretching the definition a bit, what you posted could be considered more of a discussion topic than a single question.

ROS Discourse is meant for discussions, and I believe in this case your post would be OK on Discourse.

If you post there, link to your post here (to provide context) and mention that you've been advised to post on Discourse by both a moderator here (ie: me) and the developers of micro-ROS (by reading their docs).

gvdhoorn gravatar image gvdhoorn  ( 2019-09-17 05:09:52 -0500 )edit