The Use of DDS Middleware in Robotics - 17 June 202
Corresponding webinar recording: https://youtu.be/pTkZk4VF0gY
This webinar, in cooperation with FIWARE Foundation Gold Member eProsima, will provide an introduction to core real-time technologies: FAST DDS, the most complete Open Source DDS for ROS 2, and Micro XRCE-DDS, the middleware for microcontrollers and micro-ROS.
Chapter: Robotics
Difficulty: 3
Audience: Technical Domain Specific
Speakers: Jaime Martin Losa (CEO, eProsima) and Francesca Finocchiaro (Team Manager micro-ROS, eProsima)
Strategies for Landing an Oracle DBA Job as a Fresher
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)
1. The Use of DDS Middleware in Robotics
FIWARE Webinar June 17th,2020
Jaime Martin Losa
CEO - eProsima
JaimeMartin@eProsima.com
+34 607 91 37 45
www.eprosima.com
2. Agenda
- About eProsima & FIWARE
- Fast DDS & ROS2
- Introduction
- Architecture
- Demo.
- What is new?
- XRCE-DDS & Micro-ROS (Francesca)
3. Company Brief
Jaime Martin Losa
CEO eProsima
JaimeMartin@eProsima.com
+34 607 91 37 45
www.eProsima.com
twitter.com/EProsima
4. eProsima in one shot
● Experts on middleware, focused on DDS
● OMG Members – DDS Standard Contributors
● ROS2 TSC Members: Key ROS2 Contributors
● ROS Industrial Contributors
● FIWARE Members: EU Open Source Framework
– Representative of FIWARE Robotics Chapter
● Army Interoperability Standards Contributor
– Spanish Army: Tactical Data Interface (IDT)
5. eProsima Products
● eProsima Fast DDS:
– Data Distribution Service (DDS) implementation
– Adopted by ROS2 - FIWARE Enabler
● eProsima Micro XRCE-DDS:
– DDS for eXtreme Resource Constrained Environments:
Microcontrollers
– Base of Micro-ROS - FIWARE Enabler
● eProsima Integration Service:
– Connect DDS with other protocols, such as FIWARE Context Broker
– Base of ROS Integration Service - SOSS - Future FIWARE Enabler
7. Fast DDS - Motivation
● Real Time Requirements
– Latency measured in µSec
● High Throughput Requirements
– Take advantage of Pub/Sub Architecture
● Low bandwidth, intermittent and unreliable datalinks
– Radio networks
– Wifi
● Many to Many communications
● Decoupled architectures
● Different QoS over different datalinks and performance
requirements.
● Efficient Data Models
8. Fast DDS - Motivation (II)
● C++
● DDS API
– Full RTPS (Real Time Publish Subscribe) implementation
● DDS Security
– Encryption,Authentication, Access control, logging
● RPC layer available through eProsima RPC over DDS
● Based on OMG standards, Interoperable.
● Comprehensive docs, videos, examples, etc.
● Multi-Platform:
– Windows, Linux, Android, Mac OS, iOS
– QNX, VxWorks, Real-Time Linux
● Many ports developed by the community
● Robotics Adoption (ROS2)
● Apache 2.0 License
9. Why Fast-DDS for ROS2?
● Fully Open-Source & Free:
– All features are Open Source
– Open Source Business model
– Contributors Community
● Roadmap Aligned with ROS2 Roadmap
● ROS2 TSC Members
– eProsima is a key contributor to ROS2
– Fast DDS: ROS2
– Fast DDS Security: Secure ROS2
– Micro XRCE-DDS: Micro-ROS
– eProsima Integration Service: ROS2 Integration Tools - SOSS
17. DDS (& ROS2)
DDS uses the concept of Global Data Space. In this Space we define topics of data,
and the publishers publish samples of these topics. DDS distributes these samples to all
the subscribers of those topics. Any node can be a publisher or a subscriber.
18. Why DDS? Decoupled model
● Space (location)
– Automatic Discovery ensures network topology independence
● Redundancy:
– It is possible to configure redundant publishers and subscribers, primary/secundary and
takeover schemas supported
● Time:
– The reception of data does not need to be synchronous with the writing. A subscriber may,
if so configured, receive data that was written even before the subscriber joined the
network.
● Platform:
– Applications do not have to worry about data representation, processor architecture,
Operating System, or even programming language on the other side
● Implementation:
– DDS Protocol is also an standard. Different implementations interoperate.
20. Shapes Demo
const long STR_LEN=24;
struct ShapeType {
string<MSG_LEN> color; //@key
long x;
long y;
long shapesize;
};
● 3 Topics:
○ Square, Circle, Triangle
● Color is the KEY
21. eProsima Fast DDS:
The most complete open source DDS for #ROS2
FIWARE Webinar
Jaime Martin Losa
CEO - eProsima
JaimeMartin@eProsima.com
+34 607 91 37 45
www.eprosima.com
22. Features: What is new?
- Real-Time Behaviour
- Static allocations
- No dynamic memory allocations
- Non-blocking calls
- Sync and Async publishing
- Regular and large data.
- Intra-process communication
- Replace the udp loopback.
- Discovery Server.
24. DDS ROS2 Features Matrix comparison
Feature eProsima
Fast DDS
OpenSpliceDDS
Community
CycloneDDS
DDS Security YES NO NO
Micro-ROS Support YES NO NO
Dynamic Types & Integration Srv YES NO NO
Real-Time Behavior (Static Alloc) YES NO NO
Server Based Discovery YES NO NO
Shared Memory Transport YES NO NO
WAN Support YES YES NO