SlideShare a Scribd company logo
1 of 14
Download to read offline
Micro XRCE-DDS: Bringing DDS into
microcontrollers
www.eprosima.com
https://micro-xrce-dds.docs.eprosima.com/en/latest/
DDS: a recap
DDS: Middleware specification for
Data Distribution Service.
DDS at a glance:
● Data-centricity
● Publish-Subscribe architecture
● Global data space
● Data connectivity: many-to-many
distributed network
● QoS mechanisms
● API standard guaranteeing
interoperability among
implementations
● Dynamic Discovery
From DDS to DDS-XRCE
Publish-Subscribe paradigm Client-Server architecture
The DDS-XRCE wire protocol
DDS-XRCE: DDS for eXtremely Resource-Constrained Environment.
Clients - XRCE entities on low-resource consumption devices.
Agent - XRCE entity connected with DDS global data space. Acts on behalf of Clients in the DDS world.
Main features:
● Client-server architecture
● Request-response pattern
● Connection oriented
Micro XRCE-DDS
Main components:
● Micro XRCE-DDS Agent
● Micro XRCE-DDS Client
Additional components:
● Generator tool
● Serialization library
eProsima Micro XRCE-DDS: First
implementation of DDS-XRCE protocol.
Micro XRCE-DDS
Main components:
● Micro XRCE-DDS Agent
● Micro XRCE-DDS Client
Additional components:
● Generator tool
● Serialization library
eProsima Micro XRCE-DDS: First
implementation of DDS-XRCE protocol.
Supported OSes and RTOSes
RTOS: Real Time Operating System
Main Features:
● Works with an advanced algorithm for scheduling tasks within
maximum time limit.
● Apt for Real-Time applications
● POSIX-compliant interface
NuttX
FreeRTOS
Linux Windows
Zephyr
Client-Agent communication
Communication flow:
● Client connects to agent
(upon previous knowledge
or discovery)
● Session creation (Client
proxy instantiation)
● DDS Participant creation
● Other DDS Entities
creation
micro-ROS: puts ROS 2 onto
microcontrollers!
The solution for creating ROS 2 nodes
into embedded devices
Micro XRCE-DDS: the micro-ROS middleware
Real-Time OS
Additional
drivers, …
POSIX
Micro XRCE-DDS Client
ROS Middleware Interface (rmw)
+ Additional abstractions
micro-ROS
Agent
microcontroller
C API
rcl
C++ API
(rclcpp)
Convenience functions,
deterministic execution, …
Application
component
Application
component …
rclc:
Linux, Mac OS, Windows
DDS Implementation [Fast DDS, ..]
ROS Middleware Interface (rmw)
microprocessor
C API
rcl
C++ API
(rclcpp)
Application
component
Application
component …
Python API
(rclpy)
Apps
ROS
Client Library
ROS MW
Interface
Operating
Systems
Hardware
XRCE-DDS
DDS
Micro XRCE-DDS: the micro-ROS middleware
micro-ROS
ROS 2
Thank you!
Francesca Finocchiaro
eProsima - Team manager
francescafinocchiaro@eprosima.com
www.eprosima.com
Back-up slides
Micro XRCE-DDS Client
Micro XRCE-DDS Client:
C99 library. Features:
● UDP, TCP, and Serial
transport support
● Micro XRCE-DDS as a wire
protocol
● Full static memory
● Configurable profiles
● Streams: best effort &
reliable
● DDS entities can be created
by: XML, reference or binary
profiles
Micro XRCE-DDS Agent
Micro XRCE-DDS Agent:
C++11 application &
library. Features:
● UDP, TCP, and Serial
transport support
● Fast DDS as DDS
wire protocol
● Creates Client proxy
as DDS actor
● Configurable
● Streams: best effort &
reliable

More Related Content

What's hot

