Thomas Moulard tmoulard@amazon.com
AWS RoboMaker, ROS 2 Security WG Lead
Is ROS 2 ready for
production?
A look at ROS 2 robustness, security and
performance.
2019-06-12
What we will cover
• AWS RoboMaker overview & architecture
• ROS 2 D New Features andTools
• New Quality of Service settings
• Code Quality Improvements
• Security
• Performance
Robotic development is
difficult and time consuming
Hundreds of hours
spent building components
Many
prototyping iterations
Days spent setting
up and configuring
Months to building a realistic simulation
environment
Duplicated efforts integrating an
application management system
ROS 2 Quality of Service
• Quality of Service settings allow fine-grained control over ROS 2 communication
behavior. Each topic may have different settings.
• Available policies are:
• History
• Depth
• Reliability
• Durability
• Deadline (new in D!)
• Lifespan (new in D!)
• Liveliness (new in D!)
New in D: Quality of Service / Deadline
Send msg1Node 1
Receive msg1Node 2
msg1 Deadline
Success! Message is
received before deadline.
Send msg2Node 1
Receive msg2Node 2
msg2 Deadline
Failure! Message has not
been received on time.
New in D: Quality of Service / Lifespan
Send msg1Node 1
Receive msg1Node 2
msg1 Lifespan
Success! Message
delivered before expiry
date
Send msg2Node 1
Drop msg2Node 2
msg2 Lifespan
Failure! Message
delivered after expiry date
New in D: Quality of Service / Liveliness
HeartbeatNode
Node is considered alive
Node is not considered alive
Heartbeat Heartbeat Heartbeat
HeartbeatNode Heartbeat
New in D: Quality of Service / Try it yourself!
bit.ly/ros2-qos-demo
ROS 2 Code Quality Improvements
In ROS 2 D, we solved:
• 4 memory leaks impacting production
• 17 memory leaks impacting tests
• 2 data races impacting Fast RTPS
Fixed 89% of ASan detected defects.
Nightly run of GCC sanitizers (ASan/TSan) to detect:
• Lock Order Inversion (deadlocks)
• Data Races
• Unsafe Signal Handling
• Invalid Memory Access
• Memory Leaks
More information: bit.ly/ros2-sanitizer
ROS 2 Security
• ROS 1/2 footprinting
Aztarna by Alias robotics
bit.ly/aztarna
• ROS 2 SecurityTesting Framework (WIP)
bit.ly/ros2-sectest
• SROS 2 enables secure (signed or encrypted) communication
over DDS.
• Access Control can also be enabled.
• Built on top of the DDS Security Extension.
• Necessary to avoid data interception when communicating over
an insecure network link (Ethernet).
• For each node, a private key and a certificate is generated.
More information: bit.ly/sros2-demo
Join the ROS 2 Security Working group! Bi-weekly meetings to
discuss ROS 2 security improvements. Meetings are announced on
OSRF Discourse website.
iRobot BenchmarkingTools montreal
lyon hamburg
osaka
mandalay
ponce
barcelona geneva
georgetown arequipa
ROS 2 Crystal Performance on a Raspberry Pi 3.
More information: bit.ly/irobot-ros2-perf
Is ROS 2 Production Ready?
With the release of the first LTS ROS 2 release, ROS 2 ecosystem is
maturing quickly!
• Middleware improvements
• QoS features (deadline, lifespan, liveliness)
• Code Quality
• Nightly runs to detect memory and concurrency bugs early
• Security
• Secure communication using SROS 2
• Additional security tooling in development by Alias Robotics
and AWS
• Performance
• iRobot Performance Tools