SlideShare a Scribd company logo
Micro XRCE-DDS & micro-ROS
Bringing DDS and ROS into microcontrollers
Francesca Finocchiaro
eProsima - Team manager
francescafinocchiaro@eprosima.com
www.eprosima.com
FIWARE FOUNDATION Webinar
17/06/2020
About
Francesca Finocchiaro
Team manager of the micro-ROS
project within eProsima
Micro XRCE-DDS
Open source library,
developed at eProsima
micro-ROS
Open source library, developed
as part of a UE-funded project
Presentation Overview
● Need for a new paradigm
● Micro XRCE-DDS
○ DDS-XRCE protocol
○ Intro to Micro XRCE-DDS
○ Supported Operating Systems
○ Client library
○ Agent library
○ Client-Agent interaction
○ Demo example
● micro-ROS
○ Micro XRCE-DDS
○ Architecture overview: Comparison with ROS 2
○ Supported platforms
○ Use-case
The need for a new paradigm
● Why bringing DDS and ROS to microcontrollers?
○ IoT and time-critical applications
○ Direct interface with sensors and actuators
○ Cut-down production costs
● Micro XRCE-DDS and micro-ROS: brand new protocols
○ Designed to be integrated into the DDS and ROS worlds
○ Tailored to fit into embedded systems
○ Platform-adaptable
● Resource-constrained devices:
○ Small storage capacity
○ Small RAM
○ Limited processing resources
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: an introduction
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: an introduction
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
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
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
ToF Sensor + Shapes Demo
Hardware and Software employed:
● STM32L4 Discovery kit IoT with
integrated ToF sensor
● XRCE Client client running on Zephyr
RTOS
● XRCE Agent and DDS ShapesDemo app
running on Linux
● Serial transport
Steps:
1. Open ShapesDemo app (DDS World)
2. Create Subscriber in ShapesDemo
3. Run Agent in Linux
4. Publish sensor data with Client
5. Receive data on ShapesDemo app
From Micro XRCE-DDS to micro-ROS
In a nutshell
ROS2 : Fast DDS = micro-ROS : Micro XRCE-DDS
● ROS2 - Robot Operating System 2. Layered
architecture allowing to build complex Robotics
applications.
● Fast DDS - Default Middleware for ROS2
● micro-ROS - Brings ROS2 to microcontrollers.
Layered architecture like ROS2
● Micro XRCE-DDS - Default Middleware for
micro-ROS
micro-ROS: an introduction
micro-ROS brings ROS 2 to microcontrollers
Software solution for creating ROS 2 nodes into
embedded devices, such as microcontrollers (MCUs).
Main Features:
● Layer-compatible with ROS 2
● Allows to create a ROS 2 node with all functionalities
● Middleware transports fully customizable
● Client-agent logics
● Runs on different RTOSes and MCUs
● Platform-versatile cross-compilation tools
Architecture: micro-ROS vs ROS2
Status: micro-ROS supports Dashing. Currently working to port it to Foxy
micro-ROS target platforms
Target: mid-range microcontrollers.
Currently supported: STM32 microcontroller
unit, e. g. STM32F407 or STM32L475E.
Typical features:
● ~ 200 KB of RAM memory
● < 500 mA consumption
● General purpose input/output pins (GPIO)
● Communication peripherals: USB,
Ethernet, SPI, UART, I2C, CAN, etc
Olimex LTD STM32-E407
(STM32F407)
STM32L4 Discovery kit IoT
(STM32L4)
Crazyflie 2.1 drone
(STM32F405)
Supported boards
micro-ROS use-case: robotic arm
Hardware and Software employed:
● ROS 2-enabled robotic arm
(Robotis OpenMANIPULATOR-X)
● ST VL53l1X ToF sensor operated
by Olimex STM32-E407
● micro-ROS client app running on
Zephyr RTOS
● Raspberry Pi 4 running: micro-ROS
agent + arm ROS 2 packages
● Serial transport
Full video here:
https://www.eprosima.com/index.php/company-all/news/143-towards-competitive-warehouse-automation-with-micro-ros
Thank you!
Francesca Finocchiaro
eProsima - Team manager
francescafinocchiaro@eprosima.com
www.eprosima.com

More Related Content

