SlideShare a Scribd company logo
1 of 23
Download to read offline
© 2019 WIND RIVER. ALL RIGHTS RESERVED.
ROS 2 ON VXWORKS
CHALLENGES IN PORTING A MODERN SOFTWARE
FRAMEWORK TO AN RTOS
A N D R E I K H O L O D N Y I , P R I N C I P A L T E C H N O L O G I S T , T E C H N O L O G Y O F F I C E
2 © 2019 WIND RIVER. ALL RIGHTS RESERVED. AUTOSAR 07-Nov-2018
 What Is VxWorks?
 Why Is ROS 2 on VxWorks?
 ROS 2 at Wind River (Why We Are Doing It)
 Technical Challenges
 Non-technical Challenges
 Conclusions and Next Steps
> ADAS/HAD, Connected Vehicle, IVI, OTA, Automotive
Security
> ROS 2 Mobile Robotics
> Products, Solutions; Partnerships & University Programs
FOCUS
> First GENIVI Linux based IVI project development for BMW
> AdvancedTCA (Networking) for Alcatel and Lucent
> Leadership and delivery of IVI, telematics, and connectivity
projects
> Thematic pathfinding for the new technologies (autonomous
robotics, dependability)
> Continuous innovation
> Improvement for existing and creation of new company
products
> Participation in alliances (GENIVI, FASTR, AUTOSAR
Adaptive, PICMG)
RELEVANT PROJECTS (selection)Andrei Kholodnyi
Principal Technologist
CTO Office
TOPICS OF MY TALK TODAY
3 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
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
3 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
TSN
 Hard RT
 safety
 TSN
 Soft RT
 non-safety
 TSN
TSN
EDGE COMPUTE
GATEWAY COMPUTE
COMPUTECOMPUTE
TITANIUM (STARLING X)
ARM / INTEL
Linux
ROS2 FRAMEWORK
ROS2 APPSROS2 APPS
ROS2 FRAMEWORK
Linux
NXP LS1028 TSN SWITCH
VxWorks / Linux
ROS2 FRAMEWORK
ROS2 APPS
Hypervisor
ARM /Intel HW
ROS2 FRAMEWORK
ROS2 Apps
Hypervisor
ROS2 Apps
VxWorks WRLinux
ARM /Intel HW
ROS2 FRAMEWORK
ROS2 Apps
Hypervisor
ROS2 Apps
VxWorks WRLinux
ETHERNET
SIMULATE LEARN
INTEL CPU / INTEL ML
ML FRAMEWORK
ML
INTEL CPU / NVIDIA GPU
SIMULATION ENGINE
LG OR GAZEBO SIMULATION
INDUSTRIAL PROFILE
MCU HW
ZEPHYR
MICRO ROS OR ROS2
MCU HW
ZEPHYR
MICRO ROS OR ROS2
MCU HW
ZEPHYR
MICRO ROS OR ROS2
5 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
 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?
6 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
NASA
MITSUBISHI ELECTRIC
7 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
WHY ROS 2 AT WIND RIVER
 Show VxWorks running robotics platform based on ROS 2
 Engage with R&D customers already interested in leveraging ROS 2
 Upstream ROS 2 changes back to the community
 Identify challenges in porting a modern software framework (with Python,
Boost, cmake, etc.) to VxWorks and address those challenges
 Provide some hints (common problem-solving patterns) for how to build
Linux applications under VxWorks
 Identify gaps in a development workflow (VxWorks versus Linux) and
