SlideShare a Scribd company logo
1 of 29
Turtlebot3: VxWorks running ROS2
as a real-time guest OS on Hypervisor
Andrei Kholodnyi, Principal Technologist, Wind River,
Patrick Deiber, Senior Engineering Specialist, Wind River
CHEMICAL SECTOR COMMERCIAL BUILDING SECTOR COMMUNICATIONS SECTOR
CRITICAL MANUFACTURING SECTOR DAMS SECTOR
AEROSPACE AND DEFENSE SECTOR
EMERGENCY SERVICES SECTOR ENERGY SECTOR
FINANCIAL SERVICES SECTOR FOOD AND AGRICULTURE SECTOR GOVERNMENT BUILDING SECTOR
MEDICAL SECTOR
IT SECTOR
NUCLEAR SECTOR TRANSPORTATION/AUTO SECTOR WATER AND WASTEWATER SECTOR
2 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
NASA
MITSUBISHI ELECTRIC
Our software runs all these robots
4 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
Before we start: some definitions
5 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
Robot Operating System (ROS)
The Robot Operating System (ROS) is a flexible framework for writing robot software. It is a collection of
tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior
across a wide variety of robotic platforms.
ROS is licensed under an open source, BSD license
The Robonaut 2
aboard the ISS
runs ROS
ROS Melodic
Morenia
Released
ROS-Industrial
Consortium kicks off
2007 ... 2013 2014 2015 ... 2019 2020
ROS at Willow
Garage
ROS2 alpha
released
ROS2
Dashing
First LTS
release
ROS2 Foxy
(May 2020)
Next LTS
release
6 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
Turtlebot 3 (Affordable modular ROS2 platform)
360 LIDAR for SLAM & Navigation
Scalable structure
Single Board Computer
Raspberry Pi
OpenCR ARM Cortex M7
Dynamixel x 2 for Wheels
2 for Wheels
Li Battery
 32/64 bits on Arm/Intel/MIPS/PowerPC
 Proprietary real-time OS, POSIX PSE52
 Kernel/user space separation, user space optional
 C/C++11/14, possible to develop kernel C++ modules and user apps
 Safety certifiable: DO-178, ISO 26262, IEC 61508
 Toolchain LLVM 8, Dinkumware C/C++ libs
 Proprietary build system
 Kernel shell
 Eclipse-based IDE, Windows/Linux hosts
