SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Connecting to Robots
FIWARE Summit - Malaga - 15/Dec/2016
Jaime Martin Losa
eProsima CEO. I2ND Chapter – Advanced Middleware & Robotics
JaimeMartin@eProsima.com
Agenda
 FIWARE Advanced Middleware: When to use it
• Fast RTPS
• KIARA
 ROS2 (Robot Operating System)
 DDS/RTPS Quick Introduction
• The Standard
• Architecture
• Shapes Demo
 Fast RTPS Hello World Example
 Connecting to ROS2 from FIWARE
• Fast RTPS
• FIROS2
1
FIWARE Advanced Middleware:
When to use it?
2
FIWARE Advanced Middleware: When to use it
 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
3
FIWARE Advanced Middleware: When to use it
 eProsima Fast RTPS
• C++
• Full RTPS (Real Time Publish Subscribe) implementation
• RPC layer available through eProsima RPC over DDS
• Robotics Adoption (ROS2)
• Apache 2.0 License
 KIARA
• Java
• Complete RTPS implementation
□ No Support for large data (>64kb) yet
• RPC included
• LGPL License (Plans to migrate to Apache 2.0)
• Interoperable with Fast RTPS
4
ROS (Robot Operating System)
5
ROS2: Robotics de facto Standard
 The Robot Operating System (ROS) is a set of software libraries and
tools that help you build robot applications. From drivers to state-of-
the-art algorithms, and with powerful developer tools, ROS has what
you need for your next robotics project. And it's all open source. ROS
has become a de facto standard for Robotic applications.
 OSRF Sponsors: Bosh, DARPA, google, MathWorks, Nasa,
Nissan, Qualcomm, rethink robotics, ROS-Industrial Consortium,
Sandia National Laboratories, SICK, Willow Garage, Yujin Robot
6
DDS/RTPS Quick Introduction
7
Introduction: Everything is distributed
 Enterprise Internet
 Internet of Things
 Cloud Computing
 Industry 4.0
 …
 Next-generation systems needs:
• Scalability
• Integration & Evolution
• Robustness & Availability
• Performance
• Security
8
Challenge
 Everything is connected, and we should enable communication
between the different nodes.
 And this means:
• Common protocols
• Common Data Types
• Known interfaces
• Different QoS over different datalinks and performance requirements.
• Different comunications patterns.
• Broad platform and programming language support.
• Good Data Models!
9
DDS/RTPS: Standards-based Integration
Infrastructure for Critical Applications
10
Streaming
Data
Sensors Events
Real-Time
Applications
Enterprise
Applications Actuators
Family of Specifications
11
Broad Adoption
 Vendor independent
• API for portability
• Wire protocol for interoperability
 Multiple implementations
• 10 of API
• 8 support RTPS
 Heterogeneous