micro-ROS: Developing ROS 2 professional applications based on MCUs
micro-ROS: Developing ROS 2 professional applications based on MCUsmicro-ROS: Developing ROS 2 professional applications based on MCUs
micro-ROS: Developing ROS 2 professional applications based on MCUseProsima
 
micro-ROS - New client library and middleware features
micro-ROS - New client library and middleware featuresmicro-ROS - New client library and middleware features
micro-ROS - New client library and middleware featureseProsima
 
Introduction to DDS
Introduction to DDSIntroduction to DDS
Introduction to DDSRick Warren
 
DDS in Action -- Part I
DDS in Action -- Part IDDS in Action -- Part I
DDS in Action -- Part IAngelo Corsaro
 
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2Jaime Martin Losa
 
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
 
OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009Gerardo Pardo-Castellote
 
FIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROSFIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROSJaime Martin Losa
 
ROS 2 deployment in K8s: DDS Router as WAN comms enabler
ROS 2 deployment in K8s: DDS Router as WAN comms enablerROS 2 deployment in K8s: DDS Router as WAN comms enabler
ROS 2 deployment in K8s: DDS Router as WAN comms enablereProsima
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service TutorialAngelo Corsaro
 
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020Joe Speed
 
Enterprise WAN Transformation: SD-WAN, SASE, and the Pandemic
Enterprise WAN Transformation: SD-WAN, SASE, and the PandemicEnterprise WAN Transformation: SD-WAN, SASE, and the Pandemic
Enterprise WAN Transformation: SD-WAN, SASE, and the PandemicEnterprise Management Associates
 
RTI DDS Intro with DDS Secure
RTI DDS Intro with DDS SecureRTI DDS Intro with DDS Secure
RTI DDS Intro with DDS SecureJohn Breitenbach
 
Cisco Application Centric Infrastructure
Cisco Application Centric InfrastructureCisco Application Centric Infrastructure
Cisco Application Centric Infrastructureislam Salah
 

What's hot (20)

micro-ROS: Developing ROS 2 professional applications based on MCUs
micro-ROS: Developing ROS 2 professional applications based on MCUsmicro-ROS: Developing ROS 2 professional applications based on MCUs
micro-ROS: Developing ROS 2 professional applications based on MCUs
 
micro-ROS - New client library and middleware features
micro-ROS - New client library and middleware featuresmicro-ROS - New client library and middleware features
micro-ROS - New client library and middleware features
 
Introduction to DDS
Introduction to DDSIntroduction to DDS
Introduction to DDS
 
DDS in Action -- Part I
DDS in Action -- Part IDDS in Action -- Part I
DDS in Action -- Part I
 
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
 
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
 
OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009
 
FIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROSFIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROS
 
ROS 2 deployment in K8s: DDS Router as WAN comms enabler
ROS 2 deployment in K8s: DDS Router as WAN comms enablerROS 2 deployment in K8s: DDS Router as WAN comms enabler
ROS 2 deployment in K8s: DDS Router as WAN comms enabler
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
DDS Over Low Bandwidth Data Links
DDS Over Low Bandwidth Data LinksDDS Over Low Bandwidth Data Links
DDS Over Low Bandwidth Data Links
 
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
 
UML Profile for DDS
UML Profile for DDSUML Profile for DDS
UML Profile for DDS
 
Introduction to RTI DDS
Introduction to RTI DDSIntroduction to RTI DDS
Introduction to RTI DDS
 
Real time simulation with HLA and DDS
Real time simulation with HLA and DDSReal time simulation with HLA and DDS
Real time simulation with HLA and DDS
 
Enterprise WAN Transformation: SD-WAN, SASE, and the Pandemic
Enterprise WAN Transformation: SD-WAN, SASE, and the PandemicEnterprise WAN Transformation: SD-WAN, SASE, and the Pandemic
Enterprise WAN Transformation: SD-WAN, SASE, and the Pandemic
 
Overview of the DDS-XRCE specification
Overview of the DDS-XRCE specificationOverview of the DDS-XRCE specification
Overview of the DDS-XRCE specification
 
