SlideShare a Scribd company logo
1 of 30
Download to read offline
Dependable Communication in ROS 2
ROS & Cyclone DDS
Cyclone DDS Unleashed
Philip Oetinger Troy Karan Harrison
Senior Software Engineer
ZettaScale
Senior Software Engineer
ZettaScale
2
Cyclone DDS Unleashed
7th of March — Cyclone DDS: The Origins
21st of March — Scalability in DDS and Dealing with Large Systems
4th of April — Reasons for Choosing Cyclone DDS Shared Memory
18th of April — ROS & Cyclone DDS: Dependable Communication in ROS 2
16th of May — When to Use the Commercial Offering for Cyclone DDS
[1] ros.org/blog/why-ros/#global-community
3
ROS in Context
What is ROS?
• A consolidated and
fl
exible platform that uni
fi
es the intricacies of robotics applications
• Accounts for: hardware and device drivers, simulation and digital twinning, kinematics
planning, sensor integration, etc...
• Millions of developers and users[1]
• Hard to overstate its impact in robotics and its trickle effect on everyday life
• Internal (sensors, controllers, actuators) and external communication (bot to bot, external
systems) is critical to the functioning of any robot. Without timely access to reliable
information how could anyone or anything function?
4
Constraints for Networking in Robotics Applications
• Bandwidth
• Point clouds, image streams, real time telemetry (high frequency)
• Latency
• Actuators responding to sensors
• Reliability
• Loss of data could be loss of equipment or lives
• Security
• Prevent bad actors from accessing sensitive components
• Resource Footprint
• Robots may have limited hardware and have limited power cycles
• Feedback
• Noti
fi
cations
fi
red when deadlines are not hit
5
DDS Backbone of Communication in ROS 2
[1] Robot Operating System 2: Design, Architecture, and Uses In The Wild
[2] Taming the Dragon — Ep.3: ROS 2 Robot-to-Anything with Zenoh
ROS 2 Client Library API Stack[1]
ROS 2 DDS topics
Topic: /abc rt/abc
Service: /svc
rq/svcRequest
rr/svcReply
Action: /act
rq/act/_action/send_goalRequest
rr/act/_action/send_goalReply
rq/act/_action/cancel_goalRequest
rr/act/_action/cancel_goalReply
rq/act/_action/get_resultRequest
rr/act/_action/get_resultReply
rt/act/_action/feedback
rt/act/_action/status
ROS 2 <-> DDS Topic Mapping[2]
Eclipse Cyclone DDS
7
• Reliable communication in case of drop offs (sensor redundancy through
failover)
• Adding and removing nodes on the
fl
y
• Create ad-hoc network around oneself
• Data transmission: low latency, high throughput
• Lightweight: Energy ef
fi
ciency, CPU cycles, & RAM consumption
• Standards based: Ensure interoperability and prevent vender lock-in
The Benefits of DDS in ROS?
8
What is DDS?
• Data-distribution service:
• Real-time publish subscribe protocol
• Discovery via the simple participant
discovery protocol and the simple entity
discovery protocol
• Topic oriented and distributed push-based data-
space
• Quality of Services for steering the non-
functional requirements of the system
9
What is DDS?
ROS 2 node interfaces: topics, services, and actions[1]
[1]Robot Operating System 2: Design, Architecture, and Uses In The Wild
Demo Showcasing DDS in ROS 2
10
ROS and DDS: Making the Most Out of Your Software Framework
11
Under the Hood for Performance
• For the 2021 Indy Autonomous Challenge: three sister projects of the Eclipse
Foundation (Cyclone DDS, Zenoh, and iceoryx) featured across the designs of
the teams[1]
• A ROS 2 LiDAR device driver was modi
fi
ed to directly use the DDS API. This cut
latency by up to 90% compared with a driver that used ROS API but didn’t affect
full interoperability with ROS 2[2]
[1] Open Source Drives Indy Autonomous Challenge Racecars
[2] ROS and DDS: Making the Most Out of Your Software Framework
[3] New World Autonomous-Racing Speed Record Set at CES 2023 12
Under the Hood for Performance
• At CES 2023, PoliMOVE from Politecnico di Milano (Italy) and the University
of Alabama won the racing challenge set a new World record using Cyclone
DDS and ROS 2 hitting 180 mph (290 kph)[3]
ROS and DDS: Making the Most Out of Your Software Framework
13
Under the Hood for Performance
14
Constraints of DDS
• Oriented around LAN and designed with wired networks in mind
• Push-based only
• Quadratic discovery problem inherent to the protocol
• Discovery traf
fi
c over WiFi
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large Systems
Taming the Dragon — Ep.3: ROS 2 Robot-to-
Anything with Zenoh 15
Zenoh + Cyclone + ROS 2 = ❤
Peer-to-peer
Clique and mesh topologies
Brokered
Clients communicate
through a router or a peer
Routed
Routers forward data to and
from peers and clients
16
Zenoh + Cyclone + ROS 2 = ❤
17
Zenoh + Cyclone + ROS 2 = ❤
18
Zenoh + Cyclone + ROS 2 = ❤
19
Zenoh + Cyclone + ROS 2 = ❤
Demo Showcasing Zenoh + Cyclone in ROS 2
20
21
Central Nervous System
• Robots are like human bodies
• Bodies are a collection of sensors and actuators, controlled by (one or
many) processors
• Cyclone DDS and Zenoh work in tandem as the nervous system that
connects all the sensors, actuators, and processors
22
Central Nervous System
• Data
fl
owing between sensors and actuators needs to be transported
quickly, reliably, and without compromising on developer ergonomics
• Sensors and actuators should only be concerned with their own sent
and received information
• Ensures that there isn’t a single point of failure
23
Ethos: Open Source & Open Governance
• ROS is open, so are we!
• A rewarding constraint for the community and the end users of Cyclone DDS
• Fixing bugs and implementing features isn’t locked behind a free or paid
support system
• Forks can be freely used to modify the functionality, or extend its features,
keeping changes separate from the main repository
• Pull requests can submit bug
fi
xes, or feature additions, for use by the
entire community
[1] TSC-RMW-Reports 2021 (Humble): Switching to Cyclone DDS
[2] TSC-RMW-Reports 2021 (Humble): Evaluating DDS Vendors
24
Testimonies
“I like that [Cyclone DDS] is open-source (like ROS) and that the developers are accessible,
responsive, and very interested to learn about and accommodate your application. I also think the
integration of iceoryx will be game-changing for how we write ROS code.”[1]
“I have 100% con
fi
dence in Cyclone as a middleware. I have encountered a few instances of
customers complaining about inconsistent message delivery from their laptops. Every single time
this has been the case, those customers have been running [the default] instead of Cyclone, and it
is always
fi
xed immediately when changing to Cyclone.”[1]
“At this stage, [the open source DDS vendors] are similar enough from a technical and
performance standpoint that my evaluation has shifted more towards a qualitative evaluation of the
organizations/developers behind the implementation, particularly with respect to how eager and
responsive the developers are to accommodating the needs and requests of the community.”[2]
25
What does the future hold?
• 2022 ROSCON was very positive
• Many users still switch off of default to Eclipse Cyclone DDS
• Dynamic Types API is actively being developed
• https://github.com/eclipse-cyclonedds/cyclonedds/pull/1578 [merged]
• https://github.com/ros2/rmw_cyclonedds/pull/445 [open]
• Static Discovery is beginning its conception phase, de
fi
ne your systems to reduce (or remove) the
discovery overhead
• Pluggable Memory Allocator, improved performance and guarantee upper bound on resource limits
• Durability Service allowing for transient data to be persistent is actively being developed
• Packages available in Ubuntu, Conan (and coming to nixpkgs imminently)
26
What does the future hold?
• The next release of Zenoh:
• ROS 1 Bridge: Allowing the hook-up of systems running on ROS 1 via Zenoh
• ROS 2 Optimizations that map actions and services to Zenoh Queryables
• Commercial offering stemming from the partnership between ZettaScale and
TTTech Auto for real-time mission critical systems
27
How to switch to Cyclone DDS
• Of
fi
cial docs:
• docs.ros.org/en/humble/Installation/DDS-Implementations/Working-with-Eclipse-
CycloneDDS.html
• Community Member: ROS2 - Switch Between Different DDS Implementations (Fast DDS,
Cyclone DDS):
• youtube.com/watch?v=V3UPx_3VoyA&t=45s
Switching to the Cyclone DDS RMW Layer[1]
[1] GitHub Gist for Switching to the Cyclone DDS RMW Layer
Getting involved!
29
Getting Involved
• GitHub: github.com/eclipse-cyclonedds/cyclonedds
• RMW Layer: github.com/ros2/rmw_cyclonedds
• Website: cyclonedds.io
• Discord: discord.gg/FxSt5z8g9X
• GitHub: github.com/eclipse-zenoh/zenoh
• Website: zenoh.io
• Discord: discord.gg/4cqznr5j55
Patience, persistence and perspiration
make an unbeatable combination for
success.
Thank You For Your Time

