Components and Workflows for ROS 2

The ROS 2 system for new applications

Figure 1. The ROS 2 system for new applications

Supported hardware platforms:

  • Arm64
  • RISC-V
  • Real-time systems
  • Intel® x86-64

Supported operating systems:

  • Ubuntu Linux
  • Yocto Project Linux
  • QNX
  • VxWorks®

Supported middleware services (data distributed services):

  • Cyclone DDS
  • Fast DDS
  • Connext DDS
  • Eclipse iceoryx

Other usable components from the ROS community:

  • MOVEit
  • Nav2
  • Control

ROS 2 and the Yocto Project Linux Build System

the Yocto build system and its layers

Figure 2. A visual representation of the Yocto Project build system and its layers

A layer is a collection of your packages that are combined by functionality. For example, the meta-ROS layer contains all the packages for the ROS 2 distribution; within this package are various recipes for each individual package, allowing you to describe how you would like to build, install, and/or modify the package.

Using the Yocto Project build system, you can build in layers. When you add a layer, you add functionality, but you can still modify specific components within the existing layers underneath.

Yocto Project Linux vs. Desktop Linux for ROS 2

  Yocto Project Linux Desktop Linux
ROS 2 meta-ros rosdistro
Distribution Source Binary
Compilation Cross Native
Silicon Vendor ARM, Intel, Nvidia, NXP, RISC-V Intel, ARM
Build System BitBake colcon
ROS 2 meta-ros rosdistro
Performance Tuning Easy (flexible) Middle
Footprint Tuning Easy (multiple profiles) Difficult
Learning Curve Difficult (layers, recipes, etc.) Middle (colcon, bloom, packages)
Licenses SPDX generation Possible
SDK Available N/A
Security Updates Available Available

Figure 3. A comparison of Yocto Project Linux vs. desktop Linux for ROS 2

There are a few primary takeaways from a comparison between Yocto Project Linux and desktop Linux:

  • With desktop Linux, prepared binary packages are difficult to modify. Yocto Project Linux, on the other hand, provides source distribution, which gives developers “recipes” that allow them to choose and modify dependencies based on a particular package.
  • In the cross-compilation model versus the native model, cross-compilation needs a host. This means that one computer will be responsible for compiling the distribution for another computer.
  • There is much broader silicon vendor support for Yocto Project Linux compared to desktop Linux.
  • It is more difficult to tune desktop Linux for performance, but not impossible. However, tuning in Yocto Project Linux is easier.
  • Yocto Project Linux provides an SDK to develop applications; this is not the case for desktop Linux.

Despite the many differences, both share similar build systems that read metadata information and then compile packages based on the use case.

How Can Wind River Help?

Wind River Studio

Studio offers cloud-native platform for developing

Studio offers teams the first cloud-native platform for developing, deploying, operating, and servicing intelligent edge systems.

Wind River® Studio is the first cloud-native platform for the development, deployment, operations, and servicing of mission-critical intelligent edge systems that require security, safety, and reliability. It is architected to deliver digital scale across the full lifecycle through a single pane of glass to accelerate transformative business outcomes.

» Learn More

RTOS

Studio’s market-leading real-time operating system, powered by VxWorks, now includes ROS 2 for VxWorks. While ROS 2 is not technically part of the RTOS product, ROS 2 for VxWorks provides custom modifications and build scripts to integrate the ROS 2 framework into the RTOS. If robotics platform or application developers want to take advantage of the modern development workflow provided by VxWorks using SDKs, Visual Studio Code, and real-time containers, they can get more information and download details here.

ROS 2 for VxWorks can be built in two different ways:

  1. With a VxWorks SDK that is available on this site under a free, noncommercial use license
  2. With a commercially licensed VxWorks product

The VxWorks SDK build uses traditional command line recipes and tools such as CMake. The second build option is integrated with VxWorks source and image build projects.

The project provides the dependencies needed to build ROS 2. However, ROS 2 also requires certain build tools on specific build hosts. To this end, Wind River provides build scripts to automate the ROS 2 build. This includes Docker containers for developers who wish to use a reproducible sandbox environment for their builds.

» Learn More

Wind River Labs

ROS 2 for VxWorks is also included as a technology in Wind River Labs. Additional robotics demonstrations and presentations can be found in the Wind River Resource Library. For specific questions regarding ROS 2 for VxWorks, contact salesinquiry@windriver.com.

» Learn More

LINUX OS

Studio’s Linux OS, powered by Wind River Linux, enables you to build and deploy robust, reliable, and secure Linux-based embedded devices and systems, without the risk and development effort associated with roll-your-own (RYO) in-house efforts. Let Wind River keep your code base up-to-date, track and fix defects, apply security patches, customize your runtime to adhere to strict market specifications and certifications, facilitate your IP and export compliance, and significantly reduce your costs.

Wind River Linux core capabilities:

  • Build and deploy robust, reliable, and secure Linux-based edge devices and systems without the risk and development effort associated with roll-your-own (RYO) in-house efforts.
  • Accelerate time-to-market, reduce total cost of ownership, and unlock the full potential of open software for embedded systems.
  • Enjoy freedom from royalties or subscriptions on deployed devices.
  • Work with completely open source and Yocto Project–compatible tools.
  • Take advantage of purpose-built Linux that is configurable for small disk and memory size, real time (preempt_rt), and high availability.
  • Avoid liability and compliance issues with full content, copyright, and licensing information on all Wind River packages.

» Learn More