RTI DDS Intro with DDS Secure
RTI DDS Intro with DDS SecureRTI DDS Intro with DDS Secure
RTI DDS Intro with DDS Secure
 
SimD
SimDSimD
SimD
 
Cisco Application Centric Infrastructure
Cisco Application Centric InfrastructureCisco Application Centric Infrastructure
Cisco Application Centric Infrastructure
 

Similar to Micro XRCE-DDS: Bringing DDS into microcontrollers

FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2)
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2)FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2)
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2)FIWARE
 
eProsima RPC over DDS - OMG June 2013 Berlin Meeting
eProsima RPC over DDS - OMG June 2013 Berlin MeetingeProsima RPC over DDS - OMG June 2013 Berlin Meeting
eProsima RPC over DDS - OMG June 2013 Berlin MeetingJaime Martin Losa
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsJaime 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
 
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)FIWARE
 
Distributed Virtual Transaction Directory Server
Distributed Virtual Transaction Directory ServerDistributed Virtual Transaction Directory Server
Distributed Virtual Transaction Directory ServerLDAPCon
 
Fast RTPS Workshop at FIWARE Summit 2018
Fast RTPS Workshop at FIWARE Summit 2018Fast RTPS Workshop at FIWARE Summit 2018
Fast RTPS Workshop at FIWARE Summit 2018Jaime Martin Losa
 
Fiware: Connecting to robots
Fiware: Connecting to robotsFiware: Connecting to robots
Fiware: Connecting to robotsJaime Martin Losa
 
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...FIWARE
 
Fiware - communicating with ROS robots using Fast RTPS
Fiware - communicating with ROS robots using Fast RTPSFiware - communicating with ROS robots using Fast RTPS
Fiware - communicating with ROS robots using Fast RTPSJaime Martin Losa
 
Cyclone DDS Unleashed: ROS & Cyclone DDS.pdf
Cyclone DDS Unleashed: ROS & Cyclone DDS.pdfCyclone DDS Unleashed: ROS & Cyclone DDS.pdf
Cyclone DDS Unleashed: ROS & Cyclone DDS.pdfZettaScaleTechnology
 
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingDDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingJaime Martin Losa
 
Lumagate Microsoft Azure RemoteApp Webinar
Lumagate Microsoft Azure RemoteApp WebinarLumagate Microsoft Azure RemoteApp Webinar
Lumagate Microsoft Azure RemoteApp WebinarMorgan Simonsen
 
Atom The Redis Streams-Powered Microservices SDK: Dan Pipemazo
Atom The Redis Streams-Powered Microservices SDK: Dan PipemazoAtom The Redis Streams-Powered Microservices SDK: Dan Pipemazo
Atom The Redis Streams-Powered Microservices SDK: Dan PipemazoRedis Labs
 
Engineering Presentation for Careers@Directi
Engineering Presentation for Careers@DirectiEngineering Presentation for Careers@Directi
Engineering Presentation for Careers@DirectiDirecti Group
 
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & ImplementationWebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & ImplementationAmir Zmora
 
Citrix xenapp training
Citrix xenapp training Citrix xenapp training
Citrix xenapp training Yuvaraj1986
 

Similar to Micro XRCE-DDS: Bringing DDS into microcontrollers (20)

FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2)
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2)FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2)
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2)
 
eProsima RPC over DDS - OMG June 2013 Berlin Meeting
eProsima RPC over DDS - OMG June 2013 Berlin MeetingeProsima RPC over DDS - OMG June 2013 Berlin Meeting
eProsima RPC over DDS - OMG June 2013 Berlin Meeting
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applications
 
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...
 
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)
 
Distributed Virtual Transaction Directory Server
Distributed Virtual Transaction Directory ServerDistributed Virtual Transaction Directory Server
Distributed Virtual Transaction Directory Server
 
