ROSCon 2018

Integrating ROS and ROS2 on mixed-critical robotic systems
based on embedded heterogeneous platforms
Fabio Federici, Giulio M. Mancuso

This document contains no USA or EU export controlled technical data.

Backgroundis a multinational company
operating in different domains(aerospace, building systems, aircraft engines, …)

United Technologies Research Center (UTRC) ensures UTC’s technological advantage in the market andsolve the toughest scientific challenges for our business unit customers
UTC is not a robot manufacturer, but is a user & integrator of robotic and intelligent systems
Main applications are advanced manufacturing, assembly, manipulation, inspection, …
This page does not contain any export controlled technical dataProposal
Robotic systems includes different
functions with a different level ofcriticality. Functions with different
criticality are usually allocated on
separate processing units.

F1

F3

Goal: integration of multiple functions
over single, advanced processing units
Pros: reduced size, weight, power, cost
Cons: interference

F2

F4F5

Non mixed-critical scenario

F1F2

F3

F4

Mixed-critical system
This page does not contain any export controlled technical data

FnSolution

Non-critical
functions

Criticalfunctions

General purpose
OSRTOS

Hypervisor

Integration of ROS-based and nonROS-based application on the same
hardware platform Isolation
betweendifferent
functions(timeandspacepartitioning) Communication
betweenthedifferent
isolated
application
domains.

Heterogeneous SoC

This page does not contain any export controlled technical data

Hardware Platforms
COTS heterogeneous devices
MulticoreCPU

Non-critical
functions

FPGAfabricGPU

Criticalfunctions

Generalpurpose OSMemoryController

RTOS

I/OInterfaces

Hypervisor

PROS

Better SWaP, lower-cost
Short time to market

CONS

Heterogeneous SoC

Sophisticated (obfuscated) components
Greater complexity
Resource sharing potentially jeopardizing safety

This page does not contain any export controlled technical data

Example/Candidates
NvidiaJetson TX2Xilinx Zynq
Ultrascale+Hypervisor

Non-critical
functions

Criticalfunctions

Generalpurpose OS

RTOS

Jailhouse: Partitioning Hypervisor based on Linux.
 Able to run bare-metal applications or (adapted)
operating systems.
 Originally developed by Siemens
 Released as Free Software (GPLv2) since November 2013https://github.com/siemens/jailhouse

PROS

Heterogeneous SoC

CONSHypervisor

 System boot depends on the Linux Kernel No partition scheduling, only static resource assignment
 Limited maturity

Native support for the Linux kernel
Low latencies, good performance
Open Source (GPL v2)
Ported on several embedded platforms (Xilinx Zynq, Nvidia Jetson TX1/TX2)

This page does not contain any export controlled technical data

Jailhouse concepts
Linux Kernel

Init
Linux Kernel

Jailhouse
CPUCPUCPUCPUCPU1) Fully booted Linux system

CPULinux Kernel

Jailhouse
CPUCPU

RTOS

Jailhouse
CPUCPUCPURoot Cell

3) Starting the root cellCPU2) Linux loading Jailhouse

Linux Kernel

CPUCPUCPUCPURoot Cell

4) Loading an additional cell

R. Ramsauer, J. Kiszka, D. Lohmann, W. Mauerer, «Look Mum, no VM exists! (Almost)», arXiv preprint, arXiv:1705.06932v1
This page does not contain any export controlled technical data

Integrating ROS/ROS 2
ROS/ROS2Linux
Non-critical
functions

Criticalfunctions

Generalpurpose OS

RTOS

Reserved
Platform
Resources

Inter-partition
communication
Interface

Hypervisor
separation
layer

Hypervisor

PROS Widely adopted Large community Algorithms, Libraries, Drivers

 Determinism
 Data Distribution Service SecurityCONS

Heterogeneous SoC

 Lack of determinism Not well fit for safety criticalsystems

 Maturity level Adoption

This page does not contain any export controlled technical data

Ongoing activity & future work
Ongoing: ROS+Jailhouse benchmarkingInter-partition interference
Hypervisor overhead on performance
Inter-partition communication

Testing on NVidia Jetson TX2Communication latency between two
nodes in the same partition
Average Overhead
ROS 1 (Kinetic)~ +3 %ROS 2 (Ardent)~ +5 %ROS+Linux Vs. ROS+Linux+Jailhouse

Next step: full-stack demonstrator for autonomous UAV

Mapping,
navigation

ROS2

Low-level
Control Stack

Linux (L4T)

ERIKA

Jailhouse Hypervisor

NVidia Jetson TX2Current
collaborations
https://hipert.unimore.it

This page does not contain any export controlled technical dataQuestions?

fabio.federici@utrc.utc.com
giuliomose.mancuso@utrc.utc.com
http://www.utrc.utc.com

This page does not contain any export controlled technical data