Robot Operating System 2.0
Set of software libraries and tools that help you build robot apps.
Contents
- Data collection
- Demonstrations
- Examples
- Benchmarking
- Containerization
- Networking
- Ecosystem
- Interactivity
- Penetration testing
- Application layer
- Middleware
- "System" bindings
- Client libraries
- Driver layer
- Build system (ROS2)
- IDL generators
- Client libraries common
- RMW (ROS middleware)
- DDS communication mechanism implementations
- Build system (Linux)
Packages
Data collection
Demonstrations
Examples
TurtleBot 2 demos using ROS 2.
Python examples.
Package containing examples of how to use the rcljava API.
Example Android apps for the ROS2 Java bindings.
Examples and tutorials use the ZED cameras in the ROS2.
ROS2 Wrapper for Intel RealSense Devices
Benchmarking
Framework for ROS2 benchmarking. ROS2 communication characteristics can be evaluated on several axes, quickly and in an automated way.
Test performance and latency of various communication means like ROS 2, FastRTPS and Connext DDS Micro.
Containerization
A dockerfile to build a ROS2 + OpenSplice CE container.
Dockerfiles for building ros2_java with OpenJDK and Android.
Dockerfiles of Official Library on Docker Hub and OSRF Organization on Docker Hub.
Dockerfiles to provide HTML5 VNC interface to access Ubuntu LXDE + ROS2.
Ecosystem
ROS2 native rosbag.
3D Robot Visualizer.
URDF (U-Robot Description Format) library which provides core data structures and a simple XML parser
Headers for URDF parsers.
ROS 2 command line tools.
Orocos Kinematics and Dynamics C++ library.
Simple DDS Python API for Vortex Lite and for OpenSplice.
This is a central repository for tools, tutorials, resources, and documentation for robotic simulation in Unity.
Integrated visualization and diagnosis tool for robotics.
An asset package which enables high-performance communication between Unity3D simulations and ROS2 ecosystem.
Penetration testing
Application layer
ros2control is a proof of concept on how new features within ROS 2 can be elaborated and used in the context of robot control (ros2controllers).
Description of ros_controllers.
A set of ROS packages for keeping track of coordinate transforms.
ROS2 node wrapping the ORB_SLAM2 library.
ROS2 wrapper for Basalt VIO.
Real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.
Slam Gmapping for ROS2.
Slam Toolbox for lifelong mapping and localization in potentially massive maps with ROS.
ROS2 package of 3D lidar slam using ndt/gicp registration and pose-optimization.
ROS2 package of tightly-coupled lidar inertial ndt/gicp slam referenced from LIO-SAM.
ROS2 stack for mapping with OctoMap. Port of the ROS1 octomap_mapping package.
Packages for interfacing ROS2 with OpenCV.
Generic Keyboard Teleop for ROS2.
Simple joystick teleop for twist robots.
ROS2 Navigation stack.
Forked version of the original ROS1 Diagnostics for ROS 2 (currently diagnostics_updater only).
Forked version of the original ROS Robot State Publisher with all modifications to compile within a ROS2 Ecosystem.
A set of packages which contain common interface files (.msg and .srv).
"Mark tag of objects on map when SLAM".
Object Analytics (OA) is ROS2 wrapper for realtime object detection, localization and tracking.
ROS2 wrapper for Movidius Neural Compute Stick (NCS) Neuronal Compute API.
Addressing moving objects based on messages generated by Object Analytics ros2objectanalytics.
ROS2 wrapper for CV API of OpenVINO (human vision emulation).
Probably a grasp library :).
ROS2 node for AprilTag detection.
Bridging your browser to the ROS 2.0.
ros2messagefilters blends various messages based on the conditions that filter needs to met and derives from ROS2 porting of ROS message_filters.
ROS2 nodes for computer vision tasks in Tensorflow.
ROS2 nodes for computer vision tasks in PyTorch
Extension of ros2_pytorch for CUDA devices with containerization.
A PID controller for ROS2.
System modes for ROS 2 and micro-ROS.
ROS2 wrapper for deploying Darknet's YOLO Computer Vision model.
Package that accelerates training and deployment of Computer Vision models for industries.
Package that integrates perception elements to establish an end-to-end pick and place task.
A ROS2 Humble fully configurable PID library
Waypoint and planner tools for ROS 2 with minimal dependencies and an optional Gazebo Fortress simulation.
Middleware
Micro XRCE-DDS Agent acts as a server between DDS Network and Micro XRCE-DDS Clients.
Micro XRCE-DDS implements a client-server protocol to enable resource-constrained devices (clients) to take part in DDS communications.
ROS 2 package using Micro XRCE-DDS Agent.
Zenoh is a scalable and extremely performant protocol that can be used transparently used to interact with ROS2 applications as well as for R2X communication. (https://img.shields.io/github/stars/eclipse-zenoh/zenoh)
This is a zenoh plugin that allows to transparently route ROS2/DDS data over zenoh. This is commonly used for R2X communication over Wireless network or across the Internet. (https://img.shields.io/github/stars/eclipse-zenoh/zenoh-plugin-dds)
"System" bindings
Android API for ROS2. rclandroid
This project enables ROS2 to run on microcontrollers using the RIOT Operating System. riot-ros2
ROS2 Integration and Routing which provides a complete tool to integrate other technologies with ROS2 easily and enable ROS2 on WAN/Internet.
The System Of Systems Synthesizer is used to integrate ROS2 via ROS2-Integration-Service with other (communication) systems.
Integration of micro-ROS into Arduino software platform projects.
Integration of micro-ROS in Zeyphr OS based projects.
Client libraries
ROS Client Library for Node.js.
ROS Client Library for Ada.
ROS Client Library for C++.
ROS Client Library for Go.
ROS Client Library for Python.
ROS Client Library for C.
Rust bindings for ROS2.
.NET bindings for ROS2.
an alternative to ros2_dotnet, a ROS2 C# interface supporting full range of messages and modern ROS2.
Driver layer
ros2 interface package with xmlrpc, to communicate with a Sesto server using Sesto API.
Unofficial Anki Cozmo node for ROS2.
ROS2 sphero driver.
ROS2 driver for DJI Tello drones.
ROS2 node for Raspberry Pi camera.
ROS2 drivers for joysticks.
Joystick driver packages for ROS 2.
Joystick driver for ROS2, support all platforms: Linux, macOS, Windows.
Teleop Twist Keyboard for ROS2.
ROS2 wrapper for Astra camera.
ROS2 General USB camera driver.
Collection of ROS2 drivers for several Android sensors.
ROS2 Wrapper for Intel RealSense Devices.
ROS2 node for camera module of Raspberry Pi.
ROS2 node for TrackIMU IMU sensor
A standard interface for robot modules.
ROS2 integrable tool focused in the intercommunication between ROS2 and FIWARE.
Linorobot on ROS2.
ROS2 software stack for MiniRys robots.
ROS2/ROS packages for communicate PX4 with ROS.
ROS2 Node for MultiWii and Cleanflight flight controllers.
ROS2 wrapper for ydlidar.
ROS 2 wrapper beta for the ZED SDK.
Toyota/Lexus 2015-2017 Denso Radar driver for ROS2.
ROS2 driver for the SICK TiM series of laser scanners (TiM551/TiM561/TiM571).
ROS2 Drivers for the Ouster OS-1 Lidars.
Information and documentation about the hardware platforms used and supported in the micro-ROS project.
ROS2 drivers for UR CB3 and e-Series.
ODrive driver for ros2_control.
ROS/ROS2 driver for SwiftNav Duro Inertial GPS / GNSS receivers
Build system (ROS2)
The ability to export Java archives to downstream packages in the ament buildsystem in CMake.
CMake functions which can discover and enumerate available implementations.
ROS 2 CI Infrastructure.
CMake infrastructure and dependencies for rmw implementations.
IDL generators
Client libraries common
RMW (ROS middleware)
Implement the ROS middleware interface using RTI Connext static code generation in C++.
Implement the ROS middleware interface using eProsima FastRTPS static code generation in C++.
Implementation of the ROS Middleware (rmw) Interface using Intel's Distributed Publish & Subscribe.
Implement the ROS middleware interface using PrismTech OpenSplice static code generation in C++.
CoreDX DDS integration layer for ROS2.
RMW implementation using freertps.
ROS2 RMW layer for zenoh.
Common C functions and data structures used in ROS 2.
ROS2 RMW layer for Eclipse Cyclone DDS.
Enables usage of the inter-process-communication middleware Eclipse iceoryx.
DDS communication mechanism implementations
A free, portable, minimalist, work-in-progress RTPS implementation.
Implementation of RTPS Standard (RTPS is the wire interoperability protocol for DDS).
Implementation of the OMG DDS Standard.
Cyclone DDS is developed completely in the open and is undergoing the acceptance process to become part of Eclipse IoT.
An XRCE DDS implementation (supported by microROS).
Build system (Linux)
Operating systems
NuttX fork of the official one for use with micro-ROS.
RIOT is a real-time multi-threading operating system (...,) real-time capabilities, small memory footprint, (...) API offers partial POSIX compliance.
Framework for ROS2 FPGA-based hardware acceleration. Based on ReconOS. ReconROS
The Secure, Safe, Reliable, and Certifiable real-time OS for Critical Infrastructure