• C, C++, Java, .NET (C#, C++/CLI)
• Linux, Windows, VxWorks, other embedded & real•time
 Loosely coupled
12
DDS adopted by key programs in Europe
 European Air Traffic Control
• DDS proposed for interoperate ATC
centers
 Spanish Army
• DDS is mandated for C2 Interoperability
(ethernet, radio & satellite)
 UK Generic Vehicle Architecture
• Mandates DDS for vehicle comm.
• Mandates DDS-RTPS for interop.
13
US-DoD mandates DDS for data-distribution
 DISR (formerly JTA)
• DoD Information Technology
Standards Registry
 US Navy Open Architecture
 Army, OSD
• UCS, Unmanned Vehicle Control
 SPAWAR NESI
• Net-centric Enterprise Solutions for
Interoperability
• Mandates DDS for Pub-Sub SOA
14
RTPS Adoption
 ROS (Robotic Operating System)
 FIWARE
• EU R&D Software Platform
 Many Drone Companies
• 3D Robotics
• Magma UAVs
• …
15
DDS Architecture
16
DDS
 DDS (Data Distribution Service for Real-Time Systems) is
a OMG specification for a pub/sub data centric model
(DCPS, Data Centric Publish/Subscribe) for Real-Time
data comms in distributed systems.
 DDS is a networking middleware that:
• Simplifies and Standardizes data flows in distributed real-time
systems.
• Provides robust comms (no single point of failure) and efficient
(minimum latency)
• Provides all kind of QoS to shape the data flows and deliver
predictable results.
17
DDS
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.
19
Why DDS? Fully configurable
QoS Policy
DURABILITY
HISTORY
READER DATA LIFECYCLE
WRITER DATA LIFECYCLE
LIFESPAN
ENTITY FACTORY
RESOURCE LIMITS
RELIABILITY
TIME BASED FILTER
DEADLINE
CONTENT FILTERS
Volatility
UserQoS
Delivery
PresentationRedundancy
Infrastructure
Transport
QoS Policy
USER DATA
TOPIC DATA
GROUP DATA
PARTITION
PRESENTATION
DESTINATION ORDER
OWNERSHIP
OWNERSHIP STRENGTH
LIVELINESS
LATENCY BUDGET
TRANSPORT PRIORITY
DDS Infrastructure
• Standard API for
portability.
• RTPS can be
implemented over
any transport
• No central
Broker/Service
• Different Comm
channel per topic
Quality of Service: QoS
The DDS Model
Domain Participant
Data
Reader
Node
Subscriber
Data Domain
Subscriber
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Writer
Publisher
Topic
Publisher
Topic Topic
Topics, Instances and Keys
• Topic: A set of similar objects, sharing a common
Data Type
• Instance: A particular object of the set
• Key: Fields of the Data Type to identify an object.
Topic: RadarTrack
Key: Flight ID
Instance
Flight ID=
MAD-BER57
Instance
Flight ID=
PAR-BER89
Instance
Flight ID=
PAR-BER89
Qos
Applied by
Instance.
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
Fast RTPS Hands On:
A Hello World
25
Hands-on Example (C++)
Type
Definition
MyType.idl
fastrtpsgen
MyType.h
MyTypePubSubTypes.c
MyTypePublisher.cxx
MyTypeSubscriber.cxx
MyType.sln
Publisher Subscriber.exe
Three minutes to a running app!
1. Define your data
2. Create your project
3. Build
4. Run: publisher subscriber
compiler
Example #1 - Hello World
We will use this data-type :
const long MSG_LEN=256;
struct HelloMsg {
string<MSG_LEN> user; //@key
string<MSG_LEN> msg;
};
Generate type support (for C++)
[Windows]
• Look at the directory you should see:
– solution-x64Win64VS2015.sln
– And Several other files…
• Open the Solution:
• Compile from visual studio
fastrtpsgen HelloMsg.idl -example x64Win64VS2015
-replace -ppDisable
Execute the program [Windows]
• C++:
– On one window run:
• binx64Win64VS2015HelloMsgPublisherSubscriberd.exe publisher
– On another window run:
• binx64Win64VS2015HelloMsgPublisherSubscriberd.exe subscriber
• You should see the subscribers getting an empty string…
Writting some data
• Modify HelloMsgPublisher.cxx:
/* Main loop */
do
{
if(ch == 'y')
{
st.msg() = std::string("Hello using cpp ") +
std::to_string(msgsent);
mp_publisher->write(&st); ++msgsent;
cout << "Sending sample, count=" << msgsent <<
",send another sample?(y-yes,n-stop): ";
}
How to Get Data? (Listener-Based)
// Listener code
void HelloMsgSubscriber::SubListener::onNewDataMessage(Subscriber* sub)
{
// Take data
HelloMsg st;
if(sub->takeNextData(&st, &m_info))
{
if(m_info.sampleKind == ALIVE)
{
// Print your structure data here.
++n_msg;
cout << "Sample received, count=" << n_msg << endl;
cout << " " << st.msg() << endl;
}
}
}
Connecting to ROS2 from FIWARE
32
FIROS2: ROS2 to Fast RTPS
33
FIROS2: ROS2 to Fast RTPS
34
FIROS2: Roadmap
 Bridge to Orion Context Broker
35
Want to know more?
• https://catalogue.fiware.org/enablers/fast-rtps
• https://catalogue.fiware.org/enablers/kiara-advanced-
middleware
• www.eProsima.com
• Youtube: https://www.youtube.com/user/eprosima
• Mail: JaimeMartin@eProsima.com
• Phone: +34 607913745
• Twitter: @jaimemartinlosa
• http://es.slideshare.net/JaimeMartin-eProsima
Thank you!
http://fiware.org
Follow @FIWARE on Twitter

Weitere ähnliche Inhalte

Was ist angesagt?

DDS over Low Bandwidth Data Links - Connext Conf London October 2014
DDS over Low Bandwidth Data Links - Connext Conf London October 2014DDS over Low Bandwidth Data Links - Connext Conf London October 2014
DDS over Low Bandwidth Data Links - Connext Conf London October 2014Jaime Martin Losa
 
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
 
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 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
 
Introducing Vortex Lite
Introducing Vortex LiteIntroducing Vortex Lite
Introducing Vortex LiteAngelo Corsaro
 
Haystack Integration of NFC and DASH7
Haystack Integration of NFC and DASH7Haystack Integration of NFC and DASH7
Haystack Integration of NFC and DASH7Haystack Technologies
 
Fast DDS Features & Tools
Fast DDS Features & ToolsFast DDS Features & Tools
Fast DDS Features & ToolseProsima
 
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
 
Dpdk frame pipeline for ips ids suricata
Dpdk frame pipeline for ips ids suricataDpdk frame pipeline for ips ids suricata
Dpdk frame pipeline for ips ids suricataVipin Varghese
 
Data Networking Concepts
Data Networking ConceptsData Networking Concepts
Data Networking ConceptsPeter R. Egli
 
Transition to ipv6 cgv6-edited
Transition to ipv6  cgv6-editedTransition to ipv6  cgv6-edited
Transition to ipv6 cgv6-editedFred Bovy
 
LF_DPDK17_DPDK with KNI – Pushing the Performance of an SDWAN Gateway to High...
LF_DPDK17_DPDK with KNI – Pushing the Performance of an SDWAN Gateway to High...LF_DPDK17_DPDK with KNI – Pushing the Performance of an SDWAN Gateway to High...
LF_DPDK17_DPDK with KNI – Pushing the Performance of an SDWAN Gateway to High...LF_DPDK
 
Dpdk – IoT packet analyzer
Dpdk – IoT packet analyzerDpdk – IoT packet analyzer
Dpdk – IoT packet analyzerVipin Varghese
 
DPDK Summit 2015 - NTT - Yoshihiro Nakajima
DPDK Summit 2015 - NTT - Yoshihiro NakajimaDPDK Summit 2015 - NTT - Yoshihiro Nakajima
DPDK Summit 2015 - NTT - Yoshihiro NakajimaJim St. Leger
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingThomas Graf
 
LF_DPDK17_Power Aware Packet Processing
LF_DPDK17_Power Aware Packet ProcessingLF_DPDK17_Power Aware Packet Processing
LF_DPDK17_Power Aware Packet ProcessingLF_DPDK
 
Rlite software-architecture (1)
Rlite software-architecture (1)Rlite software-architecture (1)
Rlite software-architecture (1)ARCFIRE ICT
 
Rina acc-icc16-stein
Rina acc-icc16-steinRina acc-icc16-stein
Rina acc-icc16-steinICT PRISTINE
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)Kirill Tsym
 

Was ist angesagt? (20)

DDS over Low Bandwidth Data Links - Connext Conf London October 2014
DDS over Low Bandwidth Data Links - Connext Conf London October 2014DDS over Low Bandwidth Data Links - Connext Conf London October 2014
DDS over Low Bandwidth Data Links - Connext Conf London October 2014
 
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
 
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 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...
 
Introducing Vortex Lite
Introducing Vortex LiteIntroducing Vortex Lite
Introducing Vortex Lite
 
Haystack Integration of NFC and DASH7
Haystack Integration of NFC and DASH7Haystack Integration of NFC and DASH7
Haystack Integration of NFC and DASH7
 
Fast DDS Features & Tools
Fast DDS Features & ToolsFast DDS Features & Tools
Fast DDS Features & Tools
 
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...
 
Rpl2016
Rpl2016Rpl2016
Rpl2016
 
Dpdk frame pipeline for ips ids suricata
Dpdk frame pipeline for ips ids suricataDpdk frame pipeline for ips ids suricata
Dpdk frame pipeline for ips ids suricata
 
Data Networking Concepts
Data Networking ConceptsData Networking Concepts
Data Networking Concepts
 
Transition to ipv6 cgv6-edited
Transition to ipv6  cgv6-editedTransition to ipv6  cgv6-edited
Transition to ipv6 cgv6-edited
 
LF_DPDK17_DPDK with KNI – Pushing the Performance of an SDWAN Gateway to High...
LF_DPDK17_DPDK with KNI – Pushing the Performance of an SDWAN Gateway to High...LF_DPDK17_DPDK with KNI – Pushing the Performance of an SDWAN Gateway to High...
LF_DPDK17_DPDK with KNI – Pushing the Performance of an SDWAN Gateway to High...
 
Dpdk – IoT packet analyzer
Dpdk – IoT packet analyzerDpdk – IoT packet analyzer
Dpdk – IoT packet analyzer
 
DPDK Summit 2015 - NTT - Yoshihiro Nakajima
DPDK Summit 2015 - NTT - Yoshihiro NakajimaDPDK Summit 2015 - NTT - Yoshihiro Nakajima
DPDK Summit 2015 - NTT - Yoshihiro Nakajima
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
 
LF_DPDK17_Power Aware Packet Processing
LF_DPDK17_Power Aware Packet ProcessingLF_DPDK17_Power Aware Packet Processing
LF_DPDK17_Power Aware Packet Processing
 
Rlite software-architecture (1)
Rlite software-architecture (1)Rlite software-architecture (1)
Rlite software-architecture (1)
 
Rina acc-icc16-stein
Rina acc-icc16-steinRina acc-icc16-stein
Rina acc-icc16-stein
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)
 