address those gaps
8 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
ROS 2 IN KEYWORDS (2017)
⋮⋮⋮ ROS 2
VxWorks
9 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
ROS 2 IN KEYWORDS (2017)
!!!Pain!!!
alone
⋮⋮⋮ ROS 2
VxWorks
10 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
ROS 2 IN KEYWORDS (2019)
Helix Virtualization Platform
meta-rosWind River LabsAutoware
EWC2020 AUTOSAR Adaptive
VxWorksTitanium turtlebot3
microROS
DDS eProsima ROS communityROS-IndustrialDocker
MUSL
LG RPI4UP2
Wind River LinuxIP ReviewDeveloper Journey LLVM GPL
Apollo Digital Twin Training BlogWebinarSimulation
DashingUSB2Serial ROS 2 LabZephyr
ARM SDKTSN CES2020 Intel UMLROS2019 ⋮⋮⋮ ROS 2
11 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
THE ‘RIPPLE’ EFFECT OF ROS 2
ROS 2
12 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
ROS 2 DASHING RELEASE VXWORKS PORT
ROS 2 dependencies: ASIO, tinyxml2, OpenCV
LLVM C++11/C++14
VxWorks SR620
ROS 2 VxWorks SDK
Python 3.8
Cmake / autotools build primitives
Intel 64-bit / Arm / QEMU
POSIX
https://raw.githubusercontent.com/ros2/ros2/release-latest/ros2.repos
• Complete ROS 2 Dashing release has been ported to
VxWorks
• Build using colcon, the same look and feel as a native ROS
2 build (command line)
• OpenCV integration
• Python (ported, not tested)
• Only graphical packages (like RViz) are not ported and stay
on Ubuntu
based on the ROS 2 dashing release
approx. 200 ROS 2 packages
OSS_BUILD layer
UNIX_EXTRA layer
ROS 2 apps
13 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
https://labs.windriver.com
(ROS 2 ON VXWORKS, WIND RIVER LINUX)
14 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
VXWORKS7-ROS2-BUILD (A HELPER REPO)
 https://github.com/Wind-River/vxworks7-ros2-build
 Makefile build: BUILD_TYPE=Debug BOARD=up2 make
 Set of scripts to build:
– bootloader, kernel, userspace, ROS2, and the rootfs (boot from the USB stick)
 Board support:
– UP, UP2, RPI3/RPI4, VxWorks Simulator, QEMU, and others
 Docker build:
– VxWorks product install
15 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
VXWORKS7-LAYER-FOR-ROS2
 https://github.com/Wind-River/vxworks7-layer-for-ros2
 VxWorks layers (build infrastructure):
– OSS_BUILD, UNIX_EXTRA
 VxWorks layers (ROS 2 dependencies):
– ASIO, tinyxml2
 ROS 2 patches:
– fastcdr, fastrtps, rcl, rclutils, etc.
16 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
ROS 2 BUILD UNDER VXWORKS
 From the command line (ROS 2 native build)
– colcon build --symlink-install --cmake-force-configure --cmake-args -DBUILD_TESTING=OFF
 The same look and feel as a ROS 2 native build
– ./wrenv.linux –p vxworks-7 && ./vxworks_env.sh
– colcon build --symlink-install --cmake-force-configure --cmake-args -
DCMAKE_TOOLCHAIN_FILE=$VSB_DIR/buildspecs/cmake/rtp.cmake -
DCMAKE_PREFIX_PATH=$PRJ_WS/install;$VSB_DIR/usr/root -DBUILD_TESTING=OFF
17 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
DUMMY ROBOT
18 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
 IP compliance !!!
 Missing libraries (ROS 2 dependencies need to be ported)
 Missing UNIX functions (e.g., fnmatch, memccpy, some others)
 cmake support in VxWorks is good, but not good enough
 Missing autotools support under Windows
 Dinkum C++ library is not equal to stdlibc++
 Python support is missing in VxWorks
CHALLENGES IN PORTING A MODERN
SOFTWARE FRAMEWORK (BASED ON THE
LATEST VXWORKS RELEASE)
19 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
IP COMPLIANCE
 ROS 2 license is fine (BSD 3-Clause), but …
 There are many dependencies that have different licenses
– ASIO (Boost Software License)
– EIGEN (Mozilla Public License 2.0, GPL and other licenses )
– PCL (BSD license)
– POCO (Boost Software License)
– TINYXML (zlib License)
– TINYXML2 (zlib License)
 This is a real problem for customers who want to run their software on top of it
 Would be good to review a complete licenses list
20 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
ROS 2 DEPENDENCIES
 Some of them are not really necessary (e.g., difficult to certify, not
needed for non-Windows systems)
– POCO
– ASIO (from FastRTPS)
– tinyxml vs tinyxml2
 ROS 2 dependencies need to be ported
– Not a straight (colcon) way to port them in compare to ROS 2 packages
 Missing UNIX/Linux functions
– fnmatch, memccpy, some others
 Probably we need a version without some dependencies
