Robot Operating System 2.0

repo: fkromer/awesome-ros2
category: Platforms


Awesome Robot Operating System 2 (ROS 2) Awesome

<img src="https://raw.githubusercontent.com/fkromer/awesome-ros2/master/ros_logo.svg?sanitize=true" align="right" width="86">

A curated list of awesome Robot Operating System Version 2.0 (ROS 2) resources and libraries.

The Robot Operating System 2 (ROS 2) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS 2 has what you need for your next robotics project. And it’s all open source.

DEPRECATION NOTICE: This repository is in the process of beeing handed over to Open Robotics. Feel free to checkout the GitHub ROS2 organization to find the repo there in the future.

Contents

Packages

Data collection

  • ros2_data_collection - Collect, validate and send data reliably from ROS 2 to create APIs and dashboards.

Demonstrations

  • adlink_ddsbot - The ROS 2.0/1.0 based robots swarm architecture (opensplice DDS).
  • adlink_neuronbot - ROS2/DDS robot pkg for human following and swarm.
  • turtlebot3 - ROS2 based TurtleBot3 demo including Bringup, Teleop and Cartographer.

Examples

Benchmarking

  • ros2_benchmarking - Framework for ROS2 benchmarking. ROS2 communication characteristics can be evaluated on several axes, quickly and in an automated way.
  • performance_test - Test performance and latency of various communication means like ROS 2, FastRTPS and Connext DDS Micro.

Containerization

Networking

Ecosystem

  • Link ROS - Cloud Logging for ROS 1 and ROS 2.
  • rosbag2 - ROS2 native rosbag.
  • rviz - 3D Robot Visualizer.
  • urdfdom - URDF (U-Robot Description Format) library which provides core data structures and a simple XML parser
  • urdfdom_headers - Headers for URDF parsers.
  • ros2cli - ROS 2 command line tools.
  • orocos_kinematics_dynamics - Orocos Kinematics and Dynamics C++ library.
  • pydds - Simple DDS Python API for Vortex Lite and for OpenSplice.
  • Webots - Robot simulator for ROS 2.
  • LGSVL - Simulation software to accelerate safe autonomous vehicle development.
  • [Unity Robotics Hub](https://github.com/Unity-Technologies/Unity-Robotics-Hub) - This is a central repository for tools, tutorials, resources, and documentation for robotic simulation in Unity.
  • Foxglove Studio - Integrated visualization and diagnosis tool for robotics.
  • ROS2 For Unity - An asset package which enables high-performance communication between Unity3D simulations and ROS2 ecosystem.

Interactivity

Penetration testing

Application layer

Middleware

"System" bindings

Driver layer

Client libraries

  • rclada - ROS Client Library for Ada.
  • rclcpp - ROS Client Library for C++.
  • rclgo - ROS Client Library for Go.
  • rclpy - ROS Client Library for Python.
  • rcljava - ROS Client Library for Java.
  • rclnodejs - ROS Client Library for Node.js.
  • rclobjc - ROS Client Library for Objective C (for iOS).
  • rclc - ROS Client Library for C.
  • ros2_rust - Rust bindings for ROS2.
  • ros2_dotnet - .NET bindings for ROS2.
  • ros2cs - an alternative to ros2_dotnet, a ROS2 C# interface supporting full range of messages and modern ROS2.

Client libraries common

  • rcl - Library to support implementation of language specific ROS Client Libraries.
  • system_tests - Tests for rclcpp and rclpy.
  • rcl_interfaces - A repository for messages and services used by the ROS client libraries.

IDL generators

RMW (ROS middleware)

  • rmw - Contains the ROS middleware API.
  • rmw_connext_cpp - Implement the ROS middleware interface using RTI Connext static code generation in C++.
  • rmw_fastrtps_cpp - Implement the ROS middleware interface using eProsima FastRTPS static code generation in C++.
  • rmw_dps - Implementation of the ROS Middleware (rmw) Interface using Intel's Distributed Publish & Subscribe.
  • rmw_opensplice_cpp - Implement the ROS middleware interface using PrismTech OpenSplice static code generation in C++.
  • rmw_coredx - CoreDX DDS integration layer for ROS2.
  • rmw_freertps - RMW implementation using freertps.
  • rmw_zenoh - RMW implementation using Eclipse zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
  • rcutils - Common C functions and data structures used in ROS 2.
  • freertps - a free, portable, minimalist, work-in-progress RTPS implementation.
  • rmw_cyclonedds - ROS2 RMW layer for Eclipse Cyclone DDS.
  • rmw_zenoh - ROS2 RMW layer for zenoh.
  • rmw_iceoryx - Enables usage of the inter-process-communication middleware Eclipse iceoryx.

DDS communication mechanism implementations

  • Connext DDS - Connectivity Software for Developing and Integrating IIoT Systems. :heavy_dollar_sign:
  • Fast-RTPS - Implementation of RTPS Standard (RTPS is the wire interoperability protocol for DDS).
  • OpenSplice - Implementation of the OMG DDS Standard. :heavy_dollar_sign:
  • CoreDX DDS - Implementation of Twin Oaks Computing, Inc.. :heavy_dollar_sign:
  • freertps - A free, portable, minimalist, work-in-progress RTPS implementation.
  • cdds - Cyclone DDS is developed completely in the open and is undergoing the acceptance process to become part of Eclipse IoT.
  • Micro-XRCE-DDS) - An XRCE DDS implementation (supported by microROS).

Build system (Linux)

Build system (ROS2)

