48
LESSONS LEARNED ON REAL-TIME AND SECURITY victor@aliasrobotics.com VÍCTOR MAYORAL VILCHES Robotics engineer

LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

LESSONS LEARNED ONREAL-TIME AND SECURITY

[email protected]

VÍCTOR MAYORAL VILCHES

Robotics engineer

Page 2: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

www.aliasrobotics.com [email protected]

https://bit.ly/2pLNI4ILINK TO SLIDES

REMOVING 0-DAYS FROM ROBOTICS

Page 3: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

1. REAL-TIME ORREAL-FAST?

REAL-TIME DEFINITION (control)

Real-time control system means that the control system must provide the control responses or actions to the stimulus or requests within specific

times, which therefore depend not just on what the system does but also on

how fast it reacts.

Zhang, P. (2008). Industrial control technology: a handbook for engineers and researchers. William Andrew.

…Real-time, zero-latency technologies capable of detecting attacks that target

running applications and protecting against those attacks.

Feiman, Joseph. “What Is Real-Time Security and Why It Is Needed.” Veracode, 25 May 2016, www.veracode.com/blog/

2016/01/what-real-time-security-and-why-it-needed.

REAL-TIME DEFINITION (security)

Page 4: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

DEV. TOOLS

ROS API (C/C++ LIBRARIES)

APPLICATION

PRESENTATION

SESSION

TRANSPORT

NETWORK

DATA LINK

PHYSICAL

DDS

HARDWARE AND CONNECTIVITY (e.g. ETHERNET)

PROTOCOLS (UDP/IP)

ROS 2 APPLICATIONS

OS + DRIVERS

ROS MIDDLEWARE(RMW)

REAL-TIMEROBOT STACK

Page 5: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

2. HARDWARERELEVANCEBOTTOM UP HARDWARE AND SOFTWARE COMPLIANCE WITH DEADLINES

ROS 2 APPLICATION

PRESENTATION

SESSION

TRANSPORT

NETWORK

DATA LINK

PHYSICAL

DDS

ETHERNET

UDP/IP

HIGH CRITICALITY

LOW CRITICALITY

MID. CRITICALITY

HIGH CRITICALITY

RTOS Bare metal

Real-Time core Safety core

Tightly Coupled Memory

On Chip Memory

LINUX RTOS Bare metal

HYPERVISOR

Application core

Application core

Application core

Application core

L2 CACHE

MEMORY CONTROLLER

EXTERNAL CONTROLLER

REAL-TIME INDUSTRIAL NETWORKING

TSN GATEWAY

SIL SUPERVISOR

SIL: Safety Integrity Level

STREAMING

HMI

HIGH LEVEL CONTROL

(e.g. ML-based)

PLCs

MOTION CONTROL

MOTOR CONTROL

SAFETY LOOP

Page 6: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

3. HARDWARE COMM. LEVELREAL-TIME (CAPABLE) LINK LAYER

Page 7: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

REAL-TIMEROBOT STACK ROS 2 APPLICATION

PRESENTATION

SESSION

TRANSPORT

NETWORK

DATA LINK

DDS

ETHERNET

UDP/IP

REAL TIME CAPABLE LINK LAYER

PHYSICAL

Page 8: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

HARDWARECOMM. LEVELTOWARDS A REAL TIME CAPABLE LINK LAYER

ETHERNET

ETHERNET CABLING

TCP/UDP/IP TCP/UDP/IP

POWER LINK PROFINET RT

ETHERCAT SERCOS III

PROFINET IRT

ETHERNET ETHERNET MODIFIED ETHERNET

PROFINET ETHERNET/IP

DDS NON REAL-TIME PROTOCOLS

PROFINET ETHERNET/IP

DDS REAL-TIME PROTOCOLS

BASED ON TCP/IP NON REAL-TIME PROTOCOLS

BASED ON TCP/IP REAL-TIME

STANDARD ETHERNET IEEE 802.3

MODIFIED ETHERNET MEDIA ACCESS

REAL-TIME ETHERNET SOLUTIONS

[3] Gutiérrez, C.S.V., Juan, L.U.S., Ugarte, I.Z., & Vilches, V.M. (2018).

Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643.

Page 9: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

HARDWARE

ETHERNET

ETHERNET CABLING

TCP/UDP/IP TCP/UDP/IP

