Authors:
- Rui Zhao, LINKS Foundation
- Yenchia Yu, LINKS Foundation
- Xu Tao, LINKS Foundation
- Davide Conzon, LINKS Foundation
- Enrico Ferrera, LINKS Foundation
Abstract: Recently, one of the main research topics in the context of application of Cyber-Physical System (CPS) in the Smart City and Industry 4.0 scenarios is the one related to the use of Robot Operating System (ROS)-based CPS. Specifically, one of the main interest is to allow a ROS-based smart robot needs to communicate with other heterogeneous Internet of Things (IoT) applications in an intelligent environment to efficiently react to the system requirements and environment changes. However, the communication between the IoT systems will face many challenges and increase the cost and risks that lead to the requirement of a cross-platform communication for bridging the ROS-based CPS and other heterogeneous IoT applications. This paper introduces an OSGi-based adaptor, named the ROS Edge Node, for the interoperability between Robotics domain and other IoT domains, leveraging the highly modular BRAIN-IoT federation, which allows to decentralize, composite and dynamically federate the heterogeneous IoT platforms by leveraging OSGi. Together with the unfixed infrastructure of BRAIN-IoT solution, the event-driven asynchronous communication mechanism realizes cross-platform interaction with ROS-based CPS and solves the major challenges faced. The ROS Edge Node is packaged as a BRAIN-IoT Service with Requirement/Capability in metadata, similar to microservice, to be deployed in a distributed BRAIN-IoT Fabric cluster as a bridge between the underlying ROS-based robotics systems and other OSGi-based IoT systems in various IoT domains via an Asynchronous Eventing Substrate (BRAIN-IoT EventBus). This paper demonstrates the solution developed in an service robotics use case in a warehouse to show how the OSGi-based adaptor enables the fast adaptivity and interoperability between heterogeneous IoT domains in a federated environment.
2. Location, DD/MM/YYYYA cross platform communication mechanism for ROS-based cyber physical system
2
• Complex intelligent IoT ecosystems is required to react to system requirements and environment changes
• ROS-based CPS is used in various IoT Domains, interoperability will bring potential benefits
• Lack of interoperability between heterogeneous platforms
• Emerging IoT standards prevent to integrate new IoT platforms
• Off-the-shell IoT devices/platforms don't support secondary development
WHY ROS EDGE NODE IS NEEDED?
3. Location, DD/MM/YYYYA cross platform communication mechanism for ROS-based cyber physical system
3
FEATURES OF ROS EDGE NODE
fffInteroperability fffPlug & Play
fffAutomatic
Adaptation fffStandard
Compliant
It enables the communications
between ROS-based CPS and
other heterogeneous IoT systems
in an intelligent and autonomous
infrastructure
A code generator automatically
abstracts the ad-hoc ROS
functionalities provided by
different ROS-based CPSs and
speeds up the adaptor
development process
An event-driven approach automates
the software modules deployment at
BRAIN-IoT runtime in a distributed
execution environment according to
specific system requirements and user
events
It exploits the Web of Things (WoT)
Thing Description (TD) describing the
services provided by ROS-based CPSs,
making it more portable to
the production environment, not restrict
to the OSGi implementation
An adaptor integrating ROS-based CPSs with BRAIN-IoT platform
4. Location, DD/MM/YYYYA cross platform communication mechanism for ROS-based cyber physical system
4
• L1 (Physical): a set of physical computing
resources (e.g. Linux Server, ROS-based robots).
• L2 (Fabric): a set of OSGi/Java agents and
infrastructure services providing discovery, system
provisioning and communication services.
• L3 (System): a set of inter-related software
components containing infrastructure service (e.g.
BMS, BIS) for searching, deploying other services.
• L4 (BRAIN-IoT Services): system software
modules with capabilities.
OVERVIEW OF BRAIN-IOT CONTEXT
Hardware Layer (e.g. CPSs)
Fabric Runtime (Java / OSGi)
BMS
BIS
BIS
BIS
1
2
3
BRAIN-IoT
Service
Edge Node4
BRAIN-IoT Structural layers
BMS: Behaviour Management Service
BIS: Bundle Installer Service
BRAIN-IoT
Services
Dynamically
Loaded
BRAIN-IoT Repository
UI
EventBus
5. ARCHITECTURE OF ROS EDGE NODE 5
Location, DD/MM/YYYYA cross platform communication mechanism for ROS-based cyber physical system
1
2
1. Abstraction of ROS Functionalities
• List of clients of ROS services/publishers/subscribers
• Mapping between native messages in ROS and Java
types
2. Integration with BRAIN-IoT EventBus
• Formatting of events and ROS message in java type
• Interact with ROS through ROS service clients
6. 6
Location, DD/MM/YYYYA cross platform communication mechanism for ROS-based cyber physical system
ROS EDGE NODE IMPLEMENTATION
Code
Generator
{
"@type": "Thing",
"properties":{...},
"actions":{
"serviceClientName":{
...
"serviceName":{...},
"serviceType":{...},
"serviceRequestType":{...},
"serviceResponseType":{...},
"ClassName":{...}
},
...
}
} Physical Robot
Remote Procedure Call
System Status
Monitoring
IP
ROS Edge Node
ROS Service
Clients
Events handler
AI Algorithms
Bridging
JCodeModel Lib
7. DEMONSTRATION AND VALIDATION 7
Location, DD/MM/YYYYA cross platform communication mechanism for ROS-based cyber physical system
Objective: A swarm of RB-1 BASE
mobile robots cooperate to move all carts from
picking area to storage area passing through an
automated door with a QR code.
• A multi-agent system is created where each robot
is controlled by a Robot Behavior service through ROS
Edge Node.
• A list of tasks is shared by the Robot Behavior services.
• Robots are aware of the door by scanning the QR code.
• Door is controlled by a Door Edge Node through HTTP
protocol.
A MULTI-AGENT ROBOTICS SYSTEM
8. 8
Location, DD/MM/YYYYA cross platform communication mechanism for ROS-based cyber physical system
DEVELOPMENT OF ROS EDGE NODE FOR RB1 BASE ROBOT
{ "title":"Robotnik RB1 Base Mobile Robot",
"@type":"Thing",
"properties":{
"availability":{
"robot:capability":"robot:AvailabilityMonitoring",
"properties":{
"Role": {"const":"Subscriber"},
"TopicType": {"const":"robot_local_control_msgs/Status"},
"MessageType": {"const":"robot_local_control_msgs.Status"},
"RosClass": {"const":"robot_local_control_msgs.Status"} },
"forms":[{
"href":"/#robotName/robot_local_control/state",} ] } } },
"actions":{
"GoTo":{
"input":{
"properties":{
"serviceType": {"const":"robot_local_control_msgs/GoToPetition"},
"serviceRequestType": {"const":"robot_local_control_msgs.GoToPetitionRequest"},
"RosClass": {"const":"GoToComponent"} } },
"output":{
"properties":{
"serviceResponseType":{"const":"robot_local_control_msgs.GoToPetitionResponse"} }},
"forms":[ {
"href":"/#robotName/robot_local_control/NavigationComponent/GoToComponent/add
", } ] } } }
Code
Generator
ROS Edge Node
for RB1 Base
Robot
9. 9
Location, DD/MM/YYYYA cross platform communication mechanism for ROS-based cyber physical system
BRAIN-IOT USER INTERFACE
10. 10
Location, DD/MM/YYYYA cross platform communication mechanism for ROS-based cyber physical system
INTERACTION BETWEEN ROBOT AND DOOR
• Interested event types are registered to be
received from the asynchronous EventBus
interface at runtime
• ROS Edge Node continuously queries the status
changes in ROS and issue response events to
notify the application services. (e.g. battery level)
• Events are filtered in distributed EventBus
11. 11
ROS Edge Node is developed as an adaptor to ROS-based Robotics systems in BRAIN-IoT
platform allowing:
• Interoperability with other heterogeneous IoT systems through distributed EventBus.
• Fast adaptation to various ROS-based IoT devices/platforms using a Code Generator
• Standard Compliant by exploiting WoT TD, making it portable to production
environment
• Plug & Play without stopping other services at BRAIN-IoT execution
environment leveraging OSGi specification in sophisticated IoT scenarios
Location, DD/MM/YYYYA cross platform communication mechanism for ROS-based cyber physical system
CONCLUSIONS
12. CONTACTS
This project has received funding from the European Union’s Horizon 2020 research
and innovation programme under grant agreement No 780089.
Researcher
rui.zhao@linksfoundation.com
LINKS Foundation – Leading Innovation & Knowledge for Society
CONTACTS
RUI ZHAO