Fast RTPS Workshop at FIWARE Summit 2018
Fast RTPS Workshop at FIWARE Summit 2018Fast RTPS Workshop at FIWARE Summit 2018
Fast RTPS Workshop at FIWARE Summit 2018
 
Fiware: Connecting to robots
Fiware: Connecting to robotsFiware: Connecting to robots
Fiware: Connecting to robots
 
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
 
Fast RTPS
Fast RTPSFast RTPS
Fast RTPS
 
Fiware - communicating with ROS robots using Fast RTPS
Fiware - communicating with ROS robots using Fast RTPSFiware - communicating with ROS robots using Fast RTPS
Fiware - communicating with ROS robots using Fast RTPS
 
Cyclone DDS Unleashed: ROS & Cyclone DDS.pdf
Cyclone DDS Unleashed: ROS & Cyclone DDS.pdfCyclone DDS Unleashed: ROS & Cyclone DDS.pdf
Cyclone DDS Unleashed: ROS & Cyclone DDS.pdf
 
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingDDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
 
Lumagate Microsoft Azure RemoteApp Webinar
Lumagate Microsoft Azure RemoteApp WebinarLumagate Microsoft Azure RemoteApp Webinar
Lumagate Microsoft Azure RemoteApp Webinar
 
Atom The Redis Streams-Powered Microservices SDK: Dan Pipemazo
Atom The Redis Streams-Powered Microservices SDK: Dan PipemazoAtom The Redis Streams-Powered Microservices SDK: Dan Pipemazo
Atom The Redis Streams-Powered Microservices SDK: Dan Pipemazo
 
Engineering Presentation for Careers@Directi
Engineering Presentation for Careers@DirectiEngineering Presentation for Careers@Directi
Engineering Presentation for Careers@Directi
 
DDS Enabling Open Architecture
DDS Enabling Open ArchitectureDDS Enabling Open Architecture
DDS Enabling Open Architecture
 
Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...
Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...
Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...
 
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & ImplementationWebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
 
Citrix xenapp training
Citrix xenapp training Citrix xenapp training
Citrix xenapp training
 

More from eProsima

AML & ALMA: Project Overview
AML & ALMA: Project OverviewAML & ALMA: Project Overview
AML & ALMA: Project OvervieweProsima
 
micro-ROS - ROS 2 into microcontrollers
micro-ROS - ROS 2 into microcontrollersmicro-ROS - ROS 2 into microcontrollers
micro-ROS - ROS 2 into microcontrollerseProsima
 
Fast DDS Hello World in Windows
Fast DDS Hello World in WindowsFast DDS Hello World in Windows
Fast DDS Hello World in WindowseProsima
 
Algebraic Machine Learning - On changing the rules of the game
Algebraic Machine Learning - On changing the rules of the gameAlgebraic Machine Learning - On changing the rules of the game
Algebraic Machine Learning - On changing the rules of the gameeProsima
 
Vulcanexus: the all-in-one ROS 2 toolset
Vulcanexus: the all-in-one ROS 2 toolsetVulcanexus: the all-in-one ROS 2 toolset
Vulcanexus: the all-in-one ROS 2 toolseteProsima
 
micro-ROS Humble Hawskbill
micro-ROS Humble Hawskbillmicro-ROS Humble Hawskbill
micro-ROS Humble HawskbilleProsima
 
eProsima DDS Router: a micro-ROS Cloud scenario
eProsima DDS Router: a micro-ROS Cloud scenarioeProsima DDS Router: a micro-ROS Cloud scenario
eProsima DDS Router: a micro-ROS Cloud scenarioeProsima
 
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case eProsima
 
ALMA - Integration of AI in ROS 2 ecosystem
ALMA - Integration of AI in ROS 2 ecosystemALMA - Integration of AI in ROS 2 ecosystem
ALMA - Integration of AI in ROS 2 ecosystemeProsima
 