POWER LINK PROFINET RT

ETHERCAT SERCOS III

PROFINET IRT

ETHERNET ETHERNET MODIFIED ETHERNET

PROFINET ETHERNET/IP

DDS NON REAL-TIME PROTOCOLS

PROFINET ETHERNET/IP

DDS REAL-TIME PROTOCOLS

BASED ON TCP/IP NON REAL-TIME PROTOCOLS

BASED ON TCP/IP REAL-TIME

STANDARD ETHERNET IEEE 802.3

MODIFIED ETHERNET MEDIA ACCESS

REAL-TIME ETHERNET SOLUTIONS

[3] Gutiérrez, C.S.V., Juan, L.U.S., Ugarte, I.Z., & Vilches, V.M. (2018).

Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643.

TOWARDS A REAL TIME CAPABLE LINK LAYER

COMM. LEVEL

Page 10: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

HARDWARE

ETHERNET

ETHERNET CABLING

TCP/UDP/IP TCP/UDP/IP

POWER LINK PROFINET RT

ETHERCAT SERCOS III

PROFINET IRT

ETHERNET ETHERNET MODIFIED ETHERNET

PROFINET ETHERNET/IP

DDS NON REAL-TIME PROTOCOLS

PROFINET ETHERNET/IP

DDS REAL-TIME PROTOCOLS

BASED ON TCP/IP NON REAL-TIME PROTOCOLS

BASED ON TCP/IP REAL-TIME

STANDARD ETHERNET IEEE 802.3

MODIFIED ETHERNET MEDIA ACCESS

REAL-TIME ETHERNET SOLUTIONS

[3] Gutiérrez, C.S.V., Juan, L.U.S., Ugarte, I.Z., & Vilches, V.M. (2018).

Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643.

TOWARDS A REAL TIME CAPABLE LINK LAYER

COMM. LEVEL

Page 11: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

HARDWARE

NO REAL TIME CAPABLE LINK

[3] Gutiérrez, C.S.V., Juan, L.U.S., Ugarte, I.Z., & Vilches, V.M. (2018).

Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643.

LINK CAPACITY 1Gbps. NETWORK LOAD = 900Mbps

LAT

EN

CY

(µs)

HISTOGRAM COUNT

2500

2000

1500

1000

500

0250 200 150 100 50 0

TEST TIME (s)

2500

2000

1500

1000

500

00 2 4 6 8 10

LAT

EN

CY

(µs)

COMM. LEVEL

Page 12: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

HARDWARE

[3] Gutiérrez, C.S.V., Juan, L.U.S., Ugarte, I.Z., & Vilches, V.M. (2018).

Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643.

IEEE 802.1QBV TIME-AWARE SCHEDULER

APPLICATION

MAC

PHY

i210

PHY

PORT 1 PORT 2

SWITCH

END POINT

TAS

PHY

TAS

MAC MAC

TAS

ROBOT CONTROLLER

APPLICATION

PHY

PORT 1 PORT 2

SWITCH

END POINT

TAS

PHY

TAS

MAC MAC

TAS

APPLICATION

ACTUATOR 1 ACTUATOR 2 SENSOR

APPLICATION

MAC

PHY

i210

COMM. LEVEL

Page 13: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

HARDWARE

[3] Gutiérrez, C.S.V., Juan, L.U.S., Ugarte, I.Z., & Vilches, V.M. (2018).

Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643.

APPLICATION

MAC

PHY

i210

PHY

PORT 1 PORT 2

SWITCH

END POINT

TAS

PHY

TAS

MAC MAC

TAS

ROBOT CONTROLLER

APPLICATION

PHY

PORT 1 PORT 2

SWITCH

END POINT

TAS

PHY

TAS

MAC MAC

TAS

APPLICATION

ACTUATOR 1 ACTUATOR 2 SENSOR

APPLICATION

MAC

PHY

i210

REAL TIME CAPABLE LINK LAYER

TRx2 TRx1

FA1FA2FS TX1 TX2

Congestion Point

Congestion Point

COMM. LEVEL

Page 14: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

HARDWARE

REAL TIME CAPABLE LINK

[3] Gutiérrez, C.S.V., Juan, L.U.S., Ugarte, I.Z., & Vilches, V.M. (2018).

Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643.

LINK CAPACITY 1Gbps. NETWORK LOAD = 900Mbps