More Related Content

Similar to Cyclone DDS Unleashed: ROS & Cyclone DDS.pdf

【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪
【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪
【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪MAKERPRO.cc
 
Fiware: Connecting to robots
Fiware: Connecting to robotsFiware: Connecting to robots
Fiware: Connecting to robotsJaime Martin Losa
 
Open Middleware Technologies for Smart Robotics - a FIWARE Smart Fest present...
Open Middleware Technologies for Smart Robotics - a FIWARE Smart Fest present...Open Middleware Technologies for Smart Robotics - a FIWARE Smart Fest present...
Open Middleware Technologies for Smart Robotics - a FIWARE Smart Fest present...eProsima
 
Reactive robotics io_t_2017
Reactive robotics io_t_2017Reactive robotics io_t_2017
Reactive robotics io_t_2017Trayan Iliev
 
How to Design Distributed Robotic Control Systems
How to Design Distributed Robotic Control SystemsHow to Design Distributed Robotic Control Systems
How to Design Distributed Robotic Control SystemsReal-Time Innovations (RTI)
 
Carrier Grade OCP: Open Solutions for Telecom Data Centers
Carrier Grade OCP: Open Solutions for Telecom Data CentersCarrier Grade OCP: Open Solutions for Telecom Data Centers
Carrier Grade OCP: Open Solutions for Telecom Data CentersRadisys Corporation
 