– POCO is a good example (used to run ROS 2 under Windows)
21 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
ROS 2 EMBEDDED VS. ROS 2 FULL
Embedded
– No HMI (meant graphics)
– No visualization tools (Qt, Rviz…)
– No simulation tools (Gazebo)
– No Python
– Remove some dependencies
To make it possible building a ROS2 embedded version
22 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
CONCLUSIONS AND NEXT STEPS
 ROS 2 runs on VxWorks (great experience)
 Current results are published on https://labs.windriver.com
 Docker-based host environment that can be used for reproducible cross-platform
builds
 Make VxWorks officially supported by ROS 2 Dashing
 Provide non-commercial VxWorks SDK for RPI4
 Real-time performance tests: VxWorks, real-time ROS2 working group
 Python: VxWorks integration and test
 Windows development host support: test VxWorks build
23 © 2019 WIND RIVER. ALL RIGHTS RESERVED.

More Related Content

What's hot

QEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded DevelopmentQEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded DevelopmentGlobalLogic Ukraine
 
"OPEN NETWORKING" に向けた Management / Data Plane の動向
"OPEN NETWORKING" に向けた Management / Data Plane の動向"OPEN NETWORKING" に向けた Management / Data Plane の動向
"OPEN NETWORKING" に向けた Management / Data Plane の動向Kentaro Ebisawa
 
#ljstudy KVM勉強会
#ljstudy KVM勉強会#ljstudy KVM勉強会
#ljstudy KVM勉強会Etsuji Nakai
 
LAS16-406: Android Widevine on OP-TEE
LAS16-406: Android Widevine on OP-TEELAS16-406: Android Widevine on OP-TEE
LAS16-406: Android Widevine on OP-TEELinaro
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
Ansible Automation Platform.pdf
Ansible Automation Platform.pdfAnsible Automation Platform.pdf
Ansible Automation Platform.pdfVuHoangAnh14
 
Rust で RTOS を考える
Rust で RTOS を考えるRust で RTOS を考える
Rust で RTOS を考えるryuz88
 
Tizen introduction & architecture
Tizen introduction & architectureTizen introduction & architecture
Tizen introduction & architectureYoonsoo Kim
 
Red hat enterprise linux 7 (rhel 7)
Red hat enterprise linux 7 (rhel 7)Red hat enterprise linux 7 (rhel 7)
Red hat enterprise linux 7 (rhel 7)Ramola Dhande
 
ABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting WalkthroughABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting WalkthroughBenjamin Zores
 
明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化Taiji Tsuchiya
 
I/O仮想化最前線〜ネットワークI/Oを中心に〜
I/O仮想化最前線〜ネットワークI/Oを中心に〜I/O仮想化最前線〜ネットワークI/Oを中心に〜
I/O仮想化最前線〜ネットワークI/Oを中心に〜Ryousei Takano
 
An introduction to papyrus
An introduction to papyrusAn introduction to papyrus
An introduction to papyrusCharles Rivet
 
Linux Instrumentation
Linux InstrumentationLinux Instrumentation
Linux InstrumentationDarkStarSword
 
XenDesktop / XenAppグラフィック ディープダイブ
XenDesktop / XenAppグラフィック ディープダイブ XenDesktop / XenAppグラフィック ディープダイブ
XenDesktop / XenAppグラフィック ディープダイブ Citrix Systems Japan
 

What's hot (20)

QEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded DevelopmentQEMU and Raspberry Pi. Instant Embedded Development
QEMU and Raspberry Pi. Instant Embedded Development
 
"OPEN NETWORKING" に向けた Management / Data Plane の動向
"OPEN NETWORKING" に向けた Management / Data Plane の動向"OPEN NETWORKING" に向けた Management / Data Plane の動向
"OPEN NETWORKING" に向けた Management / Data Plane の動向
 
#ljstudy KVM勉強会
#ljstudy KVM勉強会#ljstudy KVM勉強会
#ljstudy KVM勉強会
 
LAS16-406: Android Widevine on OP-TEE
LAS16-406: Android Widevine on OP-TEELAS16-406: Android Widevine on OP-TEE
LAS16-406: Android Widevine on OP-TEE
 
Building aosp
Building aospBuilding aosp
Building aosp
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
Qemu
QemuQemu
Qemu
 