LAT

EN

CY

(µs)

HISTOGRAM COUNT

00

TEST TIME (s)

00 2 4 6 8 10

LAT

EN

CY

(µs)

1500 1000 500

0.5

1

2

4

2.5

1.5

3.5

0.5

1

2

4

2.5

1.5

3.5

3 3

COMM. LEVEL

Page 15: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

HARDWAREARCHITECTURE

PL (FPGA Logic)

PS (Processing System)

I/O Protocols ADC

MAC

Accelerator

multi core Cortex A9/A53

Real Time Processing

Unit

High Speed Connectivity

TSN

Sensor Fusion

User Function

PROCESSINGSYSTEM

PROGRAMMABLE LOGIC

TSN Switch

MAC MAC

TSN Endpoint

gPTP

Driver

Linux

API

TSN Subsystem LogiCORE IPYO

CTO

Single Chip with Application Processor and TSN

XILINX PROVIDE MIXED CRITICALITY SOLUTIONS THAT CONNECT TO TSN

Page 16: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

4. RTOS AND NETWORKING STACK OPTIMIZED LINUX NETWORKING STACK

Page 17: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

ROS 2 APPLICATION

PRESENTATION

SESSION

TRANSPORT

NETWORK

DATA LINK

PHYSICAL

DDS

ETHERNET

UDP/IP OPTIMIZED LINUX NETWORKING STACK

REAL-TIMEROBOT STACK

Page 18: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

RTOS AND NETWORKING STACK OPTIMIZED LINUX NETWORKING STACK

[4] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Vilches, V. M. (2018). Real-time Linux communications: an evaluation of the Linux

communication stack for real-time robotic applications. arXiv preprint arXiv:1808.10821.

ROUND-TRIP client

no-rt we use a vanilla kernel.

rt-normal we use a PREEMPT-RT kernel without binding the round-trip programs and network IRQs to any CPU.

rt-affinities we bind the IRQ thread of the priority queue and the client and server programs to CPU 1 of each device.

rt-isolation we run the roundtrip application in an isolated CPU.

ROUND-TRIP server

T1

T2

Page 19: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

RTOS AND NETWORKING STACK OPTIMIZED LINUX NETWORKING STACK

[4] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Vilches, V. M. (2018). Real-time Linux communications: an evaluation of the Linux

communication stack for real-time robotic applications. arXiv preprint arXiv:1808.10821.

TC CLASSIFICATION

QDISC QDISC QDISC

TX RING BUFFERS

TX QUEUES

… …

… …

… …

PROTOCOLS (TCP/IP,UDP/IP…)

QUEUE MAPPING

NETWORK DEVICE DRIVERS

QUEING DISCIPLINE

REAL-TIME TALKER

BEST-EFFORT TALKER

SOCKET

SOCKET

USERSPACE LINUX NETWORK STACK N.I.C.

Page 20: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

[4] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Vilches, V. M. (2018). Real-time Linux communications: an evaluation of the Linux

communication stack for real-time robotic applications. arXiv preprint arXiv:1808.10821.

NU

MB

ER O

F LA

TEN

CY

SA

MP

LES

100000

10000

1000

100

10

1

100 200 300 400 500 600 700 800

LATENCY (US)

IDLE

RTOS ANDNETWORKING STACKOPTIMIZED LINUX NETWORKING STACK

Page 21: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

[4] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Vilches, V. M. (2018). Real-time Linux communications: an evaluation of the Linux

communication stack for real-time robotic applications. arXiv preprint arXiv:1808.10821.

NU

MB

ER O

F LA

TEN

CY

SA

MP

LES

100000

10000

1000

100

10

1

100 200 300 400 500 600 700 800

LATENCY (US)

STRESS

RTOS ANDNETWORKING STACKOPTIMIZED LINUX NETWORKING STACK

Page 22: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

RTOS ANDNETWORKING STACK

NU

MB

ER O

F LA

TEN

CY

SA

MP

LES

100000

10000

1000

100

10

1

100 200 300 400 500 600 700 800

LATENCY (US)

TX TRAFFIC 100MBPS

[4] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Vilches, V. M. (2018). Real-time Linux communications: an evaluation of the Linux

communication stack for real-time robotic applications. arXiv preprint arXiv:1808.10821.

OPTIMIZED LINUX NETWORKING STACK