WHAT IS VXWORKS RTOS?
8 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
App
OS
Type 1 and Type 2 hypervisors (both run VMs)
App
VM (OS)
Hardware
OT / Type 1
Embedded
Hypervisor
App
OS
App
VM (OS)
Hardware
IT / Type 2
IT Hypervisor
(Linux, Windows,
vmware …)
OS
Baremetal
OS
9 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
What is mixed-criticality (and ROS2 in particular)
10 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
ROS2 on WRLinux
Option 1
WRLinux
HW with Multi-
core CPU
App 1 App N
WR safety
certifiable OS
WR non-
safety OS
WR FOSS
Products
• soft-RT capable
• non-safety
• TSN (time sensitive networking)
Properties set #1
11 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
ROS2 on VxWorks
Option 2
WR safety
certifiable OS
WR non-
safety OS
WR FOSS
Products
VxWorks
RTOS
HW with Multi-
core CPU
App 1 App N
• hard-RT
• non-safety
• TSN
Properties set #2
12 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
ROS2 on safety VxWorks
WR safety
certifiable OS
WR non-
safety OS
WR FOSS
Products
VxWorks
RTOS
HW with Multi-
core CPU
Critical
App 1
Critical
App N
Option 3
• hard-RT
• Safety
• TSN
Properties set #3
13 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
ROS2 on Hypervisor
Hardware with Multi-core CPU
Option 4
WR safety
certifiable OS
WR non-
safety OS
WR FOSS
Products
WRLinux
App 1 App N
VxWorks
RTOS
Legacy
Framework
Legacy
App 1
Critical
App 1
Critical
App N
• hard-RT
• Safety
• TSN
• soft-RT capable
• non-safety
Legacy
App N
Wind River Virtualization Platform (Hypervisor)
Get Mixed Properties
Add Hypervisor
14 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
ROS2 on Hypervisor
Hardware with Multi-core CPU
Opti
on 4
WR safety
certifiable OS
WR non-
safety OS
WR FOSS
Products
WRLinux
App 1 App N
VxWorks
RTOS
Legacy
Framework
Legacy
App 1
Critical
App 1
Critical
App N
• hard-RT
• Safety
• TSN
• soft-RT capable
• non-safety
Legacy
App N
Wind River Virtualization Platform (Hypervisor)
Get Mixed Properties
Add Hypervisor
VM
VxWorks Control
VxWorks
ROS2
Sensing Control Actuation
Edge VxWorks Control
VxWorks
ROS2
Sensing Actuation
VxWorks
ROS2
Control
TSN
Case 1: Decoupling control from sensing and actuation
VM
WRLinux
ROS2
ML App
Hypervisor
VM VM VMMultiple HW components
OS1
FW1
App1
Consolidated Platform
Hypervisor
Case 2: HW Consolidation
HW1
OS2
FW2
App2
HW2
OS3
FW3
App3
HW3 Multicore HW
OS1
FW1
App1
OS2
FW2
App2
OS3
FW3
App3
VM VM VMMultiple SW components
OS
FW
App1
Safety Separation Platform
Hypervisor
Case 3: SW Separation
Multicore HW
App2 App3
Multicore HW
OS1
FW1
App1
OS2
FW2
App2
OS3
FW3
App3
18 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
TurtleBot3 Burger
Dashboard
Wired or
USB Wireless
UP2 or NUC
(Ubuntu18.04 LTS)
WLAN router
HDMI
DP
USB Wireless
Demo
19 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
TurtleBot3 Burger
USB2Serial
PWM
LiDaR
OpenCR
Wired or
USB Wireless
UP2 or NUC
(Ubuntu18.04 LTS)
WLAN router
HDMI
DP
USB Wireless
Mars XU3 / ST3 (ZynqMP)
(HVP + Vx + Lx)
UP2 (IA)
(HVP + Vx + Lx)
SBC
OR
USB2Serial
Dashboard
Demo
20 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
192.168.1.10
vm1
PMU0
+
Python / LED
non-critical
Turtlebot3 Burger Architecture on SBC
Hardware
Core 0 Core 1 Core 2 Core 3
Helix Virtualization Platform (Hypervisor)
vmlinux
Web Server + PMU3
vnet0_rosIf
10.0.0.1
vnic1
10.0.0.3
LAN/
WLAN
Wind River Linux
vconsole7
SDHC1UART
vm2
ROS2 + LiDaR / OpenCR + PMU1 / PMU2
VxWorks
vm0
“rootOS”
VxWorks VxWorks
vnic7
10.0.0.8
vconsole1vconsole0
USBGPIO
vnic0
10.0.0.2
Dashboard
21 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
vm2 Content - ROS2 on VxWorks runing control function
https://raw.githubusercontent.com/ros2/ros2/release-latest/ros2.repos
Core 1 Core 2
vm2
ROS2 + LiDaR / OpenCR + PMU1 / PMU2
VxWorks
ROS2 dependencies: ASIO, tinyxml2, OpenCV
LLVM C++11/C++14
VxWorks SR630
Turtlebot3 ROS2 packages
Python 3.8
Cmake / autotools build primitives
Intel 64bit / ARM64
POSIX
ROS2 Obstacle avoidance app
TB3 LiDAR driver TB3 OpenCR driver
22 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
192.168.1.10
vm1
PMU0
+
Python / LED
non-critical
Reboot vm1, vm2 is still operational
Hardware
Core 0 Core 1 Core 2 Core 3
Helix Virtualization Platform (Hypervisor)
vmlinux
Web Server + PMU3
vnet0_rosIf
10.0.0.1
vnic1
10.0.0.3
LAN/
WLAN
Wind River Linux
vconsole7
SDHC1UART
vm2
ROS2 + LiDaR / OpenCR + PMU1 / PMU2
VxWorks
vm0
“rootOS”
VxWorks VxWorks
vnic7
10.0.0.8
vconsole1vconsole0
USBGPIO
vnic0
10.0.0.2
Dashboard
23 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
192.168.1.10
vm1
PMU0
+
Python / LED
non-critical
Reboot vmlinux, vm2 is still operational
Hardware
Core 0 Core 1 Core 2 Core 3
Helix Virtualization Platform (Hypervisor)
vmlinux
Web Server + PMU3
vnet0_rosIf
10.0.0.1
vnic1
10.0.0.3
LAN/
WLAN
Wind River Linux
vconsole7
SDHC1UART
vm2
ROS2 + LiDaR / OpenCR + PMU1 / PMU2
VxWorks
vm0
“rootOS”
VxWorks VxWorks
vnic7
10.0.0.8
vconsole1vconsole0
USBGPIO
vnic0
10.0.0.2
Dashboard
24 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
192.168.1.10
vm1
PMU0
+
Python / LED
non-critical
Pause vm2, TB3 contol stops
Hardware
Core 0 Core 1 Core 2 Core 3
Helix Virtualization Platform (Hypervisor)
vmlinux
Web Server + PMU3
vnet0_rosIf
10.0.0.1
vnic1
10.0.0.3
LAN/
WLAN
Wind River Linux
vconsole7
SDHC1UART
vm2
ROS2 + LiDaR / OpenCR + PMU1 / PMU2
VxWorks
vm0
“rootOS”
VxWorks VxWorks
vnic7
10.0.0.8
vconsole1vconsole0
USBGPIO
vnic0
10.0.0.2
Dashboard
25 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
Live Demo at 3A-233 by our partner Enclustra
26 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
Conclusions
 ROS2 offers a possibilty to develop complex autonomous applications