Andere mochten auch

Stories yet to be told
Stories yet to be toldStories yet to be told
Stories yet to be toldCCIHP
 
Ky yeu hoi nghi quoc gia ve tinh duc va suc khoe 2012
Ky yeu hoi nghi quoc gia ve tinh duc va suc khoe 2012Ky yeu hoi nghi quoc gia ve tinh duc va suc khoe 2012
Ky yeu hoi nghi quoc gia ve tinh duc va suc khoe 2012CCIHP
 
TOP 10 TIPS FOR THRIVING IN A DOWN ECONOMY
TOP 10 TIPS FOR THRIVING IN A DOWN ECONOMYTOP 10 TIPS FOR THRIVING IN A DOWN ECONOMY
TOP 10 TIPS FOR THRIVING IN A DOWN ECONOMYAlchemedia
 
Những câu chuyện chưa kể
Những câu chuyện chưa kểNhững câu chuyện chưa kể
Những câu chuyện chưa kểCCIHP
 
Effective Service Delivery - Streamlining Your Workflows
Effective Service Delivery - Streamlining Your WorkflowsEffective Service Delivery - Streamlining Your Workflows
Effective Service Delivery - Streamlining Your WorkflowsRonnie Parisella
 
COMMUNICATING VALUE
COMMUNICATING VALUECOMMUNICATING VALUE
COMMUNICATING VALUEAlchemedia
 