Page 23: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

5. ROBOTICS FRAMEWORK &COMMUNICATION MIDDLEWAREROS 2.0 FOR REAL-TIME

Page 24: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

ROS 2 APPLICATION

PRESENTATION

SESSION

TRANSPORT

NETWORK

DATA LINK

PHYSICAL

DDS

ETHERNET

UDP/IP

ROS 2.0 FOR REAL-TIME

REAL-TIMEROBOT STACK

Page 25: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

[5] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Vilches, V. M. (2018). Towards a distributed and real-time framework for robots: Evaluation

of ROS 2.0 communications for real-time robotic applications. arXiv preprint arXiv:1809.02595.

ROBOTICS FRAMEWORK &COMMUNICATION MIDDLEWAREROS 2.0 FOR REAL-TIME

ROBOT CONTROLLER

Page 26: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

ROBOTICS FRAMEWORK &COMMUNICATION MIDDLEWAREROS 2.0 FOR REAL-TIME

[5] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Vilches, V. M. (2018). Towards a distributed and real-time framework for robots: Evaluation

of ROS 2.0 communications for real-time robotic applications. arXiv preprint arXiv:1809.02595.

ROS 2.0 publisher

DDS publisher

ROS 2.0 subscriber

DDS subscriber

Page 27: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

ROBOTICS FRAMEWORK &COMMUNICATION MIDDLEWAREROS 2.0 FOR REAL-TIME

[5] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Vilches, V. M. (2018). Towards a distributed and real-time framework for robots: Evaluation

of ROS 2.0 communications for real-time robotic applications. arXiv preprint arXiv:1809.02595.

NU

MB

ER O

F LA

TEN

CY

SA

MP

LES

100

10

1

2000 4000 6000 8000

ROUND-TRIP LATENCY (US)

SYSTEM idle

10000

1000

Page 28: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

ROBOTICS FRAMEWORK &COMMUNICATION MIDDLEWAREROS 2.0 FOR REAL-TIME

[5] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Vilches, V. M. (2018). Towards a distributed and real-time framework for robots: Evaluation

of ROS 2.0 communications for real-time robotic applications. arXiv preprint arXiv:1809.02595.

NU

MB

ER O

F LA

TEN

CY

SA

MP

LES

100

10

1

2000 4000 6000 8000

ROUND-TRIP LATENCY (US)

SYSTEM under load (stress)

10000

1000

Page 29: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

ROBOTICS FRAMEWORK &COMMUNICATION MIDDLEWAREROS 2.0 FOR REAL-TIME

[5] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Vilches, V. M. (2018). Towards a distributed and real-time framework for robots: Evaluation

of ROS 2.0 communications for real-time robotic applications. arXiv preprint arXiv:1809.02595.

NU

MB

ER O

F LA

TEN

CY

SA

MP

LES

100

10

1

2000 4000 6000 8000

ROUND-TRIP LATENCY (US)

10000

1000

SYSTEM UNDER LOAD WITH RT SETTINGS

Page 30: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

ROBOTICS FRAMEWORK &COMMUNICATION MIDDLEWAREROS 2.0 FOR REAL-TIME

[5] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Vilches, V. M. (2018). Towards a distributed and real-time framework for robots: Evaluation

of ROS 2.0 communications for real-time robotic applications. arXiv preprint arXiv:1809.02595.

NU

MB

ER O

F LA

TEN

CY

SA

MP

LES

1000

100

10

1

2000 4000 6000 8000

ROUND-TRIP LATENCY (US)

SYSTEM UNDER LOAD WITH RT SETTINGS

10000

Page 31: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

ROBOTICS FRAMEWORK &COMMUNICATION MIDDLEWAREROS 2.0 FOR REAL-TIME

[5] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Vilches, V. M. (2018). Towards a distributed and real-time framework for robots: Evaluation

of ROS 2.0 communications for real-time robotic applications. arXiv preprint arXiv:1809.02595.

NU

MB

ER O

F LA

TEN

CY

SA

MP

LES

1000

100

10

1

2000 4000 6000 8000

ROUND-TRIP LATENCY (US)

SYSTEM UNDER LOAD WITH 1 Mbps CONCURRENT TRAFFIC AND RT SETTINGS

10000

Page 32: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