Reactive Java Robotics IoT - jPrime 2016
Reactive Java Robotics IoT - jPrime 2016Reactive Java Robotics IoT - jPrime 2016
Reactive Java Robotics IoT - jPrime 2016Trayan Iliev
 
5G-USA-Telemetry
5G-USA-Telemetry5G-USA-Telemetry
5G-USA-Telemetrysnrism
 
ONF & iSDX Webinar
ONF & iSDX WebinarONF & iSDX Webinar
ONF & iSDX WebinarKatie Hyman
 
Open Ethernet: an open-source approach to modern network design
Open Ethernet: an open-source approach to modern network designOpen Ethernet: an open-source approach to modern network design
Open Ethernet: an open-source approach to modern network designAlexander Petrovskiy
 
Building Robotics Application at Scale using OpenSource from Zero to Hero
Building Robotics Application at Scale using OpenSource from Zero to HeroBuilding Robotics Application at Scale using OpenSource from Zero to Hero
Building Robotics Application at Scale using OpenSource from Zero to HeroAlex Barbosa Coqueiro
 
micro-ROS: bringing ROS 2 to MCUs
micro-ROS: bringing ROS 2 to MCUsmicro-ROS: bringing ROS 2 to MCUs
micro-ROS: bringing ROS 2 to MCUseProsima
 
