# ROS2 TSN talk during ROS2 real-time WG regular call on Tue, 1st of Feb, 16.00 CET

**URL:** <https://discourse.openrobotics.org/t/ros2-tsn-talk-during-ros2-real-time-wg-regular-call-on-tue-1st-of-feb-16-00-cet/24099>\
**Category:** ROS General\
**Tags:** real-time\
**Created:** [January 31, 2022, 1:34pm UTC](https://discourse.openrobotics.org/t/ros2-tsn-talk-during-ros2-real-time-wg-regular-call-on-tue-1st-of-feb-16-00-cet/24099 "2022-01-31T13:34:44Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![razr](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/razr/32/2898_2.png) [@razr](https://discourse.openrobotics.org/u/razr)\
**Post date:** [January 31, 2022, 1:34pm UTC](https://discourse.openrobotics.org/t/ros2-tsn-talk-during-ros2-real-time-wg-regular-call-on-tue-1st-of-feb-16-00-cet/24099/1 "2022-01-31T13:34:44Z")

</div>

The ROS2 real-time working group has invited [Andrei Terechko](http://discourse.ros.org/u/andrei), NXP to give a talk about [ROS2-DDS-TSN](https://github.com/NXP/dds-tsn) project they have published recently. NXP and partners have demonstrated a ROS2 control application running on several computing nodes connected over TSN. Time Sensitive Networking provides determinism and low-latency capabilities for the computing nodes connected to each other via TSN-aware network interfaces and allows to build a distributed over network real-time robotic control systems. @andrei will give a brief TSN overview, talk in more detail about his work and possible next steps.

Meeting details:  
Tue, 1st of Feb, 4 pm CET

> **[Shareable Online Calendar and Scheduling - Google Calendar](https://workspace.google.com/intl/en-US/products/calendar/)**
>
> Use Google Calendar to share meetings and schedule appointments, for managing what matters in your business and personal life, with Google Workspace.

---

<div class="post-metadata">

**Author:** ![chriseichmann](https://avatars.discourse-cdn.com/v4/letter/c/6f9a4e/32.png) [@chriseichmann](https://discourse.openrobotics.org/u/chriseichmann)\
**Post date:** [January 31, 2022, 8:58pm UTC](https://discourse.openrobotics.org/t/ros2-tsn-talk-during-ros2-real-time-wg-regular-call-on-tue-1st-of-feb-16-00-cet/24099/2 "2022-01-31T20:58:46Z")

</div>

That’s an interesting topic. Will there be a recording of the talk?

---

<div class="post-metadata">

**Author:** ![razr](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/razr/32/2898_2.png) [@razr](https://discourse.openrobotics.org/u/razr)\
**Post date:** [February 1, 2022, 10:02am UTC](https://discourse.openrobotics.org/t/ros2-tsn-talk-during-ros2-real-time-wg-regular-call-on-tue-1st-of-feb-16-00-cet/24099/3 "2022-02-01T10:02:47Z")

</div>

yes, it will be recorded.

---

<div class="post-metadata">

**Author:** ![razr](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/razr/32/2898_2.png) [@razr](https://discourse.openrobotics.org/u/razr)\
**Post date:** [February 2, 2022, 10:03am UTC](https://discourse.openrobotics.org/t/ros2-tsn-talk-during-ros2-real-time-wg-regular-call-on-tue-1st-of-feb-16-00-cet/24099/4 "2022-02-02T10:03:15Z")

</div>

Please find below links to the slides and recording.

Slides: [https://drive.google.com/file/d/1\_PvBvFd4--kLCUn3R037U-31I2E0BujN/view?usp=sharing](https://drive.google.com/file/d/1_PvBvFd4--kLCUn3R037U-31I2E0BujN/view?usp=sharing)  
Recording: [https://drive.google.com/file/d/15jU5VVkBa7ULnnnXSDOvKT6qn516CCAR/view?usp=sharing](https://drive.google.com/file/d/15jU5VVkBa7ULnnnXSDOvKT6qn516CCAR/view?usp=sharing)

Thanks @andrei and NXP for the interesting talk

---

<div class="post-metadata">

**Author:** ![andrei](https://avatars.discourse-cdn.com/v4/letter/a/9fc29f/32.png) [@andrei](https://discourse.openrobotics.org/u/andrei)\
**Post date:** [April 4, 2022, 12:02pm UTC](https://discourse.openrobotics.org/t/ros2-tsn-talk-during-ros2-real-time-wg-regular-call-on-tue-1st-of-feb-16-00-cet/24099/5 "2022-04-04T12:02:16Z")

</div>

Thanks to @razr and everyone who participated for the invitation and insightful questions!

I wanted to briefly follow up on the discussion we had after my talk:

1. During the talk there was interest in our performance analysis tool for the [DDS-TSN integration](https://github.com/NXP/dds-tsn) project. I’m happy to share that we just open-sourced the profiling framework we built on top of `pyshark`, which by itself relies on the PCAP API. Here is the [README section](https://github.com/NXP/dds-tsn#how-to-measure-tsn-performance) about the [tools](https://github.com/NXP/dds-tsn/tree/main/tools).
2. To simplify reproduction of our [GitHub DDS-TSN project](https://github.com/NXP/dds-tsn) setup, one can use the cheaper SJA1110 automotive switch board [MR-T1ETH8](https://www.nxp.com/design/development-boards/analog-toolbox/sja1110-100base-t1-multi-gig-ethernet-switch-example-board:MR-T1ETH8) with a bunch of 100BASE-T1 automotive connections. Besides, you can use the T1-to-TX [RDDRONE-T1ADAPT](https://www.nxp.com/products/interfaces/ethernet-/automotive-ethernet-phy-transceivers/ethernet-media-converter-for-drones-rovers-mobile-robotics-and-automotive:RDDRONE-T1ADAPT) media convertor, if you like to experiment with a PC first.
3. @vmayoral asked a great question if we observed latency overhead and jitter originating from the networking software stack on the processor side (end nodes). Indeed, software task scheduling and “overhead” played a major role in our experiments, because the Linux networking stack’s latency isn’t deterministic. A proper task priority and CPU affinity can help here. Besides, there are a few trade-off options to reduce the latency and jitter: [SO\_BUSY\_POLL](https://man7.org/linux/man-pages/man7/socket.7.html), [DPDK](https://en.wikipedia.org/wiki/Data_Plane_Development_Kit), [AF\_XDP](https://www.kernel.org/doc/html/latest/networking/af_xdp.html). Note, that these are trade-offs because they sacrifice something (e.g. CPU utilization) to improve the latency.
