ROS2 Evaluation

EVALUATION OF ROS2
COMMUNICATION LAYER
Adam Dąbrowski, Rafał Kozik, Mateusz Maciaś
Industrial Research Institute for Automation and Measurements PIAP
1
Agenda
•
•
•
•
•
Why we need robustness and resilience in ROS
Introduction to ROS2 and DDS
Evaluation methodology
Results
Conclusions
2
Why do we need robust and resilient ROS?
3
Data Distribution Service (DDS)
SUBSCRIBER
PUBLISHER
SUBSCRIBER
TOPIC A
DATA BUS
TOPIC B
PUBLISHER
SUBSCRIBER
4
Quality of Service (QoS)
Reliability
History
Durability
5
Supported DDS implementations
DDS Wrapper
RTI Connext DDS
Wrapper
PrismTech OpenSplice
Wrapper
eProsima Fast RTPS
Wrapper
Evaluation environment
Docker
3 topics with
different QoS
Container
VETH
ROS2 Node
Container
VETH
6
Virtual interface
modified with
tc-netem
ROS2 Node
7
Scenario 1
• Random packets are being dropped
• Presented results are for RTI Connext DDS
• Graphs show mean values from 28 runs
8
ROS reception rate in lossy networks
9
ROS2: reception rate for critical messages
10
Pariticpant liveliness
Participant 2
Participant 1
LIVELINESS MESSAGE
ASSERT PERIOD
LIVELINESS MESSAGE
LIVELINESS MESSAGE
LIVELINESS MESSAGE
11
ROS2: reception rate for control messages
12
ROS2: reception rate for sensor data
13
ROS2: latency for critical messages
14
ROS2: latency for control messages
15
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
16
ROS2: reception rate for critical messages
17
ROS2: reception rate for sensor data
18
ROS2: latency for critical messages
19
Differences in implementations
20
Limitations 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
Pros
Cons
• ROS2 makes use of the mature • DDS is a complex standard with
and powerful DDS standard
ample configuration options
• Flexibility to choose a suitable • Differences between the
implementation
implementations
• Limited access to the DDS
features
Thank you!
Adam Dąbrowski
linkedin.com/in/dabrowskiadam
Rafał Kozik
linkedin.com/in/rafalkozik
https://github.com/piappl/ros2_benchmarking