"How overlay networks can make public clouds your global WAN" from LASCON 2013
"How overlay networks can make public clouds your global WAN" from LASCON 2013"How overlay networks can make public clouds your global WAN" from LASCON 2013
"How overlay networks can make public clouds your global WAN" from LASCON 2013Ryan Koop
 
2016 - 10 questions you should answer before building a new microservice
2016 - 10 questions you should answer before building a new microservice2016 - 10 questions you should answer before building a new microservice
2016 - 10 questions you should answer before building a new microservicedevopsdaysaustin
 
RUCUG: 10. Robert Morris:Жизнь в окопах виртуализационной войны
RUCUG: 10. Robert Morris:Жизнь в окопах виртуализационной войныRUCUG: 10. Robert Morris:Жизнь в окопах виртуализационной войны
RUCUG: 10. Robert Morris:Жизнь в окопах виртуализационной войныDenis Gundarev
 
Easing Integration of Large-Scale Real-Time Systems with DDS
Easing Integration of Large-Scale Real-Time Systems with DDSEasing Integration of Large-Scale Real-Time Systems with DDS
Easing Integration of Large-Scale Real-Time Systems with DDSRick Warren
 
LinkedIn OpenFabric Project - Interop 2017
LinkedIn OpenFabric Project - Interop 2017LinkedIn OpenFabric Project - Interop 2017
LinkedIn OpenFabric Project - Interop 2017Shawn Zandi
 
FIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROSFIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROSJaime Martin Losa
 
DockerCon - The missing piece : when Docker networking unleashes software arc...
DockerCon - The missing piece : when Docker networking unleashes software arc...DockerCon - The missing piece : when Docker networking unleashes software arc...
DockerCon - The missing piece : when Docker networking unleashes software arc...Laurent Grangeau
 
The missing piece : when Docker networking and services finally unleashes so...
 The missing piece : when Docker networking and services finally unleashes so... The missing piece : when Docker networking and services finally unleashes so...
The missing piece : when Docker networking and services finally unleashes so...Adrien Blind
 

Similar to Cyclone DDS Unleashed: ROS & Cyclone DDS.pdf (20)

【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪
【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪
【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪
 
Fiware: Connecting to robots
Fiware: Connecting to robotsFiware: Connecting to robots
Fiware: Connecting to robots
 
Open Middleware Technologies for Smart Robotics - a FIWARE Smart Fest present...
Open Middleware Technologies for Smart Robotics - a FIWARE Smart Fest present...Open Middleware Technologies for Smart Robotics - a FIWARE Smart Fest present...
Open Middleware Technologies for Smart Robotics - a FIWARE Smart Fest present...
 
Reactive robotics io_t_2017
Reactive robotics io_t_2017Reactive robotics io_t_2017
Reactive robotics io_t_2017
 
How to Design Distributed Robotic Control Systems
How to Design Distributed Robotic Control SystemsHow to Design Distributed Robotic Control Systems
How to Design Distributed Robotic Control Systems
 
Carrier Grade OCP: Open Solutions for Telecom Data Centers
Carrier Grade OCP: Open Solutions for Telecom Data CentersCarrier Grade OCP: Open Solutions for Telecom Data Centers
Carrier Grade OCP: Open Solutions for Telecom Data Centers
 
Reactive Java Robotics IoT - jPrime 2016
Reactive Java Robotics IoT - jPrime 2016Reactive Java Robotics IoT - jPrime 2016
Reactive Java Robotics IoT - jPrime 2016
 
5G-USA-Telemetry
5G-USA-Telemetry5G-USA-Telemetry
5G-USA-Telemetry
 
ONF & iSDX Webinar
ONF & iSDX WebinarONF & iSDX Webinar
ONF & iSDX Webinar
 