Start Up Quest: Importance of Management
Start Up Quest: Importance of ManagementStart Up Quest: Importance of Management
Start Up Quest: Importance of ManagementAlchemedia
 

Andere mochten auch (15)

Loctite Instant-Adhesives
Loctite Instant-AdhesivesLoctite Instant-Adhesives
Loctite Instant-Adhesives
 
Valiant - How I Did It
Valiant - How I Did ItValiant - How I Did It
Valiant - How I Did It
 
Eliava Group/GeoAIR for GALA
Eliava Group/GeoAIR for GALAEliava Group/GeoAIR for GALA
Eliava Group/GeoAIR for GALA
 
Stories yet to be told
Stories yet to be toldStories yet to be told
Stories yet to be told
 
LEADERSHIP
LEADERSHIPLEADERSHIP
LEADERSHIP
 
Galapresentationtranslocal
GalapresentationtranslocalGalapresentationtranslocal
Galapresentationtranslocal
 
Ky yeu hoi nghi quoc gia ve tinh duc va suc khoe 2012
Ky yeu hoi nghi quoc gia ve tinh duc va suc khoe 2012Ky yeu hoi nghi quoc gia ve tinh duc va suc khoe 2012
Ky yeu hoi nghi quoc gia ve tinh duc va suc khoe 2012
 
