Awesome Lists

awesome-ros2

by fkromer

awesome listarchivedpushed about 3 years ago

The Robot Operating System Version 2.0 is awesome!

stars
1.7K
forks
293
watching
85
awesome lists
6
entries
312
View on GitHubfkromer.github.io/awesome-ros2

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/fkromer/awesome-ros2/links.svg)](https://awesome.facts.dev/awesome/fkromer/awesome-ros2)
HTML
<a href="https://awesome.facts.dev/awesome/fkromer/awesome-ros2"><img src="https://awesome.facts.dev/shield/fkromer/awesome-ros2/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/fkromer/awesome-ros2/links.svg

What's in the list

312 links in 59 sections, with live GitHub stats.activeno commit in 2y

Packages / Data collection

  • ros2_data_collection

    Collect, validate and send data reliably from ROS 2 to create APIs and dashboards

Packages / 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

Packages / Examples

Packages / 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

Packages / Containerization

  • docker-ros2-ospl-ce

    A dockerfile to build a ROS2 + OpenSplice CE container

  • ros2_java_docker

    Dockerfiles for building ros2_java with OpenJDK and Android

  • micro-ROS/docker

    Docker-related material to setup, configure and develop with micro-ROS hardware

  • ros-tooling/cross_compile

    Cross compile ROS and ROS 2 workspaces to non-native architectures and generate corresponding Docker images

  • ros2-docker

    Connecting ROS 2 nodes running in Docker containers over the internet

  • osrf/docker_images

    Dockerfiles of and

  • docker-ros2-desktop-vnc

    Dockerfiles to provide HTML5 VNC interface to access Ubuntu LXDE + ROS2

  • ros2-lxd

    Install ROS 2 Humble in Ubuntu 20.04 or 18.04 using LXD containers

Packages / Networking

  • Husarnet VPN

    A P2P, secure network layer dedicated for ROS & ROS 2

Packages / 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

    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

Packages / Interactivity

Packages / Penetration testing

  • aztarna

    A footprinting tool for robots

  • ros2_fuzzer

    ROS2 Topic & Service Fuzzer

Packages / Application layer

  • Apex.Autonomy

    Apex.Autonomy provides autonomy algorithms as individual building blocks and is compatible with Autoware.Auto

  • Autoware.Auto

    Autoware.Auto provides an open-source software stack based on ROS 2 for self-driving technology

  • ros2_control

    is a proof of concept on how new features within ROS 2 can be elaborated and used in the context of robot control ( )

  • ros2_controllers

    Description of ros_controllers

  • geometry2

    A set of ROS packages for keeping track of coordinate transforms

  • ros2-ORB_SLAM2

    ROS2 node wrapping the ORB_SLAM2 library

  • basalt_ros2

    ROS2 wrapper for Basalt VIO

  • cartographer

    Real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations

  • slam_gmapping

    Slam Gmapping for ROS2

  • slam_toolbox

    Slam Toolbox for lifelong mapping and localization in potentially massive maps with ROS

  • lidarslam_ros2

    ROS2 package of 3D lidar slam using ndt/gicp registration and pose-optimization

  • li_slam_ros2

    ROS2 package of tightly-coupled lidar inertial ndt/gicp slam referenced from LIO-SAM

  • octomap_server2

    ROS2 stack for mapping with OctoMap. Port of the ROS1 package

  • vision_opencv

    Packages for interfacing ROS2 with OpenCV

  • teleop_twist_keyboard

    Generic Keyboard Teleop for ROS2

  • teleop_twist_joy

    Simple joystick teleop for twist robots

  • navigation

    ROS2 Navigation stack

  • diagnostics

    Forked version of the original ROS1 Diagnostics for ROS 2 (currently diagnostics_updater only)

  • robot_state_publisher

    Forked version of the original ROS Robot State Publisher with all modifications to compile within a ROS2 Ecosystem

  • common_interfaces

    A set of packages which contain common interface files (.msg and .srv)

  • ros2_object_map

    "Mark tag of objects on map when SLAM"

  • ros2_object_analytics

    Object Analytics (OA) is ROS2 wrapper for realtime object detection, localization and tracking

  • ros2_intel_movidius_ncs

    ROS2 wrapper for Movidius™ Neural Compute Stick (NCS) Neuronal Compute API

  • ros2_moving_object

    Addressing moving objects based on messages generated by Object Analytics

  • ros2_openvino_toolkit

    ROS2 wrapper for CV API of OpenVINO™ (human vision emulation)

  • ros2_grasp_library

    Probably a grasp library :)

  • apriltag_ros

    ROS2 node for AprilTag detection

  • rosbridge_suite

    Bridging your browser to the ROS 2.0

  • ros2_message_filters

    ros2_message_filters blends various messages based on the conditions that filter needs to met and derives from ROS2 porting of ROS message_filters

  • ros2-tensorflow

    ROS2 nodes for computer vision tasks in Tensorflow

  • ros2_pytorch

    ROS2 nodes for computer vision tasks in PyTorch

  • ros2_pytorch_cuda

    Extension of for CUDA devices with containerization

  • pid

    A PID controller for ROS2

  • system-modes

    System modes for ROS 2 and micro-ROS

  • darknet_ros

    ROS2 wrapper for deploying Darknet's YOLO Computer Vision model

  • easy_perception_deployment

    Package that accelerates training and deployment of Computer Vision models for industries

  • easy_manipulation_deployment

    Package that integrates perception elements to establish an end-to-end pick and place task

  • ros2_pid_library

    A ROS2 Humble fully configurable PID library

  • wayp_plan_tools

    Waypoint and planner tools for ROS 2 with minimal dependencies and an optional Gazebo Fortress simulation

