A curated list of awesome Robot Operating System Version 2.0 (ROS 2) resources and libraries
- Examples
- turtlebot2_demo - TurtleBot 2 demos using ROS 2
- examples/rclcpp - C++ examples.
- examples/rclpy - Python examples.
- rcljava_examples - Package containing examples of how to use the rcljava API.
- ros2_talker_android, ros2_listener_android - Example Android apps for the ROS2 Java bindings.
- Benchmarking
- ros2_benchmarking - Framework for ROS2 benchmarking. ROS2 communication characteristics can be evaluated on several axes, quickly and in an automated way.
- 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
- Ecosystem
- 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
- Application layer
- geometry2 - A set of ROS packages for keeping track of coordinate transforms.
- cartographer real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations
- 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.
- "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.
- Driver layer
- joystick_drivers - ROS2 drivers for joysticks
- ros_astra_camera - ROS2 wrapper for Astra camera
- ros2_android_drivers - Collection of ROS2 drivers for several Android sensors.
- Client libraries
- rclcpp - ROS Client Library for C++.
- 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.
- rosserial - A ROS client library for small, embedded devices, such as Arduino.
- 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
- rosidl_generator_java - Generate the ROS interfaces in Java.
- rosidl_generator_objc - Generate the ROS interfaces in Objective C.
- rosidl_generator_cpp - Generate the ROS interfaces in C++.
- rosidl_generator_py - Generate the ROS interfaces in Python.
- rosidl_generator_c - Generate the ROS interfaces in C.
- rosidl - Packages which provide the ROS IDL (.msg) definition and code generation.
- rosidl_dds - Generate the DDS interfaces for ROS interfaces.
- 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_opensplice_cpp - Implement the ROS middleware interface using PrismTech OpenSplice static code generation in C++.
- rcutils - Common C functions and data structures used in ROS 2
- freertps - a free, portable, minimalist, work-in-progress RTPS implementation
- 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
- build system (Linux)
- meta-ros2 - ROS 2 Layer for OpenEmbedded Linux
- 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
- 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 (ardent) - Status of ROS2 ardent packages.
No books published yet
No courses existing yet
- ROS Industrial Conference 2017
- ROSCon 2017
- ROSCon 2016
- ROSCon 2015