ROBOTICS FRAMEWORK &COMMUNICATION MIDDLEWAREROS 2.0 FOR REAL-TIME

[5] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Vilches, V. M. (2018). Towards a distributed and real-time framework for robots: Evaluation

of ROS 2.0 communications for real-time robotic applications. arXiv preprint arXiv:1809.02595.

NU

MB

ER O

F LA

TEN

CY

SA

MP

LES

1000

100

10

1

2000 4000 6000 8000

ROUND-TRIP LATENCY (US)

SYSTEM UNDER LOAD WITH 40 Mbps CONCURRENT TRAFFIC AND RT SETTINGS

10000

Page 33: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

ROBOTICS FRAMEWORK &COMMUNICATION MIDDLEWAREROS 2.0 FOR REAL-TIME

[5] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., & Vilches, V. M. (2018). Towards a distributed and real-time framework for robots: Evaluation

of ROS 2.0 communications for real-time robotic applications. arXiv preprint arXiv:1809.02595.

NU

MB

ER O

F LA

TEN

CY

SA

MP

LES

1000

100

10

1

2000 4000 6000 8000

ROUND-TRIP LATENCY (US)

SYSTEM UNDER LOAD WITH 80 Mbps CONCURRENT TRAFFIC AND RT SETTINGS

10000

Page 34: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

REAL-TIMEREFERENCE DEMO

REAL-TIME PENDULUM

Gutiérrez, C. S. V., San Juan, L. U., ROS2, real-time, control, pendulum

https://github.com/ros2-realtime-demo/pendulum

Page 35: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

6. TIME SYNCHRONIZATION IN ROBOT MODULES

Page 36: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

ROS 2 APPLICATION

PRESENTATION

SESSION

TRANSPORT

NETWORK

DATA LINK

PHYSICAL

DDS

ETHERNET

UDP/IPSYNCHRONIZATION AT ALL LEVELS

REAL-TIMEROBOT STACK

Page 37: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

TIME SYNCHRONIZATIONIN ROBOT MODULES

[6] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., Goenaga, I. M., Kirschgens, L. A., & Vilches, V. M. (2018).

Time Synchronization in modular collaborative robots. arXiv preprint arXiv:1809.07295.

STATUS-MOTOR 1 (M1)

STATUS-MOTOR 2 (M2)

ROBOT CONTROLLER

start of period n

start of period n

start of period n+1

Δt PUB (M2)

ΔtSUB (M1)

Δt SUB (M2)

ΔtPUB (M1)

Δt SUB (M2)

ΔtPUB (M2)

Δt SUB (M1)

Δt PUB (M1)

ΔtPUB (M1)

motor1 publishing time offset

ΔtSUB (M1)

Motor1 arrival time offset

ΔtPUB (M2)

Motor1 publishing time offset

ΔtSUB (M2)

Motor1 arrival time offset

Page 38: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

TIME SYNCHRONIZATIONIN ROBOT MODULES

[6] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., Goenaga, I. M., Kirschgens, L. A., & Vilches, V. M. (2018).

Time Synchronization in modular collaborative robots. arXiv preprint arXiv:1809.07295.

ROBOT CONTROLLER

Page 39: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

NU

MB

ER O

F S

AM

PLE

S100

10

1

2000 4000 6000 8000

MICROSECONDS

ARRIVAL TIME OFFSET FROM THE EXPECTED PERIOD

10000

TIME SYNCHRONIZATIONIN ROBOT MODULES

[6] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., Goenaga, I. M., Kirschgens, L. A., & Vilches, V. M. (2018).

Time Synchronization in modular collaborative robots. arXiv preprint arXiv:1809.07295.

Page 40: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

NU

MB

ER O

F S

AM

PLE

S100

10

1

2000 4000 6000 8000

MICROSECONDS

ARRIVAL TIME OFFSET FROM THE EXPECTED PERIOD

10000

TIME SYNCHRONIZATIONIN ROBOT MODULES

[6] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., Goenaga, I. M., Kirschgens, L. A., & Vilches, V. M. (2018).

Time Synchronization in modular collaborative robots. arXiv preprint arXiv:1809.07295.

Page 41: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

NA

NO

SEC

ON

DS

2000

1500

1000

1

100 200 300 400

SAMPLES

PTP MAXIMUM ABSOLUTE OFFSET

500

TIME SYNCHRONIZATIONIN ROBOT MODULES