Packages / Middleware

  • Micro XRCE-DDS Agent

    Micro XRCE-DDS Agent acts as a server between DDS Network and Micro XRCE-DDS Clients

  • Micro XRCE-DDS Agent docker

    Docker image containing the Micro XRCE-DDS Agent

  • Micro XRCE-DDS Client

    Micro XRCE-DDS implements a client-server protocol to enable resource-constrained devices (clients) to take part in DDS communications

  • micro-ROS-Agent

    ROS 2 package using Micro XRCE-DDS Agent

  • Eclipse Zenoh

    is a scalable and extremely performant protocol that can be used transparently used to interact with as well as for . ( )

  • Eclipse Zenoh-Plugin-DDS

    This is a plugin that allows to transparently route ROS2/DDS data over zenoh. This is commonly used for over Wireless network or across the Internet. ( )

Packages / "System" bindings

  • rclandroid

    Android API for ROS2

  • rclnodejs

    Node.js version of ROS2.0 client

  • riot-ros2

    This project enables ROS2 to run on microcontrollers using the RIOT Operating System

  • ROS2-Integration-Service

    ROS2 Integration and Routing which provides a complete tool to integrate other technologies with ROS2 easily and enable ROS2 on WAN/Internet

  • soss

    The System Of Systems Synthesizer is used to integrate ROS2 via ROS2-Integration-Service with other (communication) systems

  • micro_ros_arduino

    Integration of micro-ROS into Arduino software platform projects

  • micro_ros_zephyr_module

    Integration of micro-ROS in Zeyphr OS based projects