Gala presentation 29.05.13
Gala presentation 29.05.13Gala presentation 29.05.13
Gala presentation 29.05.13
 
Gala art motile
Gala art motileGala art motile
Gala art motile
 
TOP 10 TIPS FOR THRIVING IN A DOWN ECONOMY
TOP 10 TIPS FOR THRIVING IN A DOWN ECONOMYTOP 10 TIPS FOR THRIVING IN A DOWN ECONOMY
TOP 10 TIPS FOR THRIVING IN A DOWN ECONOMY
 
Những câu chuyện chưa kể
Những câu chuyện chưa kểNhững câu chuyện chưa kể
Những câu chuyện chưa kể
 
Libro Codelpa
Libro CodelpaLibro Codelpa
Libro Codelpa
 
Effective Service Delivery - Streamlining Your Workflows
Effective Service Delivery - Streamlining Your WorkflowsEffective Service Delivery - Streamlining Your Workflows
Effective Service Delivery - Streamlining Your Workflows
 
COMMUNICATING VALUE
COMMUNICATING VALUECOMMUNICATING VALUE
COMMUNICATING VALUE
 
Start Up Quest: Importance of Management
Start Up Quest: Importance of ManagementStart Up Quest: Importance of Management
Start Up Quest: Importance of Management
 

Ähnlich wie Fiware: Connecting to robots

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
 
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...Istvan Rath
 
DDS, the US Navy, and the Need for Distributed Software
DDS, the US Navy,  and the Need for Distributed SoftwareDDS, the US Navy,  and the Need for Distributed Software
DDS, the US Navy, and the Need for Distributed SoftwareGerardo Pardo-Castellote
 
Real Time Java DDS
Real Time Java DDSReal Time Java DDS
Real Time Java DDSkerush
 
Event Detection Pipelines with Apache Kafka
Event Detection Pipelines with Apache KafkaEvent Detection Pipelines with Apache Kafka
Event Detection Pipelines with Apache KafkaDataWorks Summit
 
Deep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway SpecificationDeep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway SpecificationGerardo Pardo-Castellote
 
Protocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDNProtocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDNGerardo Pardo-Castellote
 
Introduction to DDS: Context, Information Model, Security, and Applications.
Introduction to DDS: Context, Information Model, Security, and Applications.Introduction to DDS: Context, Information Model, Security, and Applications.
Introduction to DDS: Context, Information Model, Security, and Applications.Gerardo Pardo-Castellote
 
Real Time Data Processing Using Spark Streaming
Real Time Data Processing Using Spark StreamingReal Time Data Processing Using Spark Streaming
Real Time Data Processing Using Spark StreamingHari Shreedharan
 
October Southern CA Road Shows - Build Safe and Secure Distributed Systems
October Southern CA Road Shows -  Build Safe and Secure Distributed SystemsOctober Southern CA Road Shows -  Build Safe and Secure Distributed Systems
October Southern CA Road Shows - Build Safe and Secure Distributed SystemsReal-Time Innovations (RTI)
 
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)
 