(mobile robotics).
 Important to consider proven safety-compliant solution for underlying
layers (operating system).
 Safety and real-time OS running ROS2 stack under hypervisor allows to
build flexible mixed-critical mobile robotics solutions
27 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
https://labs.windriver.com
Platform for Innovation
28 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
Team
 Ka Kay Achacoso
 Patrick Deiber
 Torsten Demke
 Mihai Dragusu
 Andrei Kholodnyi
 Dan Milea
 Vlad Lungu
™

More Related Content

What's hot

Desktop virtualization
Desktop virtualizationDesktop virtualization
Desktop virtualization
atadrisi
 

What's hot (20)

Upgrade Kubernetes the boring way
Upgrade Kubernetes the boring wayUpgrade Kubernetes the boring way
Upgrade Kubernetes the boring way
 
Open stack ha design & deployment kilo
Open stack ha design & deployment   kiloOpen stack ha design & deployment   kilo
Open stack ha design & deployment kilo
 
OpenShift Kubernetes Native Infrastructure for 5GC and Telco Edge Cloud
OpenShift  Kubernetes Native Infrastructure for 5GC and Telco Edge Cloud OpenShift  Kubernetes Native Infrastructure for 5GC and Telco Edge Cloud
OpenShift Kubernetes Native Infrastructure for 5GC and Telco Edge Cloud
 
[네이버오픈소스세미나] Maglev Hashing Scheduler in IPVS, Linux Kernel - 송인주
[네이버오픈소스세미나] Maglev Hashing Scheduler in IPVS, Linux Kernel - 송인주[네이버오픈소스세미나] Maglev Hashing Scheduler in IPVS, Linux Kernel - 송인주
[네이버오픈소스세미나] Maglev Hashing Scheduler in IPVS, Linux Kernel - 송인주
 
Desktop virtualization
Desktop virtualizationDesktop virtualization
Desktop virtualization
 
Inside Architecture of Neutron
Inside Architecture of NeutronInside Architecture of Neutron
Inside Architecture of Neutron
 
VDI and Application Virtualization
VDI and Application VirtualizationVDI and Application Virtualization
VDI and Application Virtualization
 
An SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsAn SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environments
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
 
The Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitchThe Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitch
 
CloudStack Networking
CloudStack NetworkingCloudStack Networking
CloudStack Networking
 
OpenShift Overview
OpenShift OverviewOpenShift Overview
OpenShift Overview
 
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack CascadingBuilding Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
 
Pushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack UpPushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack Up
 
ROS+GAZEBO
ROS+GAZEBOROS+GAZEBO
ROS+GAZEBO
 
Easy Cloud Native Transformation using HashiCorp Nomad
Easy Cloud Native Transformation using HashiCorp NomadEasy Cloud Native Transformation using HashiCorp Nomad
Easy Cloud Native Transformation using HashiCorp Nomad
 
Issues of OpenStack multi-region mode
Issues of OpenStack multi-region modeIssues of OpenStack multi-region mode
Issues of OpenStack multi-region mode
 
CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
CloudStack Architecture
 
Dpdk pmd
Dpdk pmdDpdk pmd
Dpdk pmd
 
SFScon15 - Thomas Lamprecht: "Proxmox Virtual Environment 4.0"
SFScon15 - Thomas Lamprecht: "Proxmox Virtual Environment 4.0"SFScon15 - Thomas Lamprecht: "Proxmox Virtual Environment 4.0"
SFScon15 - Thomas Lamprecht: "Proxmox Virtual Environment 4.0"
 

Similar to Turtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor

Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212
Yoojoo Jang
 
Virtualization Everywhere
Virtualization EverywhereVirtualization Everywhere
Virtualization Everywhere
webhostingguy
 

Similar to Turtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor (20)

ROS2 on VxWorks - Challenges in porting a modern, software framework to RTOS
ROS2 on VxWorks - Challenges in porting a modern, software framework to RTOSROS2 on VxWorks - Challenges in porting a modern, software framework to RTOS
ROS2 on VxWorks - Challenges in porting a modern, software framework to RTOS
 
ROS2 on VxWorks - one project on Wind River Labs
ROS2 on VxWorks - one project on Wind River LabsROS2 on VxWorks - one project on Wind River Labs
ROS2 on VxWorks - one project on Wind River Labs
 
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, CitrixLCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
 
Container based android
Container based androidContainer based android
Container based android
 
Highilights from Rod Randall (SIRIS/Stratus) LTE Asia
Highilights from Rod Randall (SIRIS/Stratus) LTE AsiaHighilights from Rod Randall (SIRIS/Stratus) LTE Asia
Highilights from Rod Randall (SIRIS/Stratus) LTE Asia
 
How to cross compile ROS2 distro by taken VxWorks RTOS as an example
How to cross compile ROS2 distro by taken VxWorks RTOS as an exampleHow to cross compile ROS2 distro by taken VxWorks RTOS as an example
How to cross compile ROS2 distro by taken VxWorks RTOS as an example
 
2011-11-03 Intelligence Community Cloud Users Group
2011-11-03 Intelligence Community Cloud Users Group2011-11-03 Intelligence Community Cloud Users Group
2011-11-03 Intelligence Community Cloud Users Group
 
Android containerization in brief
Android containerization in briefAndroid containerization in brief
Android containerization in brief
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212
 
VMware Developer-Ready Transformation
VMware Developer-Ready TransformationVMware Developer-Ready Transformation
VMware Developer-Ready Transformation
 
“Introducing the Kria Robotics Starter Kit: Robotics and Machine Vision for S...
“Introducing the Kria Robotics Starter Kit: Robotics and Machine Vision for S...“Introducing the Kria Robotics Starter Kit: Robotics and Machine Vision for S...
“Introducing the Kria Robotics Starter Kit: Robotics and Machine Vision for S...
 
F5 OpenShift Workshop
F5 OpenShift WorkshopF5 OpenShift Workshop
F5 OpenShift Workshop
 
2011-03-15 Lockheed Martin Open Source Day
2011-03-15 Lockheed Martin Open Source Day2011-03-15 Lockheed Martin Open Source Day
2011-03-15 Lockheed Martin Open Source Day
 
OpenContrail SDN for Kubernetes
OpenContrail SDN for KubernetesOpenContrail SDN for Kubernetes
OpenContrail SDN for Kubernetes
 
Virtualization Everywhere
Virtualization EverywhereVirtualization Everywhere
Virtualization Everywhere
 
CloudX on OpenStack
CloudX on OpenStackCloudX on OpenStack
CloudX on OpenStack
 
Coscup2018 itri android-in-cloud
Coscup2018 itri android-in-cloudCoscup2018 itri android-in-cloud
Coscup2018 itri android-in-cloud
 
wisecloud based open cloud implementation guide
wisecloud based open cloud implementation guidewisecloud based open cloud implementation guide
wisecloud based open cloud implementation guide
 
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...
 
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
 

Recently uploaded

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Recently uploaded (20)

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 

Turtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor

  • 1. Turtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor Andrei Kholodnyi, Principal Technologist, Wind River, Patrick Deiber, Senior Engineering Specialist, Wind River
  • 2. CHEMICAL SECTOR COMMERCIAL BUILDING SECTOR COMMUNICATIONS SECTOR CRITICAL MANUFACTURING SECTOR DAMS SECTOR AEROSPACE AND DEFENSE SECTOR EMERGENCY SERVICES SECTOR ENERGY SECTOR FINANCIAL SERVICES SECTOR FOOD AND AGRICULTURE SECTOR GOVERNMENT BUILDING SECTOR MEDICAL SECTOR IT SECTOR NUCLEAR SECTOR TRANSPORTATION/AUTO SECTOR WATER AND WASTEWATER SECTOR 2 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
  • 4. 4 © 2019 WIND RIVER. ALL RIGHTS RESERVED. Before we start: some definitions
  • 5. 5 © 2019 WIND RIVER. ALL RIGHTS RESERVED. Robot Operating System (ROS) The Robot Operating System (ROS) is a flexible framework for writing robot software. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms. ROS is licensed under an open source, BSD license The Robonaut 2 aboard the ISS runs ROS ROS Melodic Morenia Released ROS-Industrial Consortium kicks off 2007 ... 2013 2014 2015 ... 2019 2020 ROS at Willow Garage ROS2 alpha released ROS2 Dashing First LTS release ROS2 Foxy (May 2020) Next LTS release
  • 6. 6 © 2019 WIND RIVER. ALL RIGHTS RESERVED. Turtlebot 3 (Affordable modular ROS2 platform) 360 LIDAR for SLAM & Navigation Scalable structure Single Board Computer Raspberry Pi OpenCR ARM Cortex M7 Dynamixel x 2 for Wheels 2 for Wheels Li Battery
  • 7.  32/64 bits on Arm/Intel/MIPS/PowerPC  Proprietary real-time OS, POSIX PSE52  Kernel/user space separation, user space optional  C/C++11/14, possible to develop kernel C++ modules and user apps  Safety certifiable: DO-178, ISO 26262, IEC 61508  Toolchain LLVM 8, Dinkumware C/C++ libs  Proprietary build system  Kernel shell  Eclipse-based IDE, Windows/Linux hosts WHAT IS VXWORKS RTOS?
  • 8. 8 © 2019 WIND RIVER. ALL RIGHTS RESERVED. App OS Type 1 and Type 2 hypervisors (both run VMs) App VM (OS) Hardware OT / Type 1 Embedded Hypervisor App OS App VM (OS) Hardware IT / Type 2 IT Hypervisor (Linux, Windows, vmware …) OS Baremetal OS
  • 9. 9 © 2019 WIND RIVER. ALL RIGHTS RESERVED. What is mixed-criticality (and ROS2 in particular)
  • 10. 10 © 2019 WIND RIVER. ALL RIGHTS RESERVED. ROS2 on WRLinux Option 1 WRLinux HW with Multi- core CPU App 1 App N WR safety certifiable OS WR non- safety OS WR FOSS Products • soft-RT capable • non-safety • TSN (time sensitive networking) Properties set #1
  • 11. 11 © 2019 WIND RIVER. ALL RIGHTS RESERVED. ROS2 on VxWorks Option 2 WR safety certifiable OS WR non- safety OS WR FOSS Products VxWorks RTOS HW with Multi- core CPU App 1 App N • hard-RT • non-safety • TSN Properties set #2
  • 12. 12 © 2019 WIND RIVER. ALL RIGHTS RESERVED. ROS2 on safety VxWorks WR safety certifiable OS WR non- safety OS WR FOSS Products VxWorks RTOS HW with Multi- core CPU Critical App 1 Critical App N Option 3 • hard-RT • Safety • TSN Properties set #3
  • 13. 13 © 2019 WIND RIVER. ALL RIGHTS RESERVED. ROS2 on Hypervisor Hardware with Multi-core CPU Option 4 WR safety certifiable OS WR non- safety OS WR FOSS Products WRLinux App 1 App N VxWorks RTOS Legacy Framework Legacy App 1 Critical App 1 Critical App N • hard-RT • Safety • TSN • soft-RT capable • non-safety Legacy App N Wind River Virtualization Platform (Hypervisor) Get Mixed Properties Add Hypervisor
  • 14. 14 © 2019 WIND RIVER. ALL RIGHTS RESERVED. ROS2 on Hypervisor Hardware with Multi-core CPU Opti on 4 WR safety certifiable OS WR non- safety OS WR FOSS Products WRLinux App 1 App N VxWorks RTOS Legacy Framework Legacy App 1 Critical App 1 Critical App N • hard-RT • Safety • TSN • soft-RT capable • non-safety Legacy App N Wind River Virtualization Platform (Hypervisor) Get Mixed Properties Add Hypervisor
  • 15. VM VxWorks Control VxWorks ROS2 Sensing Control Actuation Edge VxWorks Control VxWorks ROS2 Sensing Actuation VxWorks ROS2 Control TSN Case 1: Decoupling control from sensing and actuation VM WRLinux ROS2 ML App Hypervisor
  • 16. VM VM VMMultiple HW components OS1 FW1 App1 Consolidated Platform Hypervisor Case 2: HW Consolidation HW1 OS2 FW2 App2 HW2 OS3 FW3 App3 HW3 Multicore HW OS1 FW1 App1 OS2 FW2 App2 OS3 FW3 App3
  • 17. VM VM VMMultiple SW components OS FW App1 Safety Separation Platform Hypervisor Case 3: SW Separation Multicore HW App2 App3 Multicore HW OS1 FW1 App1 OS2 FW2 App2 OS3 FW3 App3
  • 18. 18 © 2019 WIND RIVER. ALL RIGHTS RESERVED. TurtleBot3 Burger Dashboard Wired or USB Wireless UP2 or NUC (Ubuntu18.04 LTS) WLAN router HDMI DP USB Wireless Demo
  • 19. 19 © 2019 WIND RIVER. ALL RIGHTS RESERVED. TurtleBot3 Burger USB2Serial PWM LiDaR OpenCR Wired or USB Wireless UP2 or NUC (Ubuntu18.04 LTS) WLAN router HDMI DP USB Wireless Mars XU3 / ST3 (ZynqMP) (HVP + Vx + Lx) UP2 (IA) (HVP + Vx + Lx) SBC OR USB2Serial Dashboard Demo
  • 20. 20 © 2019 WIND RIVER. ALL RIGHTS RESERVED. 192.168.1.10 vm1 PMU0 + Python / LED non-critical Turtlebot3 Burger Architecture on SBC Hardware Core 0 Core 1 Core 2 Core 3 Helix Virtualization Platform (Hypervisor) vmlinux Web Server + PMU3 vnet0_rosIf 10.0.0.1 vnic1 10.0.0.3 LAN/ WLAN Wind River Linux vconsole7 SDHC1UART vm2 ROS2 + LiDaR / OpenCR + PMU1 / PMU2 VxWorks vm0 “rootOS” VxWorks VxWorks vnic7 10.0.0.8 vconsole1vconsole0 USBGPIO vnic0 10.0.0.2 Dashboard
  • 21. 21 © 2019 WIND RIVER. ALL RIGHTS RESERVED. vm2 Content - ROS2 on VxWorks runing control function https://raw.githubusercontent.com/ros2/ros2/release-latest/ros2.repos Core 1 Core 2 vm2 ROS2 + LiDaR / OpenCR + PMU1 / PMU2 VxWorks ROS2 dependencies: ASIO, tinyxml2, OpenCV LLVM C++11/C++14 VxWorks SR630 Turtlebot3 ROS2 packages Python 3.8 Cmake / autotools build primitives Intel 64bit / ARM64 POSIX ROS2 Obstacle avoidance app TB3 LiDAR driver TB3 OpenCR driver
  • 22. 22 © 2019 WIND RIVER. ALL RIGHTS RESERVED. 192.168.1.10 vm1 PMU0 + Python / LED non-critical Reboot vm1, vm2 is still operational Hardware Core 0 Core 1 Core 2 Core 3 Helix Virtualization Platform (Hypervisor) vmlinux Web Server + PMU3 vnet0_rosIf 10.0.0.1 vnic1 10.0.0.3 LAN/ WLAN Wind River Linux vconsole7 SDHC1UART vm2 ROS2 + LiDaR / OpenCR + PMU1 / PMU2 VxWorks vm0 “rootOS” VxWorks VxWorks vnic7 10.0.0.8 vconsole1vconsole0 USBGPIO vnic0 10.0.0.2 Dashboard
  • 23. 23 © 2019 WIND RIVER. ALL RIGHTS RESERVED. 192.168.1.10 vm1 PMU0 + Python / LED non-critical Reboot vmlinux, vm2 is still operational Hardware Core 0 Core 1 Core 2 Core 3 Helix Virtualization Platform (Hypervisor) vmlinux Web Server + PMU3 vnet0_rosIf 10.0.0.1 vnic1 10.0.0.3 LAN/ WLAN Wind River Linux vconsole7 SDHC1UART vm2 ROS2 + LiDaR / OpenCR + PMU1 / PMU2 VxWorks vm0 “rootOS” VxWorks VxWorks vnic7 10.0.0.8 vconsole1vconsole0 USBGPIO vnic0 10.0.0.2 Dashboard
  • 24. 24 © 2019 WIND RIVER. ALL RIGHTS RESERVED. 192.168.1.10 vm1 PMU0 + Python / LED non-critical Pause vm2, TB3 contol stops Hardware Core 0 Core 1 Core 2 Core 3 Helix Virtualization Platform (Hypervisor) vmlinux Web Server + PMU3 vnet0_rosIf 10.0.0.1 vnic1 10.0.0.3 LAN/ WLAN Wind River Linux vconsole7 SDHC1UART vm2 ROS2 + LiDaR / OpenCR + PMU1 / PMU2 VxWorks vm0 “rootOS” VxWorks VxWorks vnic7 10.0.0.8 vconsole1vconsole0 USBGPIO vnic0 10.0.0.2 Dashboard
  • 25. 25 © 2019 WIND RIVER. ALL RIGHTS RESERVED. Live Demo at 3A-233 by our partner Enclustra
  • 26. 26 © 2019 WIND RIVER. ALL RIGHTS RESERVED. Conclusions  ROS2 offers a possibilty to develop complex autonomous applications (mobile robotics).  Important to consider proven safety-compliant solution for underlying layers (operating system).  Safety and real-time OS running ROS2 stack under hypervisor allows to build flexible mixed-critical mobile robotics solutions
  • 27. 27 © 2019 WIND RIVER. ALL RIGHTS RESERVED. https://labs.windriver.com Platform for Innovation
  • 28. 28 © 2019 WIND RIVER. ALL RIGHTS RESERVED. Team  Ka Kay Achacoso  Patrick Deiber  Torsten Demke  Mihai Dragusu  Andrei Kholodnyi  Dan Milea  Vlad Lungu
  • 29.