Ansible Automation Platform.pdf
Ansible Automation Platform.pdfAnsible Automation Platform.pdf
Ansible Automation Platform.pdf
 
Rust で RTOS を考える
Rust で RTOS を考えるRust で RTOS を考える
Rust で RTOS を考える
 
Tizen introduction & architecture
Tizen introduction & architectureTizen introduction & architecture
Tizen introduction & architecture
 
Red hat enterprise linux 7 (rhel 7)
Red hat enterprise linux 7 (rhel 7)Red hat enterprise linux 7 (rhel 7)
Red hat enterprise linux 7 (rhel 7)
 
レシピの作り方入門
レシピの作り方入門レシピの作り方入門
レシピの作り方入門
 
ABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting WalkthroughABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting Walkthrough
 
明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化
 
I/O仮想化最前線〜ネットワークI/Oを中心に〜
I/O仮想化最前線〜ネットワークI/Oを中心に〜I/O仮想化最前線〜ネットワークI/Oを中心に〜
I/O仮想化最前線〜ネットワークI/Oを中心に〜
 
An introduction to papyrus
An introduction to papyrusAn introduction to papyrus
An introduction to papyrus
 
Linux Instrumentation
Linux InstrumentationLinux Instrumentation
Linux Instrumentation
 
Node-RED v2.0新機能紹介
Node-RED v2.0新機能紹介Node-RED v2.0新機能紹介
Node-RED v2.0新機能紹介
 
XenDesktop / XenAppグラフィック ディープダイブ
XenDesktop / XenAppグラフィック ディープダイブ XenDesktop / XenAppグラフィック ディープダイブ
XenDesktop / XenAppグラフィック ディープダイブ
 
Linux Containers (LXC)
Linux Containers (LXC)Linux Containers (LXC)
Linux Containers (LXC)
 

Similar to 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 LabsAndrei Kholodnyi
 
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 exampleAndrei Kholodnyi
 
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on HypervisorTurtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on HypervisorAndrei Kholodnyi
 
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...Hidetsugu Sugiyama
 
Flutter Vikings 2022 - Full Stack Dart
Flutter Vikings 2022  - Full Stack DartFlutter Vikings 2022  - Full Stack Dart
Flutter Vikings 2022 - Full Stack DartChris Swan
 
한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...
한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...
한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...Ian Choi
 
micro-ROS - ROS 2 into microcontrollers
micro-ROS - ROS 2 into microcontrollersmicro-ROS - ROS 2 into microcontrollers
micro-ROS - ROS 2 into microcontrollerseProsima
 
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 AsiaAlan Quayle
 
Llilum 161108 at MVP Global Summit 2016
Llilum 161108 at MVP Global Summit 2016Llilum 161108 at MVP Global Summit 2016
Llilum 161108 at MVP Global Summit 2016Atomu Hidaka
 
Introduction to Open-O
Introduction to Open-OIntroduction to Open-O
Introduction to Open-OLF Events
 
【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪
【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪
【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪MAKERPRO.cc
 
Android containerization in brief
Android containerization in briefAndroid containerization in brief
Android containerization in briefPo-wen Cheng
 
Container based android
Container based androidContainer based android
Container based androidLihan Chen
 
“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...Edge AI and Vision Alliance
 
2014 carlos gzlez florido nksip the erlang sip application server
2014 carlos gzlez florido nksip the erlang sip application server2014 carlos gzlez florido nksip the erlang sip application server
2014 carlos gzlez florido nksip the erlang sip application serverVOIP2DAY
 
FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for Robots
FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for RobotsFIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for Robots
FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for RobotsFIWARE
 