2008-01-23 Red Hat Overview to CUNY Information Managers Forum
2008-01-23 Red Hat Overview to CUNY Information Managers Forum2008-01-23 Red Hat Overview to CUNY Information Managers Forum
2008-01-23 Red Hat Overview to CUNY Information Managers ForumShawn Wells
 
Hpc lunch and learn
Hpc lunch and learnHpc lunch and learn
Hpc lunch and learnJohn D Almon
 
ITN_Module_17.pptx
ITN_Module_17.pptxITN_Module_17.pptx
ITN_Module_17.pptxssuserf7cd2b
 
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
 
Zephyr Introduction - Nordic Webinar - Sept. 24.pdf
Zephyr Introduction - Nordic Webinar - Sept. 24.pdfZephyr Introduction - Nordic Webinar - Sept. 24.pdf
Zephyr Introduction - Nordic Webinar - Sept. 24.pdfAswathRangaraj1
 

Ähnlich wie Fiware: Connecting to robots (20)

Fast RTPS
Fast RTPSFast RTPS
Fast RTPS
 
DDS Enabling Open Architecture
DDS Enabling Open ArchitectureDDS Enabling Open Architecture
DDS Enabling Open Architecture
 
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)
 
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
 
DDS, the US Navy, and the Need for Distributed Software
DDS, the US Navy,  and the Need for Distributed SoftwareDDS, the US Navy,  and the Need for Distributed Software
DDS, the US Navy, and the Need for Distributed Software
 
Real Time Java DDS
Real Time Java DDSReal Time Java DDS
Real Time Java DDS
 
Event Detection Pipelines with Apache Kafka
Event Detection Pipelines with Apache KafkaEvent Detection Pipelines with Apache Kafka
Event Detection Pipelines with Apache Kafka
 
Deep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway SpecificationDeep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway Specification
 
Protocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDNProtocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDN
 
GPA Software Overview R3
GPA Software Overview R3GPA Software Overview R3
GPA Software Overview R3
 
Introduction to DDS: Context, Information Model, Security, and Applications.
Introduction to DDS: Context, Information Model, Security, and Applications.Introduction to DDS: Context, Information Model, Security, and Applications.
Introduction to DDS: Context, Information Model, Security, and Applications.
 
Real Time Data Processing Using Spark Streaming
Real Time Data Processing Using Spark StreamingReal Time Data Processing Using Spark Streaming
Real Time Data Processing Using Spark Streaming
 
October Southern CA Road Shows - Build Safe and Secure Distributed Systems
October Southern CA Road Shows -  Build Safe and Secure Distributed SystemsOctober Southern CA Road Shows -  Build Safe and Secure Distributed Systems
October Southern CA Road Shows - Build Safe and Secure Distributed Systems
 
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
 
INT_Ch17.pptx
INT_Ch17.pptxINT_Ch17.pptx
INT_Ch17.pptx
 
2008-01-23 Red Hat Overview to CUNY Information Managers Forum
2008-01-23 Red Hat Overview to CUNY Information Managers Forum2008-01-23 Red Hat Overview to CUNY Information Managers Forum
2008-01-23 Red Hat Overview to CUNY Information Managers Forum
 
Hpc lunch and learn
Hpc lunch and learnHpc lunch and learn
Hpc lunch and learn
 
ITN_Module_17.pptx
ITN_Module_17.pptxITN_Module_17.pptx
ITN_Module_17.pptx
 
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
 
Zephyr Introduction - Nordic Webinar - Sept. 24.pdf
Zephyr Introduction - Nordic Webinar - Sept. 24.pdfZephyr Introduction - Nordic Webinar - Sept. 24.pdf
Zephyr Introduction - Nordic Webinar - Sept. 24.pdf
 

Kürzlich hochgeladen

A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Anthony Dahanne
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 

Kürzlich hochgeladen (20)

A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 