Operating systems

  • NuttX - NuttX fork of the official one for use with micro-ROS.
  • RIOT - RIOT is a real-time multi-threading operating system (...,) real-time capabilities, small memory footprint, (...) API offers partial POSIX compliance.
  • eMCOS - POSIX-compliant real-time OS for many-core processors expected to support AUTOSAR in the future.
  • PYNQ - Python-based rapid prototyping of high performance ML applications running on XILINX FPGAs.
  • ReconROS - Framework for ROS2 FPGA-based hardware acceleration. Based on ReconOS.
  • Ubuntu Core - Build secure IoT devices with Ubuntu Core.
  • Ubuntu Server
  • VxWorks - The Secure, Safe, Reliable, and Certifiable real-time OS for Critical Infrastructure
  • Zephyr - Linux Foundation Projects RTOS aiming at beeing secure and safe.

Packaging

  • ros2-snap - Create a snap for your ROS 2 application.

Forks

  • Apex.OS - Apex.OS is a fork of ROS 2 that has been made so robust and reliable that it can be used in safety-critical applications.

Documentation

Community

Books

Courses

Presentations

ROSCon 2022

Program announcement(slides + videos)

  • Panel: The ROS 2 Developer Experience video
  • Wearable ROS: Development of wearable robot system using ROS 2 video slides
  • Building ROS 2 enabled Android apps with C++ video slides
  • Distributed Robotics Simulator with Unreal Engine video slides
  • Tools and processes for improving the certifiability of ROS 2 video slides
  • Failover ROS Framework : Consensus-based node redundancy video slides
  • ROS 2 and Gazebo Integration Best Practices video slides
  • Chain-Aware ROS Evaluation Tool (CARET) video slides
  • ROS 2 network monitoring video slides
  • How custom tasks are defined, assigned, and executed in Open-RMF video slides
  • A practitioner's guide to ros2_control video slides
  • Zenoh: How to Make ROS 2 Work at any Scale and Integrate with Anything video slides
  • A case study in optics manufacturing with MoveIt2 and ros2_control video slides
  • 20/20 Robot Vision - How to setup cameras in ROS 1 & ROS 2 using camera_aravis video slides
  • Filter your ROS 2 content video slides
  • Evolving Message Types, and Other Interfaces, Over Time video slides
  • Migrating from ROS1 to ROS 2 - choosing the right bridge video slides
  • On Use of Nav2 Smac Planners video slides
  • Bazel and ROS 2 – building large scale safety applications video slides
  • Native Rust components for ROS 2 video slides
  • The ROS build farm and you: How ROS packages you release become binary packages. video slides
  • mROS 2: yet another runtime environment onto embedded devices video slides
  • ROS 2 & Edge Impulse: Embedded AI in robotics applications video slides
  • micro-ROS goes Automotive: supporting AUTOSAR-based microcontrollers video slides
  • An open architecture for Hardware Acceleration in ROS 2 video slides
  • ROS 2 and the Crazyflie: Aerial swarms and Autonomy with a tiny flying robot video slides
  • A Raspberry Pi image with ROS 2 + RT and a customizable image builder video slides

ROSCon 2021

Program announcement(slides + videos)

ROSCon Jp 2021

Program announcement(slides + videos)

ROSCon 2020

Program announcement(slides + videos)

ROSCon 2019

Program announcement(slides + videos)

ROSCon Fr 2019

Program announcement(slides + videos)

ROS-I EU Spring 2019 Workshop

  • Current Status of ROS 2 Hands-on Feature Overview Slides

2019

  • Robot Modularity with Xilinx and H-ROS (Xilinx Inc.) Video

ROSCon JP 2018 (english slide presentations only)

  • What's next for ROS? (from slide 24 onwards) Slides Video

ROSCon 2018

program announcement

  • Hands-on ROS 2: A Walkthrough
  • ROS 2 on Autonomous Driving Vehicles
  • RViz – The tale of a migration to ROS 2.0
  • Launch for ROS 2
  • Getting involved in ROS 2 development
  • Planning to Plan: Plugins All The Way Down
  • Leveraging DDS Security in ROS2
  • Arm DDS Security library: Adding secure security to ROS2
  • ROS2: Supercharging the Jaguar4x4
  • Performance Test - A Tool for Communication Middleware Performance Measuring
  • ROS2 for Android, iOS and Universal Windows Platform: a demonstration of ROS2’s portability, and cross-platform and cross-language capabilities
  • Integrating ROS and ROS2 on mixed-critical robotic systems based on embedded heterogeneous platforms
  • Towards ROS 2 microcontroller meta cross-compilation
  • Node.js Client & Web Bridge Ready for ROS 2.0
  • RCLAda: the Ada client library for ROS2

Embedded World Conference 2018

2018

  • ROS2 - The Robot Operating System Version 2 (TNG Technology Consulting GmbH) Slides Video

ROS Industrial Conference 2017

  • micro Robot Operating System: ROS for highly resource-constrained devices Slides
  • ROS2 - it's coming Slides

ROSCon 2017

2017

  • HyphaROS ROS 2.0 Introduction slides

ROS Industrial Conference 2016

  • ROS 2.0 AND OPC UA: A STATUS UPDATE Slides

ROSCon 2016

ROSCon 2015

Papers

Podcasts

Services

Cloud robotics

Robotics Capture the Flag (RCTF)

Companies


truncated — full list on GitHub

[[curator]]
I'm the Curator. I can help you navigate, organize, and curate this wiki. What would you like to do?