BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News ROS 2 Foxy Fitzroy Release Improves Security and Tooling

ROS 2 Foxy Fitzroy Release Improves Security and Tooling

This item in japanese

Open Robotics has released ROS 2 Foxy Fitzroy, the latest version of the robot operating system. The release contains several new features, including security enhancements and improved tooling, with contributions from many industry players including the Eclipse foundation and cloud provider Amazon Web Services (AWS).

Foxy Fitzroy is the latest release since last year's Eloquent Elusor release. Foxy has a three-year support horizon, includes tier-1 support for MacOS Mojave, Windows 10, and Ubuntu 20.04 on both amd64 and arm64 platforms, and contains several new features. The Eclipse Foundation has contributed a new tier-one DDS middleware. Security enhancements include contributions from Canonical for additional DDS-Security plugins, particularly the logging plugin which provides the ability to audit security events. Package release has been simplified by adopting a "rolling" release process which includes an automated release migration tool. The AWS RoboMaker team has contributed several tooling features, including a cross-compilation tool which can target ROS 2 workspaces to non-native architectures. According the AWS team,

ROS 2 Foxy is the most secure and reliable ROS distribution to date for production robotics application development.

ROS is a set of open-source frameworks for robot software development initially developed in 2007 as a tool for academic research. As ROS usage spread to industry, several new requirements such as support for multi-robot teams, realtime systems, and production environments led to a "ground-up" redesign, launched in 2015 as ROS 2. ROS 2 is not technically an operating system, but instead 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 2 provides several high-level packages for common robotics tasks such as motion-planning, mapping, and navigation. The low-level core of ROS 2 consists of a client layer (RCL) that exposes the developer interfaces and an anonymous publish-subscribe middleware layer (RMW) based on the Data Distribution Service (DDS) pub-sub protocol. The DDS middleware supports several implementations; with the Foxy release, the Eclipse foundation's Cyclone DDS implementation is now a tier-one middleware.

Security is a key feature of ROS 2, defined by the DDS-Security specification, which defines five Service Plugin Interfaces (SPI): Authentication, Access control, Cryptographic, Logging, and Data tagging. Until the Foxy Fitzroy release, ROS 2 only supported plugins for the first three SPIs. The latest release includes support for the Logging SPI, which logs security events, such as expected behavior and all security violations; the logs can then be used for security auditing purposes. The default DDS middleware, FastDDS, has also backported support for the SPI plugins to several of its older versions.

AWS was a major contributor to the Foxy release. The AWS Robotics team is part of the ROS 2 Technical Steering Committee and the ROS 2 Tooling Working Group. AWS incorporated ROS 2 into their RoboMaker service which was launched in 2018, and the team has contributed several tooling improvements to the Foxy release. In addition to the cross-cmpiler, AWS contributed tools for metrics collection and data compression updates to the rosbags tool. AWS is also behind an effort to improve the ROS core and underlying dependencies to the ROS project's Quality Level 1, the highest quality standard, before the end of 2020. Currently, these packages are at Quality Level 2; the gaps to be addressed are related to testing and code analysis.

The Foxy Fitzroy release notes and installation binaries are available on the ROS website. The ROS source code is available on GitHub.
 

Rate this Article

Adoption
Style

BT