Packages / Driver layer

  • Autoware.IO

    Autoware.IO provides a heterogeneous hardware reference platform and enables the integration of member company's solutions onto platforms which support the Autoware.Auto and Autoware.AI software stack

  • ros2_xmlrpc_interface

    ros2 interface package with xmlrpc, to communicate with a Sesto server using Sesto API

  • cozmo_driver_ros2

    Unofficial Anki Cozmo node for ROS2

  • sphero_ros2

    ROS2 sphero driver

  • flock2

    ROS2 driver for DJI Tello drones

  • ros2_raspicam_node

    ROS2 node for Raspberry Pi camera

  • joystick_drivers

    ROS2 drivers for joysticks

  • joystick_drivers_from_scratch

    Joystick driver packages for ROS 2

  • joystick_ros2

    Joystick driver for ROS2, support all platforms: Linux, macOS, Windows

  • ros2_teleop_keyboard

    Teleop Twist Keyboard for ROS2

  • ros_astra_camera

    ROS2 wrapper for Astra camera

  • ros2_usb_camera

    ROS2 General USB camera driver

  • ros2_android_drivers

    Collection of ROS2 drivers for several Android sensors

  • ros2_intel_realsense

    ROS2 Wrapper for Intel® RealSense™ Devices

  • raspicam2_node

    ROS2 node for camera module of Raspberry Pi

  • ros2_track_imu

    ROS2 node for TrackIMU IMU sensor

  • HRIM

    A standard interface for robot modules

  • FIROS2

    ROS2 integrable tool focused in the intercommunication between ROS2 and FIWARE

  • lino2_upper

    Linorobot on ROS2

  • RysROS2

    ROS2 software stack for MiniRys robots

  • px4_to_ros

    ROS2/ROS packages for communicate PX4 with ROS

  • multiwii_ros2

    ROS2 Node for MultiWii and Cleanflight flight controllers

  • ydlidar_ros2

    ROS2 wrapper for ydlidar

  • zed-ros2-wrapper

    ROS 2 wrapper beta for the ZED SDK

  • ros2_denso_radar

    Toyota/Lexus 2015-2017 Denso Radar driver for ROS2

  • sick_scan2

    ROS2 driver for the SICK TiM series of laser scanners (TiM551/TiM561/TiM571)

  • ros2_ouster_drivers

    ROS2 Drivers for the Ouster OS-1 Lidars

  • micro-ROS/hardware

    Information and documentation about the hardware platforms used and supported in the micro-ROS project

  • Blickfeld Cube 1 & Cube Range

    ROS2 drivers for Blickfeld Cube 1 & Cube Range

  • Universal Robots

    ROS2 drivers for UR CB3 and e-Series

  • odrive_ros2_control

    ODrive driver for ros2_control

  • duro_gps_driver

    ROS/ROS2 driver for SwiftNav Duro Inertial GPS / GNSS receivers

Packages / 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

Packages / 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

Packages / IDL generators

Packages / 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

  • rmw_iceoryx

    Enables usage of the inter-process-communication middleware

Packages / DDS communication mechanism implementations

  • Connext DDS

    Connectivity Software for Developing and Integrating IIoT Systems

  • Fast-RTPS

    Implementation of RTPS Standard (RTPS is the wire interoperability protocol for DDS)

  • OpenSplice

    Implementation of the OMG DDS Standard

  • CoreDX DDS

    Implementation of Twin Oaks Computing, Inc

  • 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)

Packages / Build system (Linux)

  • meta-ros2

    ROS 2 Layer for OpenEmbedded Linux

Packages / Build system (ROS2)

  • ci

    ROS 2 CI Infrastructure

  • ament_cmake_export_jars

    The ability to export Java archives to downstream packages in the ament buildsystem in CMake

  • rmw_implementation_cmake

    CMake functions which can discover and enumerate available implementations

  • rmw_implementation

    CMake infrastructure and dependencies for rmw implementations

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

  • Ubuntu Core

    Build secure IoT devices with Ubuntu Core

  • 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

  • ROS Index

    Future single entry point into ROS2 documentation (BETA)

Documentation / ROS Index

Documentation

Documentation / ROS2 package status

Documentation

Community

Books

Courses

Courses / ROS2 Autoware Course

Courses