Open Ethernet: an open-source approach to modern network design
Open Ethernet: an open-source approach to modern network designOpen Ethernet: an open-source approach to modern network design
Open Ethernet: an open-source approach to modern network design
 
Building Robotics Application at Scale using OpenSource from Zero to Hero
Building Robotics Application at Scale using OpenSource from Zero to HeroBuilding Robotics Application at Scale using OpenSource from Zero to Hero
Building Robotics Application at Scale using OpenSource from Zero to Hero
 
micro-ROS: bringing ROS 2 to MCUs
micro-ROS: bringing ROS 2 to MCUsmicro-ROS: bringing ROS 2 to MCUs
micro-ROS: bringing ROS 2 to MCUs
 
"How overlay networks can make public clouds your global WAN" from LASCON 2013
"How overlay networks can make public clouds your global WAN" from LASCON 2013"How overlay networks can make public clouds your global WAN" from LASCON 2013
"How overlay networks can make public clouds your global WAN" from LASCON 2013
 
2016 - 10 questions you should answer before building a new microservice
2016 - 10 questions you should answer before building a new microservice2016 - 10 questions you should answer before building a new microservice
2016 - 10 questions you should answer before building a new microservice
 
RUCUG: 10. Robert Morris:Жизнь в окопах виртуализационной войны
RUCUG: 10. Robert Morris:Жизнь в окопах виртуализационной войныRUCUG: 10. Robert Morris:Жизнь в окопах виртуализационной войны
RUCUG: 10. Robert Morris:Жизнь в окопах виртуализационной войны
 
Easing Integration of Large-Scale Real-Time Systems with DDS
Easing Integration of Large-Scale Real-Time Systems with DDSEasing Integration of Large-Scale Real-Time Systems with DDS
Easing Integration of Large-Scale Real-Time Systems with DDS
 
LinkedIn OpenFabric Project - Interop 2017
LinkedIn OpenFabric Project - Interop 2017LinkedIn OpenFabric Project - Interop 2017
LinkedIn OpenFabric Project - Interop 2017
 
FIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROSFIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROS
 
DockerCon - The missing piece : when Docker networking unleashes software arc...
DockerCon - The missing piece : when Docker networking unleashes software arc...DockerCon - The missing piece : when Docker networking unleashes software arc...
DockerCon - The missing piece : when Docker networking unleashes software arc...
 
The missing piece : when Docker networking and services finally unleashes so...
 The missing piece : when Docker networking and services finally unleashes so... The missing piece : when Docker networking and services finally unleashes so...
The missing piece : when Docker networking and services finally unleashes so...
 

More from ZettaScaleTechnology

Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared Memory
Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared MemoryCyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared Memory
Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared MemoryZettaScaleTechnology
 
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large Systems
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large SystemsCyclone DDS Unleashed: Scalability in DDS and Dealing with Large Systems
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large SystemsZettaScaleTechnology
 
Cyclone DDS Unleashed: The Origins
Cyclone DDS Unleashed: The OriginsCyclone DDS Unleashed: The Origins
Cyclone DDS Unleashed: The OriginsZettaScaleTechnology
 
"Taming the Dragon": Data Flow Programming with Zenoh-Flow
"Taming the Dragon": Data Flow Programming with Zenoh-Flow"Taming the Dragon": Data Flow Programming with Zenoh-Flow
"Taming the Dragon": Data Flow Programming with Zenoh-FlowZettaScaleTechnology
 
"Taming the Dragon": Zenoh on Microcontrollers and Low Power Networks
"Taming the Dragon": Zenoh on Microcontrollers and Low Power Networks"Taming the Dragon": Zenoh on Microcontrollers and Low Power Networks
"Taming the Dragon": Zenoh on Microcontrollers and Low Power NetworksZettaScaleTechnology
 