Fiware: Connecting to robots

  • 1. Connecting to Robots FIWARE Summit - Malaga - 15/Dec/2016 Jaime Martin Losa eProsima CEO. I2ND Chapter – Advanced Middleware & Robotics JaimeMartin@eProsima.com
  • 2. Agenda  FIWARE Advanced Middleware: When to use it • Fast RTPS • KIARA  ROS2 (Robot Operating System)  DDS/RTPS Quick Introduction • The Standard • Architecture • Shapes Demo  Fast RTPS Hello World Example  Connecting to ROS2 from FIWARE • Fast RTPS • FIROS2 1
  • 4. FIWARE Advanced Middleware: When to use it  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 3
  • 5. FIWARE Advanced Middleware: When to use it  eProsima Fast RTPS • C++ • Full RTPS (Real Time Publish Subscribe) implementation • RPC layer available through eProsima RPC over DDS • Robotics Adoption (ROS2) • Apache 2.0 License  KIARA • Java • Complete RTPS implementation □ No Support for large data (>64kb) yet • RPC included • LGPL License (Plans to migrate to Apache 2.0) • Interoperable with Fast RTPS 4
  • 7. ROS2: Robotics de facto Standard  The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. From drivers to state-of- the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project. And it's all open source. ROS has become a de facto standard for Robotic applications.  OSRF Sponsors: Bosh, DARPA, google, MathWorks, Nasa, Nissan, Qualcomm, rethink robotics, ROS-Industrial Consortium, Sandia National Laboratories, SICK, Willow Garage, Yujin Robot 6
  • 9. Introduction: Everything is distributed  Enterprise Internet  Internet of Things  Cloud Computing  Industry 4.0  …  Next-generation systems needs: • Scalability • Integration & Evolution • Robustness & Availability • Performance • Security 8
  • 10. Challenge  Everything is connected, and we should enable communication between the different nodes.  And this means: • Common protocols • Common Data Types • Known interfaces • Different QoS over different datalinks and performance requirements. • Different comunications patterns. • Broad platform and programming language support. • Good Data Models! 9
  • 11. DDS/RTPS: Standards-based Integration Infrastructure for Critical Applications 10 Streaming Data Sensors Events Real-Time Applications Enterprise Applications Actuators
  • 13. Broad Adoption  Vendor independent • API for portability • Wire protocol for interoperability  Multiple implementations • 10 of API • 8 support RTPS  Heterogeneous • C, C++, Java, .NET (C#, C++/CLI) • Linux, Windows, VxWorks, other embedded & real•time  Loosely coupled 12
  • 14. DDS adopted by key programs in Europe  European Air Traffic Control • DDS proposed for interoperate ATC centers  Spanish Army • DDS is mandated for C2 Interoperability (ethernet, radio & satellite)  UK Generic Vehicle Architecture • Mandates DDS for vehicle comm. • Mandates DDS-RTPS for interop. 13
  • 15. US-DoD mandates DDS for data-distribution  DISR (formerly JTA) • DoD Information Technology Standards Registry  US Navy Open Architecture  Army, OSD • UCS, Unmanned Vehicle Control  SPAWAR NESI • Net-centric Enterprise Solutions for Interoperability • Mandates DDS for Pub-Sub SOA 14
  • 16. RTPS Adoption  ROS (Robotic Operating System)  FIWARE • EU R&D Software Platform  Many Drone Companies • 3D Robotics • Magma UAVs • … 15
  • 18. DDS  DDS (Data Distribution Service for Real-Time Systems) is a OMG specification for a pub/sub data centric model (DCPS, Data Centric Publish/Subscribe) for Real-Time data comms in distributed systems.  DDS is a networking middleware that: • Simplifies and Standardizes data flows in distributed real-time systems. • Provides robust comms (no single point of failure) and efficient (minimum latency) • Provides all kind of QoS to shape the data flows and deliver predictable results. 17
  • 19. DDS 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
  • 20. 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. 19
  • 21. Why DDS? Fully configurable QoS Policy DURABILITY HISTORY READER DATA LIFECYCLE WRITER DATA LIFECYCLE LIFESPAN ENTITY FACTORY RESOURCE LIMITS RELIABILITY TIME BASED FILTER DEADLINE CONTENT FILTERS Volatility UserQoS Delivery PresentationRedundancy Infrastructure Transport QoS Policy USER DATA TOPIC DATA GROUP DATA PARTITION PRESENTATION DESTINATION ORDER OWNERSHIP OWNERSHIP STRENGTH LIVELINESS LATENCY BUDGET TRANSPORT PRIORITY
  • 22. DDS Infrastructure • Standard API for portability. • RTPS can be implemented over any transport • No central Broker/Service • Different Comm channel per topic
  • 23. Quality of Service: QoS The DDS Model Domain Participant Data Reader Node Subscriber Data Domain Subscriber Data Writer Data Writer Data Reader Data Reader Data Writer Publisher Topic Publisher Topic Topic
  • 24. Topics, Instances and Keys • Topic: A set of similar objects, sharing a common Data Type • Instance: A particular object of the set • Key: Fields of the Data Type to identify an object. Topic: RadarTrack Key: Flight ID Instance Flight ID= MAD-BER57 Instance Flight ID= PAR-BER89 Instance Flight ID= PAR-BER89 Qos Applied by Instance.
  • 25. 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
  • 26. Fast RTPS Hands On: A Hello World 25
  • 27. Hands-on Example (C++) Type Definition MyType.idl fastrtpsgen MyType.h MyTypePubSubTypes.c MyTypePublisher.cxx MyTypeSubscriber.cxx MyType.sln Publisher Subscriber.exe Three minutes to a running app! 1. Define your data 2. Create your project 3. Build 4. Run: publisher subscriber compiler
  • 28. Example #1 - Hello World We will use this data-type : const long MSG_LEN=256; struct HelloMsg { string<MSG_LEN> user; //@key string<MSG_LEN> msg; };
  • 29. Generate type support (for C++) [Windows] • Look at the directory you should see: – solution-x64Win64VS2015.sln – And Several other files… • Open the Solution: • Compile from visual studio fastrtpsgen HelloMsg.idl -example x64Win64VS2015 -replace -ppDisable
  • 30. Execute the program [Windows] • C++: – On one window run: • binx64Win64VS2015HelloMsgPublisherSubscriberd.exe publisher – On another window run: • binx64Win64VS2015HelloMsgPublisherSubscriberd.exe subscriber • You should see the subscribers getting an empty string…
  • 31. Writting some data • Modify HelloMsgPublisher.cxx: /* Main loop */ do { if(ch == 'y') { st.msg() = std::string("Hello using cpp ") + std::to_string(msgsent); mp_publisher->write(&st); ++msgsent; cout << "Sending sample, count=" << msgsent << ",send another sample?(y-yes,n-stop): "; }
  • 32. How to Get Data? (Listener-Based) // Listener code void HelloMsgSubscriber::SubListener::onNewDataMessage(Subscriber* sub) { // Take data HelloMsg st; if(sub->takeNextData(&st, &m_info)) { if(m_info.sampleKind == ALIVE) { // Print your structure data here. ++n_msg; cout << "Sample received, count=" << n_msg << endl; cout << " " << st.msg() << endl; } } }
  • 33. Connecting to ROS2 from FIWARE 32
  • 34. FIROS2: ROS2 to Fast RTPS 33
  • 35. FIROS2: ROS2 to Fast RTPS 34
  • 36. FIROS2: Roadmap  Bridge to Orion Context Broker 35
  • 37. Want to know more? • https://catalogue.fiware.org/enablers/fast-rtps • https://catalogue.fiware.org/enablers/kiara-advanced- middleware • www.eProsima.com • Youtube: https://www.youtube.com/user/eprosima • Mail: JaimeMartin@eProsima.com • Phone: +34 607913745 • Twitter: @jaimemartinlosa • http://es.slideshare.net/JaimeMartin-eProsima