Presentations / ROSCon 2022

  • video

    Panel: The ROS 2 Developer Experience

  • video

    Wearable ROS: Development of wearable robot system using ROS 2

  • video

    Building ROS 2 enabled Android apps with C++

  • video

    Distributed Robotics Simulator with Unreal Engine

  • video

    Tools and processes for improving the certifiability of ROS 2

  • video

    Failover ROS Framework : Consensus-based node redundancy

  • video

    ROS 2 and Gazebo Integration Best Practices

  • video

    Chain-Aware ROS Evaluation Tool (CARET)

  • video

    ROS 2 network monitoring

  • video

    How custom tasks are defined, assigned, and executed in Open-RMF

  • video

    A practitioner's guide to ros2_control

  • video

    Zenoh: How to Make ROS 2 Work at any Scale and Integrate with Anything

  • video

    A case study in optics manufacturing with MoveIt2 and ros2_control

  • video

    20/20 Robot Vision - How to setup cameras in ROS 1 & ROS 2 using camera_aravis

  • video

    Filter your ROS 2 content

  • video

    Evolving Message Types, and Other Interfaces, Over Time

  • video

    Migrating from ROS1 to ROS 2 - choosing the right bridge

  • video

    On Use of Nav2 Smac Planners

  • video

    Bazel and ROS 2 – building large scale safety applications

  • video

    Native Rust components for ROS 2

  • video

    The ROS build farm and you: How ROS packages you release become binary packages

  • video

    mROS 2: yet another runtime environment onto embedded devices

  • video

    ROS 2 & Edge Impulse: Embedded AI in robotics applications

  • video

    micro-ROS goes Automotive: supporting AUTOSAR-based microcontrollers

  • video

    An open architecture for Hardware Acceleration in ROS 2

  • video

    ROS 2 and the Crazyflie: Aerial swarms and Autonomy with a tiny flying robot

  • video

    A Raspberry Pi image with ROS 2 + RT and a customizable image builder

Presentations / ROS-I EU Spring 2019 Workshop

  • Slides

    Current Status of ROS 2 Hands-on Feature Overview

Presentations / 2019

  • Video

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

Presentations / ROSCon JP 2018 (english slide presentations only)

  • Slides

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

Presentations / Embedded World Conference 2018

  • Slides

    ADLink Neuron: An industrial oriented ROS2-based platform

Presentations / 2018

  • Slides

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

Presentations / ROS Industrial Conference 2017

  • Slides

    micro Robot Operating System: ROS for highly resource-constrained devices

  • Slides

    ROS2 - it's coming

Presentations / ROSCon 2017

  • Slides

    The ROS 2 vision for advancing the future of robotics development

  • Slides

    ROS2 Fine Tuning

  • Slides

    SLAM on Turtlebot2 using ROS2

  • Slides

    Using ROS2 for Vision-Based Manipulation with Industrial Robots

Presentations / 2017

  • slides

    HyphaROS ROS 2.0 Introduction

Presentations / ROS Industrial Conference 2016

  • Slides

    ROS 2.0 AND OPC UA: A STATUS UPDATE

Presentations / ROSCon 2016

  • Slides

    ROS 2 Update

  • Slides

    Evaluating the resilience of ROS2 communication layer

Presentations / ROSCon 2015

  • Slides

    ROS 2 on “small” embedded systems

  • Slides

    State of ROS 2 - demos and the technology behind

  • Slides

    Real-time Performance in ROS 2

Papers

Podcasts

Services / Cloud robotics

Services / Robotics Capture the Flag (RCTF)

  • rctf-list

    A list of Robotics CTF (RCTF) scenarios

Companies

Organizations

Working Groups / Edge AI Working Group

Working Groups / Embedded Working Group

Working Groups / Hardware Acceleration Working Group

Working Groups / Navigation Working Group

Working Groups / Safety Working Group

Working Groups / Security Working Group

Working Groups / Technical Steering Committee

Working Groups / Tooling Working Group

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.