"Taming the Dragon": ROS2 Robot-to-Anything with Zenoh
"Taming the Dragon": ROS2 Robot-to-Anything with Zenoh"Taming the Dragon": ROS2 Robot-to-Anything with Zenoh
"Taming the Dragon": ROS2 Robot-to-Anything with ZenohZettaScaleTechnology
 
"Taming the Dragon": Get Started with Zenoh
"Taming the Dragon": Get Started with Zenoh"Taming the Dragon": Get Started with Zenoh
"Taming the Dragon": Get Started with ZenohZettaScaleTechnology
 
"Taming the Dragon": Zenoh's Genesis
"Taming the Dragon": Zenoh's Genesis "Taming the Dragon": Zenoh's Genesis
"Taming the Dragon": Zenoh's Genesis ZettaScaleTechnology
 

More from ZettaScaleTechnology (8)

Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared Memory
Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared MemoryCyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared Memory
Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared Memory
 
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large Systems
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large SystemsCyclone DDS Unleashed: Scalability in DDS and Dealing with Large Systems
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large Systems
 
Cyclone DDS Unleashed: The Origins
Cyclone DDS Unleashed: The OriginsCyclone DDS Unleashed: The Origins
Cyclone DDS Unleashed: The Origins
 
"Taming the Dragon": Data Flow Programming with Zenoh-Flow
"Taming the Dragon": Data Flow Programming with Zenoh-Flow"Taming the Dragon": Data Flow Programming with Zenoh-Flow
"Taming the Dragon": Data Flow Programming with Zenoh-Flow
 
"Taming the Dragon": Zenoh on Microcontrollers and Low Power Networks
"Taming the Dragon": Zenoh on Microcontrollers and Low Power Networks"Taming the Dragon": Zenoh on Microcontrollers and Low Power Networks
"Taming the Dragon": Zenoh on Microcontrollers and Low Power Networks
 
"Taming the Dragon": ROS2 Robot-to-Anything with Zenoh
"Taming the Dragon": ROS2 Robot-to-Anything with Zenoh"Taming the Dragon": ROS2 Robot-to-Anything with Zenoh
"Taming the Dragon": ROS2 Robot-to-Anything with Zenoh
 
"Taming the Dragon": Get Started with Zenoh
"Taming the Dragon": Get Started with Zenoh"Taming the Dragon": Get Started with Zenoh
"Taming the Dragon": Get Started with Zenoh
 
"Taming the Dragon": Zenoh's Genesis
"Taming the Dragon": Zenoh's Genesis "Taming the Dragon": Zenoh's Genesis
"Taming the Dragon": Zenoh's Genesis
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 