[6] Gutiérrez, C. S. V., Juan, L. U. S., Ugarte, I. Z., Goenaga, I. M., Kirschgens, L. A., & Vilches, V. M. (2018).

Time Synchronization in modular collaborative robots. arXiv preprint arXiv:1809.07295.

500

600 700

Page 42: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

7. REAL-TIMESECURITY

Page 43: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

ROS 2 APPLICATION

PRESENTATION

SESSION

TRANSPORT

NETWORK

DATA LINK

PHYSICAL

DDS

ETHERNET

UDP/IPREAL-TIME RESILIENCE TO SECURITY BUGS?

REAL-TIMEROBOT STACK

Page 44: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

REAL-TIMESECURITY

Kim, J., Smereka, J. M., Cheung, C., Nepal, S., & Grobler, M. (2018).

Security and performance considerations in ros 2: A balancing act.

arXiv preprint arXiv:1809.09566.

DiLuoffo, V., Michalson, W. R., & Sunar, B. (2018). Robot Operating System 2: The need for a holistic

security approach to robotic architectures. International Journal of Advanced Robotic Systems,

15(3), 1729881418770011.

Somehow understood as

Page 45: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

UNDERSTAND THE ATTACK VECTORS THAT AFFECT REAL-TIME

Page 46: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

THREATMODEL

CI PIPELINE

UPDATE DEPLOYMENT

SERVICE

OTASERVER

OTAUPDATE AGENT

Push

art

ifact

Push artifacts

Update

Enrollment request

ARTIFACT STORAGE

Cod

e Pu

sh

Sen

d co

mm

ands

Sen

d co

mm

ands

Cod

e co

mm

it

CODEREPOSITORY

ROBOTICS ENGINEER

ACTUATOR1

ACTUATOR2

IMU TEMPERATURESENSOR

TEMPERATURESENSORDRIVER

POWER SENSOR

POWER SENSORDRIVER

JOINTCONTROLTHREAD

Ret

urn

feed

back

Ret

urn

feed

back

Sen

d re

adin

gs

IMU DRIVER

Sen

d re

adin

gs

Sen

d re

adin

gs

Sen

d re

adin

gs

Sen

d re

adin

gs

Sen

d re

adin

gs

JOINTSTATE

MONITORTHREAD

JOINTMODEL

DELIVERYTHREAD

ROS2CONTROLNODES

Send commands

Send models

Send status

H-ROSAPI

CLIENT

H-ROSAPI

SERVER

NODELIFECYCLECONTROLER

Send commandsSend commands

UPDATEAGENT

Send commands

Send commands

ROBOT OPERATOR

UPDATEDEPLOYMENT

SERVICE

Push updates

ARTIFACT STORAGE

Fetc

h ar

tifa

ct

CI PIPELINE

Push artifact

Cod

e Pu

shC

omm

it c

ode

CODEREPOSITORY

ROBOTICS DEVELOPER

TECHNICALSUPPORT

TECHNICIAN

Fetc

h ar

tifa

ct

Perform maintainance

FIRMWARE UPDATES

OTASYSTEM

MARAROBOT

INDUSTRIALPC (ORC)

SOFTWARECONTROL

Page 47: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

SECURITY SOLUTIONS

SERVICES

z

CODE TESTING

FORENSICS ROBOT SECURITY

VIRTUAL ROBOT HACKING

ROBOTIC SOFTWARE

DEVELOPMENT LIFECYCLE

THREAT MODEL

ANALYSIS

SECURITY STANDARDS

COMPLIANCE

PHYSICAL ROBOT HACKING

Robot security

ASSESSMENTS

Security

CONSULTING

RECORDS

Enables forensic investigation

ROBOT IMMUNE SYSTEM

Detects threats by learning usual comms

Non-intrusive. Real-time. No latencies

Hardware agnostic. Plug & Play

Records all robot data

PRODUCTS

ALIAS ROBOTICS

Page 48: LESSONS LEARNED ON - Alias RoboticsVilches, V.M. (2018). Time-Sensitive Networking for robotics. arXiv preprint arXiv:1804.07643. HARDWARE ETHERNET ETHERNET CABLING TCP/UDP/IP TCP/UDP/IP

www.aliasrobotics.com [email protected]

REMOVING 0-DAYSFROM ROBOTICS