Editor's Notes

  1. For over 35 years we’ve served customers in markets with highest standards for safety, security, and performance. Collectively these markets, across these 16 subsectors, comprise what is referred to as Critical Infrastructure, those elements of a society or nation that are critical to its day to day operations. We believe that some thing are so important that they simply cannot fail. That is why we exist.
  2. USB Devices cannot be set on partition basis? => then one partition for LiDaR and OpenCR Integration steps: Native WRLinux with ROS2 + LiDaR + OpenCR + Remote Control (GamePad) => reference platform for next steps (with RPI4B for example) / sanity check. HVP + WRLinux with ROS2 + LiDaR + OpenCR + Remote Control (GamePad) HVP + VxWorks + WRLinux as described in the picture above.
  3. USB Devices cannot be set on partition basis? => then one partition for LiDaR and OpenCR Integration steps: Native WRLinux with ROS2 + LiDaR + OpenCR + Remote Control (GamePad) => reference platform for next steps (with RPI4B for example) / sanity check. HVP + WRLinux with ROS2 + LiDaR + OpenCR + Remote Control (GamePad) HVP + VxWorks + WRLinux as described in the picture above.
  4. USB Devices cannot be set on partition basis? => then one partition for LiDaR and OpenCR Integration steps: Native WRLinux with ROS2 + LiDaR + OpenCR + Remote Control (GamePad) => reference platform for next steps (with RPI4B for example) / sanity check. HVP + WRLinux with ROS2 + LiDaR + OpenCR + Remote Control (GamePad) HVP + VxWorks + WRLinux as described in the picture above.
  5. USB Devices cannot be set on partition basis? => then one partition for LiDaR and OpenCR Integration steps: Native WRLinux with ROS2 + LiDaR + OpenCR + Remote Control (GamePad) => reference platform for next steps (with RPI4B for example) / sanity check. HVP + WRLinux with ROS2 + LiDaR + OpenCR + Remote Control (GamePad) HVP + VxWorks + WRLinux as described in the picture above.