PPTX
FIWARE Wednesday Webinars - FIWARE Overview
PDF
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)
PDF
FIWARE Wednesday Webinars - Strategies for Context Data Persistence
PDF
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTs
PDF
FIWARE Wednesday Webinars - FIWARE Vision and Value Proposition
PDF
FIWARE Wednesday Webinars - How to Secure IoT Devices
PDF
FIWARE Wednesday Webinars - Performing Big Data Analysis Using Cosmos With Sp...
PPTX
FIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - FIWARE Overview
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)
FIWARE Wednesday Webinars - Strategies for Context Data Persistence
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTs
FIWARE Wednesday Webinars - FIWARE Vision and Value Proposition
FIWARE Wednesday Webinars - How to Secure IoT Devices
FIWARE Wednesday Webinars - Performing Big Data Analysis Using Cosmos With Sp...
FIWARE Wednesday Webinars - How to Debug IoT Agents

What's hot (19)

PPTX
FIWARE Wednesday Webinars - How to Get Context Data Out of Robots
PDF
FIWARE Wednesday Webinars - Machine Learning with Cosmos and Spark
PPTX
FIWARE Wednesday Webinars - FIWARE Overview / Director’s Commentary
PDF
FIWARE Training: JSON-LD and NGSI-LD
PDF
Encode club introduction_to_libp2p
PDF
Encode Club workshop slides
PDF
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
PDF
FIWARE Training: API Umbrella
PDF
Encode polkadot club event 3, technical deepdive
PDF
Subspace
PDF
Overview and Opentracing in theory by Gianluca Arbezzano
PDF
Running Hyperledger Sawtooth in Production - Hyperledger Global Forum 2018
PDF
Interlay + Encode
PDF
FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2
PDF
FIWARE Global Summit - Building Your First Smart App using FIWARE – Getting S...
PDF
Monitoring Pull vs Push, InfluxDB and Prometheus
PDF
Portable data analysis infrastracture for LHC at INFN -vCHEP2021
PDF
Icsa2018 blockchain tutorial
PDF
Delivering a packaged Blockchain platform for developers using Hyperledger Sa...
FIWARE Wednesday Webinars - How to Get Context Data Out of Robots
FIWARE Wednesday Webinars - Machine Learning with Cosmos and Spark
FIWARE Wednesday Webinars - FIWARE Overview / Director’s Commentary
FIWARE Training: JSON-LD and NGSI-LD
Encode club introduction_to_libp2p
Encode Club workshop slides
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
FIWARE Training: API Umbrella
Encode polkadot club event 3, technical deepdive
Subspace
Overview and Opentracing in theory by Gianluca Arbezzano
Running Hyperledger Sawtooth in Production - Hyperledger Global Forum 2018
Interlay + Encode
FIWARE Global Summit - NGSI-LD – an Evolution from NGSIv2
FIWARE Global Summit - Building Your First Smart App using FIWARE – Getting S...
Monitoring Pull vs Push, InfluxDB and Prometheus
Portable data analysis infrastracture for LHC at INFN -vCHEP2021
Icsa2018 blockchain tutorial
Delivering a packaged Blockchain platform for developers using Hyperledger Sa...
Ad

Similar to FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2) (20)

PDF
Micro XRCE-DDS and micro-ROS
PDF
Micro XRCE-DDS: Bringing DDS into microcontrollers
PDF
micro-ROS: bringing ROS 2 to MCUs
PDF
micro-ROS - New client library and middleware features
PDF
micro-ROS: Developing ROS 2 professional applications based on MCUs
PDF
microROS-presentation-PX4DevSummit-2020.pdf
PPTX
Open Middleware Technologies for Smart Robotics - a FIWARE Smart Fest present...
PDF
micro-ROS - ROS 2 into microcontrollers
PPTX
Managing the Robotics Organization with Robotics – IoT
PDF
micro-ROS goes easy: Developing professional applications using Eclipse based...
PDF
Cyclone DDS Unleashed: ROS & Cyclone DDS.pdf
PDF
micro-ROS Galactic
PDF
Fast DDS Features & Tools
PPTX
Fiware - communicating with ROS robots using Fast RTPS
PDF
Hypha ROS X 星火計畫 ROS 2.0 Introduction [haochih, English ver]
PPTX
FIWARE Robotics: ROS2 & micro-ROS
PDF
FIWARE Robotics
PPTX
FIWARE Robotics: ROS2 & micro-ROS
PDF
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
PDF
Fast RTPS
Micro XRCE-DDS and micro-ROS
Micro XRCE-DDS: Bringing DDS into microcontrollers
micro-ROS: bringing ROS 2 to MCUs
micro-ROS - New client library and middleware features
micro-ROS: Developing ROS 2 professional applications based on MCUs
microROS-presentation-PX4DevSummit-2020.pdf
Open Middleware Technologies for Smart Robotics - a FIWARE Smart Fest present...
micro-ROS - ROS 2 into microcontrollers
Managing the Robotics Organization with Robotics – IoT
micro-ROS goes easy: Developing professional applications using Eclipse based...
Cyclone DDS Unleashed: ROS & Cyclone DDS.pdf
micro-ROS Galactic
Fast DDS Features & Tools
Fiware - communicating with ROS robots using Fast RTPS
Hypha ROS X 星火計畫 ROS 2.0 Introduction [haochih, English ver]
FIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics
FIWARE Robotics: ROS2 & micro-ROS
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
Fast RTPS
Ad