micro-ROS goes easy: Developing professional applications using Eclipse based...
micro-ROS goes easy: Developing professional applications using Eclipse based...micro-ROS goes easy: Developing professional applications using Eclipse based...
micro-ROS goes easy: Developing professional applications using Eclipse based...eProsima
 
Towards Easy 5GS Integration in ROS2 - eProsima & Ericsson
Towards Easy 5GS Integration in ROS2 - eProsima & EricssonTowards Easy 5GS Integration in ROS2 - eProsima & Ericsson
Towards Easy 5GS Integration in ROS2 - eProsima & EricssoneProsima
 
eProsima - Company brief
eProsima - Company briefeProsima - Company brief
eProsima - Company briefeProsima
 
micro-ROS Galactic
micro-ROS Galacticmicro-ROS Galactic
micro-ROS GalacticeProsima
 
Integration Service: Integrating Communication Protocols
Integration Service: Integrating Communication ProtocolsIntegration Service: Integrating Communication Protocols
Integration Service: Integrating Communication ProtocolseProsima
 
EU Project: ALMA
EU Project: ALMAEU Project: ALMA
EU Project: ALMAeProsima
 
FIWARE Robotics
FIWARE RoboticsFIWARE Robotics
FIWARE RoboticseProsima
 

More from eProsima (16)

AML & ALMA: Project Overview
AML & ALMA: Project OverviewAML & ALMA: Project Overview
AML & ALMA: Project Overview
 
micro-ROS - ROS 2 into microcontrollers
micro-ROS - ROS 2 into microcontrollersmicro-ROS - ROS 2 into microcontrollers
micro-ROS - ROS 2 into microcontrollers
 
Fast DDS Hello World in Windows
Fast DDS Hello World in WindowsFast DDS Hello World in Windows
Fast DDS Hello World in Windows
 
Algebraic Machine Learning - On changing the rules of the game
Algebraic Machine Learning - On changing the rules of the gameAlgebraic Machine Learning - On changing the rules of the game
Algebraic Machine Learning - On changing the rules of the game
 
Vulcanexus: the all-in-one ROS 2 toolset
Vulcanexus: the all-in-one ROS 2 toolsetVulcanexus: the all-in-one ROS 2 toolset
Vulcanexus: the all-in-one ROS 2 toolset
 
micro-ROS Humble Hawskbill
micro-ROS Humble Hawskbillmicro-ROS Humble Hawskbill
micro-ROS Humble Hawskbill
 
eProsima DDS Router: a micro-ROS Cloud scenario
eProsima DDS Router: a micro-ROS Cloud scenarioeProsima DDS Router: a micro-ROS Cloud scenario
eProsima DDS Router: a micro-ROS Cloud scenario
 
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
 
ALMA - Integration of AI in ROS 2 ecosystem
ALMA - Integration of AI in ROS 2 ecosystemALMA - Integration of AI in ROS 2 ecosystem
ALMA - Integration of AI in ROS 2 ecosystem
 
micro-ROS goes easy: Developing professional applications using Eclipse based...
micro-ROS goes easy: Developing professional applications using Eclipse based...micro-ROS goes easy: Developing professional applications using Eclipse based...
micro-ROS goes easy: Developing professional applications using Eclipse based...
 
Towards Easy 5GS Integration in ROS2 - eProsima & Ericsson
Towards Easy 5GS Integration in ROS2 - eProsima & EricssonTowards Easy 5GS Integration in ROS2 - eProsima & Ericsson
Towards Easy 5GS Integration in ROS2 - eProsima & Ericsson
 
eProsima - Company brief
eProsima - Company briefeProsima - Company brief
eProsima - Company brief
 
micro-ROS Galactic
micro-ROS Galacticmicro-ROS Galactic
micro-ROS Galactic
 
Integration Service: Integrating Communication Protocols
Integration Service: Integrating Communication ProtocolsIntegration Service: Integrating Communication Protocols
Integration Service: Integrating Communication Protocols
 
