(Research for)
Creating a ROS 2 Distribution
Dirk Riehle
University of Erlangen2023-11-23 ROSCON DE
Copyright © 2023 Dirk Riehle

Prof. Dr. Dirk Riehle, M.B.A.
Professor of Computer Science at University of Erlangen, https://oss.cs.fau.deMain current research projects● Engineering economics dashboard● Data engineering, pipeline infrastructure● Qualitative data analysis research software
Academic and industry experience● Professor, University of Erlangen, Germany● Research group leader, SAP Research, California● Software architect, Skyva Inc., Boston, U.S.A.
https://dirkriehle.com – https://profriehle.comCommercial services through Bayave Gmbh, https://bayave.com

2
https://profriehle.com

1. Overview

Distribution [1]A distribution is●

A non-trivial set of components configured to work well with each otherAn open source distribution is●

A distribution mostly or exclusively built from open source components

A distribution often covers a whole layer in the tech stack●

Examples are Linux, Kubernetes, Open Stack

4[1] See https://dirkriehle.com/publications/2021-selected/the-open-source-distributor-business-model/https://profriehle.com

Examples and Classification of Distributions [1][1] See https://dirkriehle.com/2021/05/29/open-source-distributions-by-life-cycle/

5
https://profriehle.com

The Robot Operating System (ROS)The Robot Operating System (ROS) is a●

Middleware for operating robots

ROS (v1) is mostly used in design and testing of systems●ROS 2 is intended to be used in production

6
https://profriehle.com

Design of ROS 2 [1]7[1] Macenski, S., Foote, T., Gerkey, B., Lalancette, C., & Woodall, W. (2022). Robot Operating System
2: Design, architecture, and uses in the wild. Science Robotics, 7(66).
https://profriehle.com

Domains / Industries●Mobility (vehicles)○○○

Automotive (cars)
Shopfloor (cf. Turtlebots)
Off-highway (e.g. agriculture)●

Industrial (manufacturing robots)●

Medical (biomedical engineering, medical devices)8
https://profriehle.com

ROS 2 Distributions
The main open source distribution●●●

Open Robotics, https://docs.ros.org/en/humble/Releases.html
About annual releases, currently Humble Hawksbill (“humble”)
Supports (“tier 1”) Ubuntu 22.04 and Windows 10, no RTOS

One commercial distribution●●●

Apex.OS (+ Apex.Middleware), https://www.apex.ai/apex-osBased on ROS 2 (heavily modified)With underlying RTOS (probably QNX)

9
https://profriehle.com

2. Research

Software Engineering Research Challenges
An open source distribution that is
1.
2.
3.

(Well) integrated
Reproducible
Certifiable

Plus other challenges

11
https://profriehle.com

2.1 Component Integration
The (original) challenge of any distribution is to●Integrate well a○○○(possibly large) number of(possibly complex)(binary) components

12
https://profriehle.com

Key Challenges of Integration
1.

Definition and creation of correct (binary) buildsa.
b.

2.

Definition and consistent use of versioning
a.
b.

3.

Versioned configurations for a release
Overall release management

Definition and consistent use of component configurations
a.
b.

4.

For a given architecture, operational environment
Build configuration for components

Configuration files and their locations
Parameter configuration patterns and mechanisms

Definition and consistent use of component interactionsa.
b.

Consistent integration of components into middleware
Patterns for implicit (not typed) dependencies, interactions

13
https://profriehle.com

Dissertation-Size Research Project “Integration”
1.

Problem identification
a.

Theory building using methodological triangulation using
i.
ii.
iii.
iv.

2.

Objective definitiona.

For one (or several) problem dimensions, find solution to problem, e.g.
i.

3.

Build out theory, implement tooling for evaluation

Demonstrationa.

5.

How should a multi-dimensional compatibility matrix look like?

Solution designa.

4.

Structured literature review on distributions
Qualitative survey on challenges to creating a distribution
Quantitative descriptive survey
Artifact analysis

Ongoing demonstration using ROS 2

Evaluationa.

Perform case study research with three industry partners for focused use case14
https://profriehle.com

2.2 Software Reproducibility
A distribution is reproducible if●●Every single open source component can be verified to be true to its source
The verification must not depend on the distribution

15
https://profriehle.com

Dependencies and the Software Supply Chain

16
https://profriehle.com

U.S. Whitehouse Executive Order 2022-05-12 [1]U.S. Whitehouse Executive Order on Improving the Nation’s Cybersecurity [1]●Sec. 4. Enhancing Software Supply Chain Security○A purchaser must be provided a software bill of materials

U.S. Cybersecurity & Infrastructure Security Agency●

Software bill of materials: https://www.cisa.gov/sbom

National Telecom and Infrastructure Administration●

https://www.ntia.gov/SBOM[1] See https://whitehouse.gov/briefing-room/presidential-actions/2021/05/12/
executive-order-on-improving-the-nations-cybersecurity/17
https://profriehle.com

Key Challenges to Reproducibility
1.
2.
3.
4.
5.
6.

Create a complete and correct software bill of materials
Make component included in distribution open for verification
Make component build process open and deterministicDesign mechanism to perform verification from source
Allow for verification at the scale of a full open source distribution
Support incremental updates to components and verification

18
https://profriehle.com

Dissertation-Size Research Project “Reproducibility” [1]1.

Problem identificationa.

2.

Theory building using methodological triangulation

Objective definitiona.

For one (or several) problem dimensions, find solution to problem, e.g.
i.
ii.

3.

Solution designa.

4.

Build out theory, extend build systems, create verification mechanism

Demonstrationa.

5.

How to make a component available to verification?
How to scale verification to whole distribution?

