evaluation of ros2 communication layer · 2017-03-23 · evaluation of ros2 communication layer ......

23
EVALUATION OF ROS2 COMMUNICATION LAYER Adam Dąbrowski, Rafał Kozik, Mateusz Maciaś Industrial Research Institute for Automation and Measurements PIAP

Upload: others

Post on 20-May-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

EVALUATION OF ROS2COMMUNICATION LAYER

Adam Dąbrowski, Rafał Kozik, Mateusz Maciaś

Industrial Research Institute for Automation and Measurements PIAP

Agenda

• Why we need robustness and resilience in ROS

• Introduction to ROS2 and DDS

• Evaluation methodology

• Results

• Conclusions

1

2

Why do we need robust and resilient ROS?

3

DATA BUS

TOPIC A

TOPIC B

SUBSCRIBER SUBSCRIBERSUBSCRIBERPUBLISHER PUBLISHER

Data Distribution Service (DDS)

4Quality of Service (QoS)

Reliability

History

Durability

5Supported DDS implementations

DDS Wrapper

RTI Connext DDSWrapper

eProsima Fast RTPSWrapper

PrismTech OpenSpliceWrapper

6Evaluation environment

Docker

Container

ROS2 Node

Container

ROS2 Node

VETH

VET

H

3 topics with different QoS

Virtual interfacemodified with

tc-netem

Scenario 1

• Random packets are being dropped

• Presented results are for RTI Connext DDS

• Graphs show mean values from 28 runs

7

ROS reception rate in lossy networks8

ROS2: reception rate for critical messages9

10Pariticpant liveliness

Participant 1 Participant 2

LIVELINESS MESSAGE

LIVELINESS MESSAGE

LIVELINESS MESSAGE

LIVELINESS MESSAGE

ASSERT PERIOD

ROS2: reception rate for control messages11

ROS2: reception rate for sensor data12

ROS2: latency for critical messages13

ROS2: latency for control messages14

Scenario 2

• High volume of sensor data

• There is a limit on throughput

• Presented results are for eProsima Fast RTPS

• Graphs show mean values from 28 runs

15

ROS2: reception rate for critical messages16

ROS2: reception rate for sensor data17

ROS2: latency for critical messages18

19Differences in implementations

20Limitations of simplified DDS API

• Missing Quality of Service settings:• Deadline

• LatencyBudget

• No access to useful events:• Liveliness lost

• Offered deadline missed

• Limited configuration• Participant liveliness

• Heartbeat period

• ROS2 makes use of the matureand powerful DDS standard

• Flexibility to choose a suitableimplementation

• DDS is a complex standard with ample configuration options

• Differences between the implementations

• Limited access to the DDS features

ConsPros

Thank you!

https://github.com/piappl/ros2_benchmarking

Rafał Koziklinkedin.com/in/rafalkozik

Adam Dąbrowskilinkedin.com/in/dabrowskiadam