Awesome Robot Operating System 2 (ROS 2) Awesome
A curated list of awesome Robot Operating System Version 2.0 (ROS 2) resources and libraries.
- Packages
- Operating systems
- Documentation
- Community
- Books
- Courses
- Presentations
- Papers
- Podcasts
- Services
- adlink_ddsbot - The ROS 2.0/1.0 based robots swarm architecture (opensplice DDS) adlink_ddsbot.
- adlink_neuronbot - ROS2/DDS robot pkg for human following and swarm adlink_neuronbot.
- turtlebot3 - ROS2 based TurtleBot3 demo including Bringup, Teleop and Cartographer turtlebot3.
- turtlebot2_demo - TurtleBot 2 demos using ROS 2 turtlebot2_demo.
- examples/rclcpp - C++ examples ros2/examples.
- examples/rclpy - Python examples ros2/examples.
- rcljava_examples - Package containing examples of how to use the rcljava API ros2_java_examples.
- ros2_talker_android, ros2_listener_android - Example Android apps for the ROS2 Java bindings ros2_android_examples.
- ros2_benchmarking - Framework for ROS2 benchmarking. ROS2 communication characteristics can be evaluated on several axes, quickly and in an automated way ros2_benchmarking.
- performance_test - Test performance and latency of various communication means like ROS 2, FastRTPS and Connext DDS Micro performance_test.
- docker-ros2-ospl-ce - A dockerfile to build a ROS2 + OpenSplice CE container docker-ros2-ospl-ce.
- ros2_java_docker - Dockerfiles for building ros2_java with OpenJDK and Android ros2_java_docker.
- microROS/docker - Docker-related material to setup, configure and develop with micro-ROS hardware.
- rosbag2 - ROS2 native rosbag rosbag2.
- rviz - 3D Robot Visualizer rviz.
- urdfdom - URDF (U-Robot Description Format) library which provides core data structures and a simple XML parser urdfdom.
- urdfdom_headers - Headers for URDF parsers urdfdom_headers.
- ros2cli - ROS 2 command line tools ros2cli.
- orocos_kinematics_dynamics - Orocos Kinematics and Dynamics C++ library orocos_kinematics_dynamics.
- pydds - Simple DDS Python API for Vortex Lite and for OpenSplice pydds.
- ros2_control -
ros2_controlis a proof of concept on how new features within ROS 2 can be elaborated and used in the context of robot control (ros2_controllers) ros2_control. - ros2_controllers - Description of ros_controllers ros2_controllers.
- geometry2 - A set of ROS packages for keeping track of coordinate transforms geometry2.
- cartographer - Real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations cartographer.
- vision_opencv - Packages for interfacing ROS2 with OpenCV vision_opencv.
- teleop_twist_keyboard - Generic Keyboard Teleop for ROS2 teleop_twist_keyboard.
- teleop_twist_joy - Simple joystick teleop for twist robots teleop_twist_joy.
- navigation - ROS2 Navigation stack navigation.
- diagnostics - Forked version of the original ROS1 Diagnostics for ROS 2 (currently diagnostics_updater only) diagnostics.
- robot_state_publisher - Forked version of the original ROS Robot State Publisher with all modifications to compile within a ROS2 Ecosystem robot_state_publisher.
- common_interfaces - A set of packages which contain common interface files (.msg and .srv) common_interfaces.
- ros2_object_map - "Mark tag of objects on map when SLAM" ros2_object_map.
- ros2_object_analytics - Object Analytics (OA) is ROS2 wrapper for realtime object detection, localization and tracking ros2_object_analytics.
- ros2_intel_movidius_ncs - ROS2 wrapper for MovidiusTM Neural Compute Stick (NCS) Neuronal Compute API ros2_intel_movidius_ncs.
- ros2_moving_object - Addressing moving objects based on messages generated by Object Analytics
ros2_object_analyticsros2_moving_object. - ros2_openvino_toolkit - ROS2 wrapper for CV API of OpenVINOTM (human vision emulation) ros2_openvino_toolkit.
- ros2_grasp_library - Probably a grasp library :) ros2_grasp_library.
- apriltag2_node - ROS2 node for AprilTag detection apriltag2_node.
- ros2-web-bridge - Bridging your browser to the ROS 2.0 ros2-web-bridge.
- 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_message_filters.
- ros2-tensorflow - ROS2 nodes for computer vision tasks in Tensorflow ros2-tensorflow.
- pid - A PID controller for ROS2 pid.
- rclandroid - Android API for ROS2 rclandroid.
- rclnodejs - Node.js version of ROS2.0 client rclnodejs.
- riot-ros2 - This project enables ROS2 to run on microcontrollers using the RIOT Operating System riot-ros2.
- ros2_xmlrpc - ros2 interface package with xmlrpc, to communicate with a Sesto server using Sesto API ros2_xmlrpc.
- cozmo_driver_ros2 - Unofficial Anki Cozmo node for ROS2 cozmo_driver_ros2.
- sphero_ros2 - ROS2 sphero driver sphero_ros2.
- flock2 - ROS2 driver for DJI Tello drones flock2.
- ros2_raspicam_node - ROS2 node for Raspberry Pi camera ros2_raspicam_node.
- joystick_drivers - ROS2 drivers for joysticks joystick_drivers.
- joystick_drivers_from_scratch - Joystick driver packages for ROS 2 joystick_drivers_from_scratch.
- joystick_ros2 - Joystick driver for ROS2, support all platforms: Linux, macOS, Windows joystick_ros2.
- ros2_teleop_keyboard - Teleop Twist Keyboard for ROS2 ros2_teleop_keyboard.
- ros_astra_camera - ROS2 wrapper for Astra camera ros_astra_camera.
- ros2_usb_camera - ROS2 General USB camera driver ros_astra_camera.
- ros2_android_drivers - Collection of ROS2 drivers for several Android sensors ros2_android_drivers.
- ros2_intel_realsense - ROS2 Wrapper for Intel® RealSenseTM Devices ros2_intel_realsense.
- raspicam2_node - ROS2 node for camera module of Raspberry Pi raspicam2_node.
- HRIM - A standard interface for robot modules.
- FIROS2 - ROS2 integrable tool focused in the intercommunication between ROS2 and FIWARE FIROS2.
- lino2_upper - Linorobot on ROS2 lino2_upper.
- RysROS2 - ROS2 software stack for MiniRys robots RysROS2.
- px4_to_ros - ROS2/ROS packages for communicate PX4 with ROS px4_to_ros.
- multiwii_ros2 - ROS2 Node for MultiWii and Cleanflight flight controllers multiwii_ros2.
- ydlidar_ros2 - ROS2 wrapper for ydlidar ydlidar_ros2.
- rclada - ROS Client Library for Ada rclada.
- rclcpp - ROS Client Library for C++ rclcpp.
- rclgo - ROS Client Library for Go rclgo
- rclpy - ROS Client Library for Python rclpy.
- rcljava - ROS Client Library for Java rcljava.
- rclnodejs - ROS Client Library for Node.js rclnodejs.
- rclobjc - ROS Client Library for Objective C (for iOS) rclobjc.
- rclc - ROS Client Library for C rclc.
- ros2_rust - Rust bindings for ROS2 ros2_rust.
- ros2_dotnet - .NET bindings for ROS2 ros2_dotnet.
- rcl - Library to support implementation of language specific ROS Client Libraries rcl.
- system_tests - Tests for rclcpp and rclpy system_tests.
- rcl_interfaces - A repository for messages and services used by the ROS client libraries rcl_interfaces.
- rosidl_generator_java - Generate the ROS interfaces in Java ros2_java.
- rosidl_generator_objc - Generate the ROS interfaces in Objective C ros2_objc.
- rosidl_generator_cpp - Generate the ROS interfaces in C++ rosidl.
- rosidl_generator_c - Generate the ROS interfaces in C rosidl.
- rosidl - Packages which provide the ROS IDL (.msg) definition and code generation rosidl.
- rosidl_dds - Generate the DDS interfaces for ROS interfaces rosidl_dds.
- rmw - Contains the ROS middleware API rmw.
- rmw_connext_cpp - Implement the ROS middleware interface using RTI Connext static code generation in C++ rmw_connext_cpp.
- rmw_fastrtps_cpp - Implement the ROS middleware interface using eProsima FastRTPS static code generation in C++ rmw_fastrtps_cpp.
- rmw_dps - Implementation of the ROS Middleware (rmw) Interface using Intel's Distributed Publish & Subscribe rmw_dps.
- rmw_opensplice_cpp - Implement the ROS middleware interface using PrismTech OpenSplice static code generation in C++ rmw_opensplice_cpp.
- rmw_coredx - CoreDX DDS integration layer for ROS2 tocinc/rmw_coredx.
- rmw_freertps - RMW implementation using freertps tocinc/rmw_coredx.
- rcutils - Common C functions and data structures used in ROS 2 rmw.
- freertps - a free, portable, minimalist, work-in-progress RTPS implementation rmw.
- rmw_zhe - An ROS2 RMW implementation on top of Zhe rmw_zhe.
- rmw_cyclonedds - ROS2 RMW layer for Eclipse Cyclone DDS rmw_cyclonedds.
- Connext DDS - Connectivity Software for Developing and Integrating IIoT Systems 💲 .
- Fast-RTPS - Implementation of RTPS Standard (RTPS is the wire interoperability protocol for DDS) Fast-RTPS.
- OpenSplice - Implementation of the OMG DDS Standard opensplice 💲 .
- CoreDX DDS - Implementation of Twin Oaks Computing, Inc. 💲 .
- freertps - A free, portable, minimalist, work-in-progress RTPS implementation freertps.
- cdds - Cyclone DDS is developed completely in the open and is undergoing the acceptance process to become part of Eclipse IoT cdds.
- Micro-XRCE-DDS) - An XRCE DDS implementation (supported by microROS) Micro-XRCE-DDS.
- ci - ROS 2 CI Infrastructure ci.
- ament_cmake_export_jars - The ability to export Java archives to downstream packages in the ament buildsystem in CMake ros2_java.
- rmw_implementation_cmake - CMake functions which can discover and enumerate available implementations rmw.
- rmw_implementation - CMake infrastructure and dependencies for rmw implementations rmw.
- 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 suppport AUTOSAR in the future.
- ROS Index - Future single entry point into ROS2 documentation (BETA).
- ROS 2 Design - Articles which inform and guide the ROS 2.0 design efforts.
- ROS 2 Docs (Overview) - Details about ROS 2 internal design and organisation.
- ROS 2 Tutorials - Study about ROS2 concept, libraries, build, and development with demoes/examples.
- ROS 2 Wiki - Entry point to find all kind of information about ROS 2.
- ROS 2 Distribution (rosdistro) - Info about distributions and the included packages.
- ROS2 package status.
- Bouncy package status - Status of ROS Bouncy packages.
- Ardent package status - Status of ROS2 Ardent packages.
- ROS2 Buildfarm - Build information (Jenkins build farm).
No books published yet
- 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
- micro Robot Operating System: ROS for highly resource-constrained devices Slides
- ROS2 - it's coming Slides
- The ROS 2 vision for advancing the future of robotics development Slides Video
- ROS2 Fine Tuning Slides Video
- SLAM on Turtlebot2 using ROS2 Slides Video
- Using ROS2 for Vision-Based Manipulation with Industrial Robots Slides Video
- HyphaROS ROS 2.0 Introduction slides
- ROS 2.0 AND OPC UA: A STATUS UPDATE Slides
- ROS 2 on "small" embedded systems Slides Video
- State of ROS 2 - demos and the technology behind Slides Video
- Real-time Performance in ROS 2 Slides Video
- Time Synchronization in modular collaborative robots
- Open Problems in Robotic Anomaly Detection
- Towards a distributed and real-time framework for robots: Evaluation of ROS 2.0 communications for real-time robotic applications
- An information model for modular robots: the Hardware Robot Information Model (HRIM)
- INTRODUCING THE Robot Security Framework (RSF), A STANDARDIZED METHODOLOGY TO PERFORM SECURITY ASSESSMENTS IN ROBOTICS
- TOWARDS AN OPEN STANDARD FOR ASSESSING THE SEVERITY OF ROBOT SECURITY VULNERABILITIES, THE ROBOT VULNERABILITY SCORING SYSTEM (RVSS)
- Robot Operating System 2 - The need for a holistic security approach to robotic architectures - Ubuntu 16.04, ROS 2 Beta 2/3, and RTI 5.3 DDS with DDS Security.
- Maruyama, Yuya et al. "Exploring the performance of ROS2." 2016 International Conference on Embedded Software (EMSOFT) (2016): 1-10.
- ROS 2 and DDS for IoT devices with HaoChih Lin (from 5th minute onwards)
- Everything about ROS 2 with Dirk Thomas (from 16th minute onwards)
- RCTF playground - Online playground to challenge robot security from your browser.
- rctf-list - A list of Robotics CTF (RCTF) scenarios.
- Robot Bug Bounty Programs (RBBP) - Report bugs or vulnerabilities and get paid by top robotics companies.