Ongoing demonstration using ROS 2Evaluationa.

Perform case study research with three industry partners for focused use case[1] The topic is certainly worth more than one dissertation

19
https://profriehle.com

2.3 Certifiability
A distribution is certifiable if (with reasonable effort)●

Products built on top of distribution can be certified

Goal is to make certification as easy as possible
In the ROS 2 case, there are at least two confounding factors●●

Choice of domain (so many marks to choose from)
Choice of operating system

20
https://profriehle.com

Domains / Industries and Their Certifications
Industry

Example Standard

Assessment Levels

AutomotiveISO 26262

ASIL A-DIndustrial

IEC 62061 / ISO 13849-1–

Shopfloor––

Agriculture––

Medical

IEC 62304 / ISO 13485–21
https://profriehle.com

Choice of Operating System
Depends on choice of domain / industry (including potential industry sponsors)●●●

BuildRoot
Yocto Project
Zephyr RTOS

Hoping to build on the Zephyr Project (currently aiming for IEC 61508)
May be suitable for medical devices / software

22
https://profriehle.com

Key Challenges of Certifiability
Product certification●

Mismatch between existing and needed software architecture

Process certification●

Mismatch between community process and certification requirements

23
https://profriehle.com

Dissertation-Size Research Project “Certifiability”
1.

Problem identification
a.
b.

2.

Theory building using methodological triangulation
Iterative, including choice of industry / domain

Objective definitiona.

For one (or several) problem dimensions, find solution to problem, e.g.
i.
ii.
iii.

3.

Solution designa.

4.

Build out theory, participate in development

Demonstrationa.

5.

How to resolve product / process mismatch?
How to perform a large-scale code-base refactoring?
How to transparently immigrate for a certification purpose?

Ongoing demonstration using ROS 2

Evaluationa.

Perform case study research with three industry partners for focused use case24
https://profriehle.com

Alternative Research Design for “Certifiability”#ActivityDevelopment

Action research1

Set initial goal

Lead or help refactor code base tobecome more easily certificable

Build theory of how to make open
source projects certifiable

2

Choose focus

Create and revise incremental build-out roadmap

3

Plan the action

Plan development

Plan project engagement

4

Execute the action

Perform development in incremental
steps, prepare patch sequence

Explain steps, submit patches, workwith project5

Observe outcome

Learn for next development steps

Track what works what doesn’t

6

Build out theory

Build out theory of how to make open source projects certifiable

25
https://profriehle.com

Other Challenges to (Open Source Distributions)
1.
2.
3.
4.
5.
6.

Hardware abstraction
Operating system integration
Installation and updates
LTS and backports
Open source license compliance
Layering e.g. ROS 2 + ROS Industrial

26
https://profriehle.com

3. Business(January 2023)

Who Owns ROS? Interest in ROS?
Multiple answers possible●●Open Robotics
Nobody / a community

Broad industry support●●

Broad industry steering committee
Broad consortia support around the world

Focus is industrial robots e.g. ROS Industrial

28
https://profriehle.com

Corporate Structure Behind Open Robotics
Open Source Robotics Foundation, Inc.
●●●https://www.guidestar.org/profile/45-5230545
Total pre-pandemic (2019) revenues U$5.5M, operating at breakeven
Net assets (2019) at US$2.1M according to Open Robotics 2019 Form 990

Open Source Robotics Corporation●●

Subsidiary of the OSRF
Used for consulting services around Gazebo, ROS

Open Robotics is used as a catch-all for both OSRF and OSRC29
https://profriehle.com

Open Robotics Employee Demographics
47 employees according to their website●●●>50% employees are called (senior) software engineers
5 “software engineering supervisors” (= project managers?)
One CEO, CFO, CHRO, BizDev person

Open Robotics is a consulting organization●●Average engineering salary = US$150K (according to Glassdoor)
Total costs of 30 engineers, fully loaded = 30* US$225K = US$6.750M30
https://profriehle.com

Intrinsic (an Alphabet Company)
Intrinsic, an Alphabet (Google) company●On a mission “to make industrial robots accessible”

Intrinsic concluded acquisition of OSRC in December 2022●●

Intrinsic acquired skilled personnel in key project positions
Intrinsic leaves a basic OSRF in place to host ROS 2 (and Gazebo)

Intrinsic’s goals are unclear, possible scenarios●●

Heavy-handed (worst case): Hamstring ROS 2, start owning it
Light touch (best case): Foster and support a fair and equal ecosystem

31
https://profriehle.com

The Tools Available to Intrinsic
Hard mechanisms●●●

ROS trademark (officially with OSRF) [1]
Patents: Status unknown
Committer status: Core committers employed now by Intrinsic

Soft mechanisms●●

Community leadership: Core committers employed by Intrinsic
Secondary trademarks (ROSCON, etc.) [1][1] See https://www.ros.org/imgs/ROSBrandGuide.pdf

32
https://profriehle.com

Apex.AI
Apex.AI provides Apex.OS, a fork of ROS 2 that●●“Has been made real-time, reliable, and deterministic”“Is developed in sync with future releases of ROS 2”

Apex.AI business focus is on software-defined vehicles

33
https://profriehle.com

Any Specific Neglected Domain?
Common●●SDV, mobility
Industrial robots

Observed●●Space (ROSCON)
Medical technology

Others?

34
https://profriehle.com

Thank you! Any questions?
dirk.riehle@fau.de – https://oss.cs.fau.de
dirk@riehle.org – https://dirkriehle.com – @dirkriehle

Legal Notices
License●No license given, please ask for permission to use

Copyright●© Copyright 2023 Dirk Riehle, all rights reserved36
https://profriehle.com