More from FIWARE (20)

PPTX
Behm_Herne_NeMo_akt.pptx
PDF
Katharina Hogrebe Herne Digital Days.pdf
PPTX
Christoph Mertens_IDSA_Introduction to Data Spaces.pptx
PPTX
Behm_Herne_NeMo.pptx
PPTX
Evangelists + iHubs Promo Slides.pptx
PPTX
Lukas Künzel Smart City Operating System.pptx
PPTX
Pierre Golz Der Transformationsprozess im Konzern Stadt.pptx
PPTX
Dennis Wendland_The i4Trust Collaboration Programme.pptx
PPTX
Ulrich Ahle_FIWARE.pptx
PPTX
Aleksandar Vrglevski _FIWARE DACH_OSIH.pptx
PDF
Water Quality - Lukas Kuenzel.pdf
PPTX
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
PPTX
FiWareSummit.msGIS-Data-to-Value.2023.06.12.pptx
PPTX
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
PPTX
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
PDF
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
PDF
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
PPTX
HTAG_Skalierung_Plattform_lokal_final_versand.pptx
PPTX
WE_LoRaWAN _ IoT.pptx
PPTX
EU Opp_Clara Pezuela - German chapter.pptx
Behm_Herne_NeMo_akt.pptx
Katharina Hogrebe Herne Digital Days.pdf
Christoph Mertens_IDSA_Introduction to Data Spaces.pptx
Behm_Herne_NeMo.pptx
Evangelists + iHubs Promo Slides.pptx
Lukas Künzel Smart City Operating System.pptx
Pierre Golz Der Transformationsprozess im Konzern Stadt.pptx
Dennis Wendland_The i4Trust Collaboration Programme.pptx
Ulrich Ahle_FIWARE.pptx
Aleksandar Vrglevski _FIWARE DACH_OSIH.pptx
Water Quality - Lukas Kuenzel.pdf
Cameron Brooks_FGS23_FIWARE Summit_Keynote_Cameron.pptx
FiWareSummit.msGIS-Data-to-Value.2023.06.12.pptx
Boris Otto_FGS2023_Opening- EU Innovations from Data_PUB_V1_BOt.pptx
Bjoern de Vidts_FGS23_Opening_athumi - bjord de vidts - personal data spaces....
Abdulrahman Ibrahim_FGS23 Opening - Abdulrahman Ibrahim.pdf
FGS2023_Opening_Red Hat Keynote Andrea Battaglia.pdf
HTAG_Skalierung_Plattform_lokal_final_versand.pptx
WE_LoRaWAN _ IoT.pptx
EU Opp_Clara Pezuela - German chapter.pptx

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
KodekX | Application Modernization Development
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Encapsulation theory and applications.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Cloud computing and distributed systems.
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
sap open course for s4hana steps from ECC to s4
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Review of recent advances in non-invasive hemoglobin estimation
The AUB Centre for AI in Media Proposal.docx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Advanced methodologies resolving dimensionality complications for autism neur...
KodekX | Application Modernization Development
Big Data Technologies - Introduction.pptx
Spectroscopy.pptx food analysis technology
Encapsulation theory and applications.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Cloud computing and distributed systems.
NewMind AI Weekly Chronicles - August'25 Week I
MIND Revenue Release Quarter 2 2025 Press Release
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
sap open course for s4hana steps from ECC to s4

FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2)

  • 1. Micro XRCE-DDS & micro-ROS Bringing DDS and ROS into microcontrollers Francesca Finocchiaro eProsima - Team manager francescafinocchiaro@eprosima.com www.eprosima.com FIWARE FOUNDATION Webinar 17/06/2020
  • 2. About Francesca Finocchiaro Team manager of the micro-ROS project within eProsima Micro XRCE-DDS Open source library, developed at eProsima micro-ROS Open source library, developed as part of a UE-funded project
  • 3. Presentation Overview ● Need for a new paradigm ● Micro XRCE-DDS ○ DDS-XRCE protocol ○ Intro to Micro XRCE-DDS ○ Supported Operating Systems ○ Client library ○ Agent library ○ Client-Agent interaction ○ Demo example ● micro-ROS ○ Micro XRCE-DDS ○ Architecture overview: Comparison with ROS 2 ○ Supported platforms ○ Use-case
  • 4. The need for a new paradigm ● Why bringing DDS and ROS to microcontrollers? ○ IoT and time-critical applications ○ Direct interface with sensors and actuators ○ Cut-down production costs ● Micro XRCE-DDS and micro-ROS: brand new protocols ○ Designed to be integrated into the DDS and ROS worlds ○ Tailored to fit into embedded systems ○ Platform-adaptable ● Resource-constrained devices: ○ Small storage capacity ○ Small RAM ○ Limited processing resources
  • 5. 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
  • 6. Micro XRCE-DDS: an introduction 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. Micro XRCE-DDS: an introduction 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.
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. ToF Sensor + Shapes Demo Hardware and Software employed: ● STM32L4 Discovery kit IoT with integrated ToF sensor ● XRCE Client client running on Zephyr RTOS ● XRCE Agent and DDS ShapesDemo app running on Linux ● Serial transport Steps: 1. Open ShapesDemo app (DDS World) 2. Create Subscriber in ShapesDemo 3. Run Agent in Linux 4. Publish sensor data with Client 5. Receive data on ShapesDemo app
  • 13. From Micro XRCE-DDS to micro-ROS In a nutshell ROS2 : Fast DDS = micro-ROS : Micro XRCE-DDS ● ROS2 - Robot Operating System 2. Layered architecture allowing to build complex Robotics applications. ● Fast DDS - Default Middleware for ROS2 ● micro-ROS - Brings ROS2 to microcontrollers. Layered architecture like ROS2 ● Micro XRCE-DDS - Default Middleware for micro-ROS
  • 14. micro-ROS: an introduction micro-ROS brings ROS 2 to microcontrollers Software solution for creating ROS 2 nodes into embedded devices, such as microcontrollers (MCUs). Main Features: ● Layer-compatible with ROS 2 ● Allows to create a ROS 2 node with all functionalities ● Middleware transports fully customizable ● Client-agent logics ● Runs on different RTOSes and MCUs ● Platform-versatile cross-compilation tools
  • 15. Architecture: micro-ROS vs ROS2 Status: micro-ROS supports Dashing. Currently working to port it to Foxy
  • 16. micro-ROS target platforms Target: mid-range microcontrollers. Currently supported: STM32 microcontroller unit, e. g. STM32F407 or STM32L475E. Typical features: ● ~ 200 KB of RAM memory ● < 500 mA consumption ● General purpose input/output pins (GPIO) ● Communication peripherals: USB, Ethernet, SPI, UART, I2C, CAN, etc Olimex LTD STM32-E407 (STM32F407) STM32L4 Discovery kit IoT (STM32L4) Crazyflie 2.1 drone (STM32F405) Supported boards
  • 17. micro-ROS use-case: robotic arm Hardware and Software employed: ● ROS 2-enabled robotic arm (Robotis OpenMANIPULATOR-X) ● ST VL53l1X ToF sensor operated by Olimex STM32-E407 ● micro-ROS client app running on Zephyr RTOS ● Raspberry Pi 4 running: micro-ROS agent + arm ROS 2 packages ● Serial transport Full video here: https://www.eprosima.com/index.php/company-all/news/143-towards-competitive-warehouse-automation-with-micro-ros
  • 18. Thank you! Francesca Finocchiaro eProsima - Team manager francescafinocchiaro@eprosima.com www.eprosima.com