EU Project: ALMA
EU Project: ALMAEU Project: ALMA
EU Project: ALMA
 
FIWARE Robotics
FIWARE RoboticsFIWARE Robotics
FIWARE Robotics
 

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
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
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
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 

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
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
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...
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 

Micro XRCE-DDS: Bringing DDS into microcontrollers

  • 1. Micro XRCE-DDS: Bringing DDS into microcontrollers www.eprosima.com https://micro-xrce-dds.docs.eprosima.com/en/latest/
  • 2. DDS: a recap DDS: Middleware specification for Data Distribution Service. DDS at a glance: ● Data-centricity ● Publish-Subscribe architecture ● Global data space ● Data connectivity: many-to-many distributed network ● QoS mechanisms ● API standard guaranteeing interoperability among implementations ● Dynamic Discovery
  • 3. From DDS to DDS-XRCE Publish-Subscribe paradigm Client-Server architecture
  • 4. The DDS-XRCE wire protocol DDS-XRCE: DDS for eXtremely Resource-Constrained Environment. Clients - XRCE entities on low-resource consumption devices. Agent - XRCE entity connected with DDS global data space. Acts on behalf of Clients in the DDS world. Main features: ● Client-server architecture ● Request-response pattern ● Connection oriented
  • 5. Micro XRCE-DDS Main components: ● Micro XRCE-DDS Agent ● Micro XRCE-DDS Client Additional components: ● Generator tool ● Serialization library eProsima Micro XRCE-DDS: First implementation of DDS-XRCE protocol.
  • 6. Micro XRCE-DDS Main components: ● Micro XRCE-DDS Agent ● Micro XRCE-DDS Client Additional components: ● Generator tool ● Serialization library eProsima Micro XRCE-DDS: First implementation of DDS-XRCE protocol.
  • 7. Supported OSes and RTOSes RTOS: Real Time Operating System Main Features: ● Works with an advanced algorithm for scheduling tasks within maximum time limit. ● Apt for Real-Time applications ● POSIX-compliant interface NuttX FreeRTOS Linux Windows Zephyr
  • 8. Client-Agent communication Communication flow: ● Client connects to agent (upon previous knowledge or discovery) ● Session creation (Client proxy instantiation) ● DDS Participant creation ● Other DDS Entities creation
  • 9. micro-ROS: puts ROS 2 onto microcontrollers! The solution for creating ROS 2 nodes into embedded devices Micro XRCE-DDS: the micro-ROS middleware
  • 10. Real-Time OS Additional drivers, … POSIX Micro XRCE-DDS Client ROS Middleware Interface (rmw) + Additional abstractions micro-ROS Agent microcontroller C API rcl C++ API (rclcpp) Convenience functions, deterministic execution, … Application component Application component … rclc: Linux, Mac OS, Windows DDS Implementation [Fast DDS, ..] ROS Middleware Interface (rmw) microprocessor C API rcl C++ API (rclcpp) Application component Application component … Python API (rclpy) Apps ROS Client Library ROS MW Interface Operating Systems Hardware XRCE-DDS DDS Micro XRCE-DDS: the micro-ROS middleware micro-ROS ROS 2
  • 11. Thank you! Francesca Finocchiaro eProsima - Team manager francescafinocchiaro@eprosima.com www.eprosima.com
  • 13. Micro XRCE-DDS Client Micro XRCE-DDS Client: C99 library. Features: ● UDP, TCP, and Serial transport support ● Micro XRCE-DDS as a wire protocol ● Full static memory ● Configurable profiles ● Streams: best effort & reliable ● DDS entities can be created by: XML, reference or binary profiles
  • 14. Micro XRCE-DDS Agent Micro XRCE-DDS Agent: C++11 application & library. Features: ● UDP, TCP, and Serial transport support ● Fast DDS as DDS wire protocol ● Creates Client proxy as DDS actor ● Configurable ● Streams: best effort & reliable