Cyclone DDS Unleashed: ROS & Cyclone DDS.pdf

  • 1. Dependable Communication in ROS 2 ROS & Cyclone DDS Cyclone DDS Unleashed Philip Oetinger Troy Karan Harrison Senior Software Engineer ZettaScale Senior Software Engineer ZettaScale
  • 2. 2 Cyclone DDS Unleashed 7th of March — Cyclone DDS: The Origins 21st of March — Scalability in DDS and Dealing with Large Systems 4th of April — Reasons for Choosing Cyclone DDS Shared Memory 18th of April — ROS & Cyclone DDS: Dependable Communication in ROS 2 16th of May — When to Use the Commercial Offering for Cyclone DDS
  • 3. [1] ros.org/blog/why-ros/#global-community 3 ROS in Context What is ROS? • A consolidated and fl exible platform that uni fi es the intricacies of robotics applications • Accounts for: hardware and device drivers, simulation and digital twinning, kinematics planning, sensor integration, etc... • Millions of developers and users[1] • Hard to overstate its impact in robotics and its trickle effect on everyday life • Internal (sensors, controllers, actuators) and external communication (bot to bot, external systems) is critical to the functioning of any robot. Without timely access to reliable information how could anyone or anything function?
  • 4. 4 Constraints for Networking in Robotics Applications • Bandwidth • Point clouds, image streams, real time telemetry (high frequency) • Latency • Actuators responding to sensors • Reliability • Loss of data could be loss of equipment or lives • Security • Prevent bad actors from accessing sensitive components • Resource Footprint • Robots may have limited hardware and have limited power cycles • Feedback • Noti fi cations fi red when deadlines are not hit
  • 5. 5 DDS Backbone of Communication in ROS 2 [1] Robot Operating System 2: Design, Architecture, and Uses In The Wild [2] Taming the Dragon — Ep.3: ROS 2 Robot-to-Anything with Zenoh ROS 2 Client Library API Stack[1] ROS 2 DDS topics Topic: /abc rt/abc Service: /svc rq/svcRequest rr/svcReply Action: /act rq/act/_action/send_goalRequest rr/act/_action/send_goalReply rq/act/_action/cancel_goalRequest rr/act/_action/cancel_goalReply rq/act/_action/get_resultRequest rr/act/_action/get_resultReply rt/act/_action/feedback rt/act/_action/status ROS 2 <-> DDS Topic Mapping[2]
  • 7. 7 • Reliable communication in case of drop offs (sensor redundancy through failover) • Adding and removing nodes on the fl y • Create ad-hoc network around oneself • Data transmission: low latency, high throughput • Lightweight: Energy ef fi ciency, CPU cycles, & RAM consumption • Standards based: Ensure interoperability and prevent vender lock-in The Benefits of DDS in ROS?
  • 8. 8 What is DDS? • Data-distribution service: • Real-time publish subscribe protocol • Discovery via the simple participant discovery protocol and the simple entity discovery protocol • Topic oriented and distributed push-based data- space • Quality of Services for steering the non- functional requirements of the system
  • 9. 9 What is DDS? ROS 2 node interfaces: topics, services, and actions[1] [1]Robot Operating System 2: Design, Architecture, and Uses In The Wild
  • 10. Demo Showcasing DDS in ROS 2 10
  • 11. ROS and DDS: Making the Most Out of Your Software Framework 11 Under the Hood for Performance
  • 12. • For the 2021 Indy Autonomous Challenge: three sister projects of the Eclipse Foundation (Cyclone DDS, Zenoh, and iceoryx) featured across the designs of the teams[1] • A ROS 2 LiDAR device driver was modi fi ed to directly use the DDS API. This cut latency by up to 90% compared with a driver that used ROS API but didn’t affect full interoperability with ROS 2[2] [1] Open Source Drives Indy Autonomous Challenge Racecars [2] ROS and DDS: Making the Most Out of Your Software Framework [3] New World Autonomous-Racing Speed Record Set at CES 2023 12 Under the Hood for Performance • At CES 2023, PoliMOVE from Politecnico di Milano (Italy) and the University of Alabama won the racing challenge set a new World record using Cyclone DDS and ROS 2 hitting 180 mph (290 kph)[3]
  • 13. ROS and DDS: Making the Most Out of Your Software Framework 13 Under the Hood for Performance
  • 14. 14 Constraints of DDS • Oriented around LAN and designed with wired networks in mind • Push-based only • Quadratic discovery problem inherent to the protocol • Discovery traf fi c over WiFi Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large Systems
  • 15. Taming the Dragon — Ep.3: ROS 2 Robot-to- Anything with Zenoh 15 Zenoh + Cyclone + ROS 2 = ❤ Peer-to-peer Clique and mesh topologies Brokered Clients communicate through a router or a peer Routed Routers forward data to and from peers and clients
  • 16. 16 Zenoh + Cyclone + ROS 2 = ❤
  • 17. 17 Zenoh + Cyclone + ROS 2 = ❤
  • 18. 18 Zenoh + Cyclone + ROS 2 = ❤
  • 19. 19 Zenoh + Cyclone + ROS 2 = ❤
  • 20. Demo Showcasing Zenoh + Cyclone in ROS 2 20
  • 21. 21 Central Nervous System • Robots are like human bodies • Bodies are a collection of sensors and actuators, controlled by (one or many) processors • Cyclone DDS and Zenoh work in tandem as the nervous system that connects all the sensors, actuators, and processors
  • 22. 22 Central Nervous System • Data fl owing between sensors and actuators needs to be transported quickly, reliably, and without compromising on developer ergonomics • Sensors and actuators should only be concerned with their own sent and received information • Ensures that there isn’t a single point of failure
  • 23. 23 Ethos: Open Source & Open Governance • ROS is open, so are we! • A rewarding constraint for the community and the end users of Cyclone DDS • Fixing bugs and implementing features isn’t locked behind a free or paid support system • Forks can be freely used to modify the functionality, or extend its features, keeping changes separate from the main repository • Pull requests can submit bug fi xes, or feature additions, for use by the entire community
  • 24. [1] TSC-RMW-Reports 2021 (Humble): Switching to Cyclone DDS [2] TSC-RMW-Reports 2021 (Humble): Evaluating DDS Vendors 24 Testimonies “I like that [Cyclone DDS] is open-source (like ROS) and that the developers are accessible, responsive, and very interested to learn about and accommodate your application. I also think the integration of iceoryx will be game-changing for how we write ROS code.”[1] “I have 100% con fi dence in Cyclone as a middleware. I have encountered a few instances of customers complaining about inconsistent message delivery from their laptops. Every single time this has been the case, those customers have been running [the default] instead of Cyclone, and it is always fi xed immediately when changing to Cyclone.”[1] “At this stage, [the open source DDS vendors] are similar enough from a technical and performance standpoint that my evaluation has shifted more towards a qualitative evaluation of the organizations/developers behind the implementation, particularly with respect to how eager and responsive the developers are to accommodating the needs and requests of the community.”[2]
  • 25. 25 What does the future hold? • 2022 ROSCON was very positive • Many users still switch off of default to Eclipse Cyclone DDS • Dynamic Types API is actively being developed • https://github.com/eclipse-cyclonedds/cyclonedds/pull/1578 [merged] • https://github.com/ros2/rmw_cyclonedds/pull/445 [open] • Static Discovery is beginning its conception phase, de fi ne your systems to reduce (or remove) the discovery overhead • Pluggable Memory Allocator, improved performance and guarantee upper bound on resource limits • Durability Service allowing for transient data to be persistent is actively being developed • Packages available in Ubuntu, Conan (and coming to nixpkgs imminently)
  • 26. 26 What does the future hold? • The next release of Zenoh: • ROS 1 Bridge: Allowing the hook-up of systems running on ROS 1 via Zenoh • ROS 2 Optimizations that map actions and services to Zenoh Queryables • Commercial offering stemming from the partnership between ZettaScale and TTTech Auto for real-time mission critical systems
  • 27. 27 How to switch to Cyclone DDS • Of fi cial docs: • docs.ros.org/en/humble/Installation/DDS-Implementations/Working-with-Eclipse- CycloneDDS.html • Community Member: ROS2 - Switch Between Different DDS Implementations (Fast DDS, Cyclone DDS): • youtube.com/watch?v=V3UPx_3VoyA&t=45s Switching to the Cyclone DDS RMW Layer[1] [1] GitHub Gist for Switching to the Cyclone DDS RMW Layer
  • 29. 29 Getting Involved • GitHub: github.com/eclipse-cyclonedds/cyclonedds • RMW Layer: github.com/ros2/rmw_cyclonedds • Website: cyclonedds.io • Discord: discord.gg/FxSt5z8g9X • GitHub: github.com/eclipse-zenoh/zenoh • Website: zenoh.io • Discord: discord.gg/4cqznr5j55
  • 30. Patience, persistence and perspiration make an unbeatable combination for success. Thank You For Your Time