# ROS2 Real-time Working Group Online Meeting - May 20th, 2019 between 7AM and 8AM PDT (UTC-7)

**URL:** <https://discourse.openrobotics.org/t/ros2-real-time-working-group-online-meeting-may-20th-2019-between-7am-and-8am-pdt-utc-7/9196>\
**Category:** ROS General\
**Tags:** wg-real-time\
**Created:** [May 17, 2019, 4:10pm UTC](https://discourse.openrobotics.org/t/ros2-real-time-working-group-online-meeting-may-20th-2019-between-7am-and-8am-pdt-utc-7/9196 "2019-05-17T16:10:22Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dejan\_Pangercic](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/dejan_pangercic/32/293_2.png) [@Dejan\_Pangercic](https://discourse.openrobotics.org/u/Dejan_Pangercic)\
**Post date:** [May 17, 2019, 4:10pm UTC](https://discourse.openrobotics.org/t/ros2-real-time-working-group-online-meeting-may-20th-2019-between-7am-and-8am-pdt-utc-7/9196/1 "2019-05-17T16:10:22Z")

</div>

Hi everyone,

We are planning to hold the first ROS 2 Real-time Working group meeting on May 20th, 2019 between 7AM and 8AM PDT (UTC-7).

**Agenda**

See pre-discussion: [ROS 2 and Real-time - ROS General - Open Robotics Discourse](http://discourse.ros.org/t/ros-2-and-real-time/8796).

1. select one of the use cases below and probably loose interest from people having other uses case.
2. focus on somewhat generic parts of ROS 2 that will help independently of the selected use case.  
My reading of your comments is that these parts are the following ones:
3. create rmw layers for static and real-time middleware (RTI Connext Micro, Micro-XRCE-DDS)
4. perform memory audit in rmw, rcl and rclcpp (remove unneeded memory allocations)
5. split memory allocation in init and runtime phases, avoid memory fragmentation
6. remove all blocking calls (or replace with timed calls, e.g. `mutex` vs `timed_mutex` )
7. implement real-time pub/sub (either using Waitset or modified Callback/Executor)
8. integrate tools for static and dynamic code analysis (PCLint, LDRA, Silexica, LTT-ng)
9. Create node architecture for deterministic execution (policy for message aggregation, nodes cohesion, parallelization, local error handling …)
10. Create a design for global error handling (history of failures, core dumps, fail-safe mechanism, …)
11. Create CI for RT testing (e.g. [https://github.com/ros2/ros2/issues/607#issuecomment-460319513](https://github.com/ros2/ros2/issues/607#issuecomment-460319513))
12. **ROSCon workshop proposal???**

**Use cases**

1. consumer robots (Ingo)
2. warehouse logistics robots (David)
3. mobile manipulation robots (Victor)
4. autonomous driving robots/cars (Dejan, Geoff)

**Meeting details**  
Apex.AI is inviting you to a scheduled Zoom meeting.

Topic: ROS 2 Real-time  
Time: May 20, 2019 7:00 AM Pacific Time (US and Canada)

Join Zoom Meeting  
[https://zoom.us/j/771375394](https://www.google.com/url?q=https://zoom.us/j/771375394&sa=D&ust=1558540579260000&usg=AOvVaw16NRoa3BqEzbWeB5K-7w8T)

One tap mobile  
+16699006833,771375394# US (San Jose)  
+19294362866,771375394# US (New York)

Dial by your location  
+1 669 900 6833 US (San Jose)  
+1 929 436 2866 US (New York)  
Meeting ID: 771 375 394  
Find your local number: [https://zoom.us/u/aAmxdSnyw](https://www.google.com/url?q=https://zoom.us/u/aAmxdSnyw&sa=D&ust=1558540579260000&usg=AOvVaw1yp99UEqisfQ4kEYDCXHKK)

---

<div class="post-metadata">

**Author:** ![Dejan\_Pangercic](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/dejan_pangercic/32/293_2.png) [@Dejan\_Pangercic](https://discourse.openrobotics.org/u/Dejan_Pangercic)\
**Post date:** [May 17, 2019, 4:18pm UTC](https://discourse.openrobotics.org/t/ros2-real-time-working-group-online-meeting-may-20th-2019-between-7am-and-8am-pdt-utc-7/9196/2 "2019-05-17T16:18:44Z")

</div>

@vmayoral @iluetkeb @lbegani @davecrawley @mosteo @mjeronimo @gbiggs @traversaro @nburek@tobiasblass see the invite above.

---

<div class="post-metadata">

**Author:** ![Vilas\_Chitrakaran](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/vilas_chitrakaran/32/2516_2.png) [@Vilas\_Chitrakaran](https://discourse.openrobotics.org/u/Vilas_Chitrakaran)\
**Post date:** [May 17, 2019, 4:25pm UTC](https://discourse.openrobotics.org/t/ros2-real-time-working-group-online-meeting-may-20th-2019-between-7am-and-8am-pdt-utc-7/9196/3 "2019-05-17T16:25:04Z")

</div>

Could I please join in as a listener?

Thanks

Vilas

([https://www.linkedin.com/in/vilas-chitrakaran-9a32866/](https://www.linkedin.com/in/vilas-chitrakaran-9a32866/))

---

<div class="post-metadata">

**Author:** ![Dejan\_Pangercic](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/dejan_pangercic/32/293_2.png) [@Dejan\_Pangercic](https://discourse.openrobotics.org/u/Dejan_Pangercic)\
**Post date:** [May 17, 2019, 4:31pm UTC](https://discourse.openrobotics.org/t/ros2-real-time-working-group-online-meeting-may-20th-2019-between-7am-and-8am-pdt-utc-7/9196/4 "2019-05-17T16:31:49Z")

</div>

@Vilas_Chitrakaran yes, very welcome to join.

---

<div class="post-metadata">

**Author:** ![akihikotsukuda](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/akihikotsukuda/32/2779_2.png) [@akihikotsukuda](https://discourse.openrobotics.org/u/akihikotsukuda)\
**Post date:** [May 20, 2019, 1:44pm UTC](https://discourse.openrobotics.org/t/ros2-real-time-working-group-online-meeting-may-20th-2019-between-7am-and-8am-pdt-utc-7/9196/5 "2019-05-20T13:44:05Z")

</div>

I would like to join the meeting.  
Maybe I can comment to some RTOS-related topics.

---

<div class="post-metadata">

**Author:** ![tomoyafujita](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/tomoyafujita/32/6097_2.png) [@tomoyafujita](https://discourse.openrobotics.org/u/tomoyafujita)\
**Post date:** [May 20, 2019, 11:02pm UTC](https://discourse.openrobotics.org/t/ros2-real-time-working-group-online-meeting-may-20th-2019-between-7am-and-8am-pdt-utc-7/9196/7 "2019-05-20T23:02:40Z")

</div>

@Dejan_Pangercic

i did not make it, could you share the recording or minutes, if available?

---

<div class="post-metadata">

**Author:** ![Dejan\_Pangercic](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/dejan_pangercic/32/293_2.png) [@Dejan\_Pangercic](https://discourse.openrobotics.org/u/Dejan_Pangercic)\
**Post date:** [May 22, 2019, 4:37am UTC](https://discourse.openrobotics.org/t/ros2-real-time-working-group-online-meeting-may-20th-2019-between-7am-and-8am-pdt-utc-7/9196/8 "2019-05-22T04:37:19Z")

</div>

Dear all,  
here are the minutes of our meeting on May 20.

## Recording

[https://zoom.us/recording/play/95nFrEUoqSQuMClP0ppa3ZbEUVcbCjYbi2y5zZmBspzIT7piImWYcoCW\_abkJdnF](https://zoom.us/recording/play/95nFrEUoqSQuMClP0ppa3ZbEUVcbCjYbi2y5zZmBspzIT7piImWYcoCW_abkJdnF)

## Participants

- Victor, Acutronic Robotics
- Tobias, Bosch Research
- Ingo, Bosch Research
- David, Ubiquity Robotics
- Akihiko, eSol
- Geoff, TierIV
- Lalit, Intel
- Lander and Carlos, Acutronic Robotics
- Matt, Intel
- Nick, AWS
- Sriram
- Dejan and Anup, Apex.AI

## Action Items

1. Dejan to provide a use case description and requirements
2. find someone that will lead the work on real-time able rmw
3. get William to present his findings on real-timeness in rcutils, rcl and rclcpp
4. create a shared repository for tools for static and dynamic code analysis and tracing
5. present Bosch paper and real-time with Callback+Executor in detail in one of the next meetings

## Main points

On the use case:

- Propose a use case =\> requirements =\> architecture =\> hardware
- Proposed canonical use case: a vehicle/robot encounters an obstacle and has to stop safely for it
- Proposed other use case: autonomous driving
  - **AI** : Dejan to provide a use case description and requirements

> [@Dejan\_Pangercic](#):
>
> - create rmw layers for static and real-time middleware (RTI Connext Micro, Micro-XRCE-DDS)

Create an rmw implementation which works for a single process. Once that works connect with the underlying data link (e.g. TSN). Measure: malloc/realloc calls, page faults, context switches, memory consumption, blocking calls, … RTI Connext Micro is a suitable DDS implementation for something like this due it its staticity and intra-process communication feature.

**AI** : find someone that will lead this work.

> [@Dejan\_Pangercic](#):
>
> - perform memory audit in rmw, rcl and rclcpp (remove unneeded memory allocations)
> - split memory allocation in init and runtime phases, avoid memory fragmentation
> - remove all blocking calls (or replace with timed calls, e.g. `mutex` vs `timed_mutex` )

Document current state of the art. Someone remarks that there were still mutexes used in e.g. rmw or rclcpp. Memory is still being allocated/de-allocated when receiving messages.  
**AI** : find examples in code.  
**AI2** : get William to present his findings

> [@Dejan\_Pangercic](#):
>
> - integrate tools for static and dynamic code analysis (PCLint, LDRA, Silexica, LTT-ng)

Invest in the tools for static and dynamic code analysis and tracing and carefully scan the code.  
**AI:** create a shared repository for above tools. Bosch will e.g. open-source their integration of LTTng in ROS2. Silexica is integrating they dynamic analyser.

> [@Dejan\_Pangercic](#):
>
> - implement real-time pub/sub (either using Waitset or modified Callback/Executor)

We briefly scanned through the paper by Bosch: [https://t-blass.de/papers/response-time-analysis-of-ros2.pdf](https://t-blass.de/papers/response-time-analysis-of-ros2.pdf).  
**AI** : present the paper in detail in one of the next meetings.

> [@Dejan\_Pangercic](#):
>
> 1. **ROSCon workshop proposal???**

Victor, Ingo, Dave and Geoff will co-submit.

---

<div class="post-metadata">

**Author:** ![lbegani](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/lbegani/32/2470_2.png) [@lbegani](https://discourse.openrobotics.org/u/lbegani)\
**Post date:** [May 23, 2019, 10:43am UTC](https://discourse.openrobotics.org/t/ros2-real-time-working-group-online-meeting-may-20th-2019-between-7am-and-8am-pdt-utc-7/9196/9 "2019-05-23T10:43:52Z")

</div>

> [@Dejan\_Pangercic](#):
>
> > - create rmw layers for static and real-time middleware (RTI Connext Micro, Micro-XRCE-DDS)
> 
> Create an rmw implementation which works for a single process. Once that works connect with the underlying data link (e.g. TSN). Measure: malloc/realloc calls, page faults, context switches, memory consumption, blocking calls, … RTI Connext Micro is a suitable DDS implementation for something like this due it its staticity and intra-process communication feature.
> 
> **AI** : find someone that will lead this work.

@Dejan_Pangercic I can take this up. However, I would need some help to understand the problem statement and to find the solution. Let me know your thoughts.

---

<div class="post-metadata">

**Author:** ![Ingo\_Lutkebohle](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/ingo_lutkebohle/32/6730_2.png) [@Ingo\_Lutkebohle](https://discourse.openrobotics.org/u/Ingo_Lutkebohle)\
**Post date:** [July 10, 2019, 2:02pm UTC](https://discourse.openrobotics.org/t/ros2-real-time-working-group-online-meeting-may-20th-2019-between-7am-and-8am-pdt-utc-7/9196/10 "2019-07-10T14:02:34Z")

</div>

How about having another meeting in July?

---

<div class="post-metadata">

**Author:** ![christophebedard](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/christophebedard/32/1514_2.png) [@christophebedard](https://discourse.openrobotics.org/u/christophebedard)\
**Post date:** [July 10, 2019, 2:50pm UTC](https://discourse.openrobotics.org/t/ros2-real-time-working-group-online-meeting-may-20th-2019-between-7am-and-8am-pdt-utc-7/9196/11 "2019-07-10T14:50:54Z")

</div>

> [@Dejan\_Pangercic](#):
>
> Bosch will e.g. open-source their integration of LTTng in ROS2.

Follow-up: I made a [post](http://discourse.ros.org/t/alpha-release-of-ros-2-tracing-tools/9833) about the alpha release!

---

<div class="post-metadata">

**Author:** ![Dejan\_Pangercic](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/dejan_pangercic/32/293_2.png) [@Dejan\_Pangercic](https://discourse.openrobotics.org/u/Dejan_Pangercic)\
**Post date:** [July 18, 2019, 9:28pm UTC](https://discourse.openrobotics.org/t/ros2-real-time-working-group-online-meeting-may-20th-2019-between-7am-and-8am-pdt-utc-7/9196/12 "2019-07-18T21:28:15Z")

</div>

@Ingo_Lutkebohle I will send an invite for next week.