OpenChain AutomotiveWG(OSS license tools()
OpenChain AutomotiveWG(OSS license tools()OpenChain AutomotiveWG(OSS license tools()
OpenChain AutomotiveWG(OSS license tools()Yuichi Kusakabe
 
Webinar Roadmap TotalCross 2020
Webinar Roadmap TotalCross 2020Webinar Roadmap TotalCross 2020
Webinar Roadmap TotalCross 2020Bruno Muniz
 

Similar to ROS2 on VxWorks - Challenges in porting a modern, software framework to RTOS (20)

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
 
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
 
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on HypervisorTurtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor
 
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
 
Flutter Vikings 2022 - Full Stack Dart
Flutter Vikings 2022  - Full Stack DartFlutter Vikings 2022  - Full Stack Dart
Flutter Vikings 2022 - Full Stack Dart
 
한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...
한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...
한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...
 
micro-ROS - ROS 2 into microcontrollers
micro-ROS - ROS 2 into microcontrollersmicro-ROS - ROS 2 into microcontrollers
micro-ROS - ROS 2 into microcontrollers
 
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
 
Llilum 161108 at MVP Global Summit 2016
Llilum 161108 at MVP Global Summit 2016Llilum 161108 at MVP Global Summit 2016
Llilum 161108 at MVP Global Summit 2016
 
Introduction to Open-O
Introduction to Open-OIntroduction to Open-O
Introduction to Open-O
 
【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪
【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪
【1110ROS社群開講】ROS 2與DDS應用於工業領域_王健豪
 
Sa*ple
Sa*pleSa*ple
Sa*ple
 
ARM
ARMARM
ARM
 
Android containerization in brief
Android containerization in briefAndroid containerization in brief
Android containerization in brief
 
Container based android
Container based androidContainer based android
Container based android
 
“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...
 
2014 carlos gzlez florido nksip the erlang sip application server
2014 carlos gzlez florido nksip the erlang sip application server2014 carlos gzlez florido nksip the erlang sip application server
2014 carlos gzlez florido nksip the erlang sip application server
 
FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for Robots
FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for RobotsFIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for Robots
FIWARE Wednesday Webinars - How to Develop FIWARE NGSI Interfaces for Robots
 
OpenChain AutomotiveWG(OSS license tools()
OpenChain AutomotiveWG(OSS license tools()OpenChain AutomotiveWG(OSS license tools()
OpenChain AutomotiveWG(OSS license tools()
 
Webinar Roadmap TotalCross 2020
Webinar Roadmap TotalCross 2020Webinar Roadmap TotalCross 2020
Webinar Roadmap TotalCross 2020
 

Recently uploaded

tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile EnvironmentVictorSzoltysek
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
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 AidPhilip Schwarz
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 

Recently uploaded (20)

tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
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
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
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
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 

ROS2 on VxWorks - Challenges in porting a modern, software framework to RTOS

  • 1. © 2019 WIND RIVER. ALL RIGHTS RESERVED. ROS 2 ON VXWORKS CHALLENGES IN PORTING A MODERN SOFTWARE FRAMEWORK TO AN RTOS A N D R E I K H O L O D N Y I , P R I N C I P A L T E C H N O L O G I S T , T E C H N O L O G Y O F F I C E
  • 2. 2 © 2019 WIND RIVER. ALL RIGHTS RESERVED. AUTOSAR 07-Nov-2018  What Is VxWorks?  Why Is ROS 2 on VxWorks?  ROS 2 at Wind River (Why We Are Doing It)  Technical Challenges  Non-technical Challenges  Conclusions and Next Steps > ADAS/HAD, Connected Vehicle, IVI, OTA, Automotive Security > ROS 2 Mobile Robotics > Products, Solutions; Partnerships & University Programs FOCUS > First GENIVI Linux based IVI project development for BMW > AdvancedTCA (Networking) for Alcatel and Lucent > Leadership and delivery of IVI, telematics, and connectivity projects > Thematic pathfinding for the new technologies (autonomous robotics, dependability) > Continuous innovation > Improvement for existing and creation of new company products > Participation in alliances (GENIVI, FASTR, AUTOSAR Adaptive, PICMG) RELEVANT PROJECTS (selection)Andrei Kholodnyi Principal Technologist CTO Office TOPICS OF MY TALK TODAY
  • 3. 3 © 2019 WIND RIVER. ALL RIGHTS RESERVED. 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 3 © 2019 WIND RIVER. ALL RIGHTS RESERVED.
  • 4. TSN  Hard RT  safety  TSN  Soft RT  non-safety  TSN TSN EDGE COMPUTE GATEWAY COMPUTE COMPUTECOMPUTE TITANIUM (STARLING X) ARM / INTEL Linux ROS2 FRAMEWORK ROS2 APPSROS2 APPS ROS2 FRAMEWORK Linux NXP LS1028 TSN SWITCH VxWorks / Linux ROS2 FRAMEWORK ROS2 APPS Hypervisor ARM /Intel HW ROS2 FRAMEWORK ROS2 Apps Hypervisor ROS2 Apps VxWorks WRLinux ARM /Intel HW ROS2 FRAMEWORK ROS2 Apps Hypervisor ROS2 Apps VxWorks WRLinux ETHERNET SIMULATE LEARN INTEL CPU / INTEL ML ML FRAMEWORK ML INTEL CPU / NVIDIA GPU SIMULATION ENGINE LG OR GAZEBO SIMULATION INDUSTRIAL PROFILE MCU HW ZEPHYR MICRO ROS OR ROS2 MCU HW ZEPHYR MICRO ROS OR ROS2 MCU HW ZEPHYR MICRO ROS OR ROS2
  • 5. 5 © 2019 WIND RIVER. ALL RIGHTS RESERVED.  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?
  • 6. 6 © 2019 WIND RIVER. ALL RIGHTS RESERVED. NASA MITSUBISHI ELECTRIC
  • 7. 7 © 2019 WIND RIVER. ALL RIGHTS RESERVED. WHY ROS 2 AT WIND RIVER  Show VxWorks running robotics platform based on ROS 2  Engage with R&D customers already interested in leveraging ROS 2  Upstream ROS 2 changes back to the community  Identify challenges in porting a modern software framework (with Python, Boost, cmake, etc.) to VxWorks and address those challenges  Provide some hints (common problem-solving patterns) for how to build Linux applications under VxWorks  Identify gaps in a development workflow (VxWorks versus Linux) and address those gaps
  • 8. 8 © 2019 WIND RIVER. ALL RIGHTS RESERVED. ROS 2 IN KEYWORDS (2017) ⋮⋮⋮ ROS 2 VxWorks
  • 9. 9 © 2019 WIND RIVER. ALL RIGHTS RESERVED. ROS 2 IN KEYWORDS (2017) !!!Pain!!! alone ⋮⋮⋮ ROS 2 VxWorks
  • 10. 10 © 2019 WIND RIVER. ALL RIGHTS RESERVED. ROS 2 IN KEYWORDS (2019) Helix Virtualization Platform meta-rosWind River LabsAutoware EWC2020 AUTOSAR Adaptive VxWorksTitanium turtlebot3 microROS DDS eProsima ROS communityROS-IndustrialDocker MUSL LG RPI4UP2 Wind River LinuxIP ReviewDeveloper Journey LLVM GPL Apollo Digital Twin Training BlogWebinarSimulation DashingUSB2Serial ROS 2 LabZephyr ARM SDKTSN CES2020 Intel UMLROS2019 ⋮⋮⋮ ROS 2
  • 11. 11 © 2019 WIND RIVER. ALL RIGHTS RESERVED. THE ‘RIPPLE’ EFFECT OF ROS 2 ROS 2
  • 12. 12 © 2019 WIND RIVER. ALL RIGHTS RESERVED. ROS 2 DASHING RELEASE VXWORKS PORT ROS 2 dependencies: ASIO, tinyxml2, OpenCV LLVM C++11/C++14 VxWorks SR620 ROS 2 VxWorks SDK Python 3.8 Cmake / autotools build primitives Intel 64-bit / Arm / QEMU POSIX https://raw.githubusercontent.com/ros2/ros2/release-latest/ros2.repos • Complete ROS 2 Dashing release has been ported to VxWorks • Build using colcon, the same look and feel as a native ROS 2 build (command line) • OpenCV integration • Python (ported, not tested) • Only graphical packages (like RViz) are not ported and stay on Ubuntu based on the ROS 2 dashing release approx. 200 ROS 2 packages OSS_BUILD layer UNIX_EXTRA layer ROS 2 apps
  • 13. 13 © 2019 WIND RIVER. ALL RIGHTS RESERVED. https://labs.windriver.com (ROS 2 ON VXWORKS, WIND RIVER LINUX)
  • 14. 14 © 2019 WIND RIVER. ALL RIGHTS RESERVED. VXWORKS7-ROS2-BUILD (A HELPER REPO)  https://github.com/Wind-River/vxworks7-ros2-build  Makefile build: BUILD_TYPE=Debug BOARD=up2 make  Set of scripts to build: – bootloader, kernel, userspace, ROS2, and the rootfs (boot from the USB stick)  Board support: – UP, UP2, RPI3/RPI4, VxWorks Simulator, QEMU, and others  Docker build: – VxWorks product install
  • 15. 15 © 2019 WIND RIVER. ALL RIGHTS RESERVED. VXWORKS7-LAYER-FOR-ROS2  https://github.com/Wind-River/vxworks7-layer-for-ros2  VxWorks layers (build infrastructure): – OSS_BUILD, UNIX_EXTRA  VxWorks layers (ROS 2 dependencies): – ASIO, tinyxml2  ROS 2 patches: – fastcdr, fastrtps, rcl, rclutils, etc.
  • 16. 16 © 2019 WIND RIVER. ALL RIGHTS RESERVED. ROS 2 BUILD UNDER VXWORKS  From the command line (ROS 2 native build) – colcon build --symlink-install --cmake-force-configure --cmake-args -DBUILD_TESTING=OFF  The same look and feel as a ROS 2 native build – ./wrenv.linux –p vxworks-7 && ./vxworks_env.sh – colcon build --symlink-install --cmake-force-configure --cmake-args - DCMAKE_TOOLCHAIN_FILE=$VSB_DIR/buildspecs/cmake/rtp.cmake - DCMAKE_PREFIX_PATH=$PRJ_WS/install;$VSB_DIR/usr/root -DBUILD_TESTING=OFF
  • 17. 17 © 2019 WIND RIVER. ALL RIGHTS RESERVED. DUMMY ROBOT
  • 18. 18 © 2019 WIND RIVER. ALL RIGHTS RESERVED.  IP compliance !!!  Missing libraries (ROS 2 dependencies need to be ported)  Missing UNIX functions (e.g., fnmatch, memccpy, some others)  cmake support in VxWorks is good, but not good enough  Missing autotools support under Windows  Dinkum C++ library is not equal to stdlibc++  Python support is missing in VxWorks CHALLENGES IN PORTING A MODERN SOFTWARE FRAMEWORK (BASED ON THE LATEST VXWORKS RELEASE)
  • 19. 19 © 2019 WIND RIVER. ALL RIGHTS RESERVED. IP COMPLIANCE  ROS 2 license is fine (BSD 3-Clause), but …  There are many dependencies that have different licenses – ASIO (Boost Software License) – EIGEN (Mozilla Public License 2.0, GPL and other licenses ) – PCL (BSD license) – POCO (Boost Software License) – TINYXML (zlib License) – TINYXML2 (zlib License)  This is a real problem for customers who want to run their software on top of it  Would be good to review a complete licenses list
  • 20. 20 © 2019 WIND RIVER. ALL RIGHTS RESERVED. ROS 2 DEPENDENCIES  Some of them are not really necessary (e.g., difficult to certify, not needed for non-Windows systems) – POCO – ASIO (from FastRTPS) – tinyxml vs tinyxml2  ROS 2 dependencies need to be ported – Not a straight (colcon) way to port them in compare to ROS 2 packages  Missing UNIX/Linux functions – fnmatch, memccpy, some others  Probably we need a version without some dependencies – POCO is a good example (used to run ROS 2 under Windows)
  • 21. 21 © 2019 WIND RIVER. ALL RIGHTS RESERVED. ROS 2 EMBEDDED VS. ROS 2 FULL Embedded – No HMI (meant graphics) – No visualization tools (Qt, Rviz…) – No simulation tools (Gazebo) – No Python – Remove some dependencies To make it possible building a ROS2 embedded version
  • 22. 22 © 2019 WIND RIVER. ALL RIGHTS RESERVED. CONCLUSIONS AND NEXT STEPS  ROS 2 runs on VxWorks (great experience)  Current results are published on https://labs.windriver.com  Docker-based host environment that can be used for reproducible cross-platform builds  Make VxWorks officially supported by ROS 2 Dashing  Provide non-commercial VxWorks SDK for RPI4  Real-time performance tests: VxWorks, real-time ROS2 working group  Python: VxWorks integration and test  Windows development host support: test VxWorks build
  • 23. 23 © 2019 WIND RIVER. ALL RIGHTS RESERVED.