Robotics & Autonomous Systems
ROS 2, humanoid robots, drones and autonomous vehicle systems.
console_bridge_vendor Quality Declaration
This document is a declaration of software quality for the console_bridge_vendor package, based on the guidelines in REP-2004.
Read article →composition — README
This demo provides examples of three different ways to use the rclcpp_components API to compose multiple nodes in a single process.
Read article →pendulum_control — README
This pendulum control demo is available in the default ROS 2 install. Follow the instructions to build ROS 2 from source: https://docs.ros.org/en/rolling/Installation/Linux-Development-Setup.html
Read article →Quality of Service Demos
The demo applications in this package show the various Quality of Service settings available in ROS2. The intent is to provide a dedicated application for each QoS type, in order to highlight that single feature in isola
Read article →Visualizing the effect of QoS policies
This demo uses a “topic monitor” that can be used to visualize the statistics of ROS 2 topics that are publishing sequential data.
Read article →Topic monitor demo
The demo is written using the rclpy Python client library. Please note that the rclpy client library API is currently under heavy development and likely to change.
Read article →Topic Statistics Demo
The demo application in this package demonstrates Topic Statistics feature in ROS 2. The application creates ROS 2 nodes to publish messages to topics, subscribes to the statistics topic and displays the statistics data
Read article →eigen3_cmake_module
On Ubuntu Bionic, the Eigen3 CMake package offers exported targets and non-standard CMake variables. This is a problem for packages using ament_cmake.
Read article →example_interfaces — README
Tutorial on how to try out the examples: Writing a simple service and client C++ Writing a simple service and client Python
Read article →Launch testing examples
This package contains simple use cases for the launch and launch_testing packages. These are designed to help beginners get started with these packages and help them understand the concepts.
Read article →examples_rclcpp_cbg_executor
The examples_rclcpp_cbg_executor package provides a demo and test bench for the Callback-group-level Executor concept. This concept was developed in 2018 and has been integrated in ROS 2 mainline in 2020, i.e., is availa
Read article →Minimal timer examples
This package contains a few different strategies for creating short nodes which have timers. The timer_lambda and timer_member_function examples create subclasses of rclcpp::Node and set up an rclcpp::timer to periodical
Read article →Minimal publisher examples
This package contains a few different strategies for creating short nodes which blast out messages. The talker_timer_lambda and talker_timer_member_function recipes create subclasses of rclcpp::Node and set up an rclcpp:
Read article →Minimal subscriber cookbook recipes
This package contains a few different strategies for creating nodes which receive messages: lambda.cpp uses a C++11 lambda function member_function.cpp uses a C++ member function callback not_composable.cpp uses a global
Read article →Minimal rclcpp wait-set cookbook recipes
This package contains a few different strategies for creating nodes which use rclcpp::waitset to wait and handle ROS entities, that is, subscribers, timers, clients, services, guard conditions and waitables.
Read article →Minimal service client cookbook recipes
This package contains a few strategies to create service clients. The client recipe shows how to request data from a service with a blocking call. The client_async recipe shows how to request data from a service with a n
Read article →Minimal service server cookbook recipes
This package contains a few strategies to create service servers. The service recipe shows how to define a service server in an analog way to ROS 1 and rospy The service_member_function recipe creates a MinimalService cl
Read article →Minimal "publisher" cookbook recipes
This package contains a few different strategies for creating short nodes that blast out messages. The publisher_old_school recipe creates a talker node very similar to how it would be done in ROS 1 using rospy. The publ
Read article →Minimal "subscriber" cookbook recipes
This package contains a few different strategies for creating short nodes that display received messages. The subscriber_old_school recipe creates a listener node very similar to how it would be done in ROS 1 using rospy
Read article →Python examples for tf2
This package has examples for using the tf2_ros API from python. It shows how to broadcast and receive transforms between frames. The example transforms might be seen on a small two wheel robot.
Read article →launch_pytest
This is a framework for launch integration testing. For example: The exit codes of all processes are available to the tests. Tests can check that all processes shut down normally, or with specific exit codes. Tests can f
Read article →launch_testing
This tool is a framework for launch integration testing. For example: The exit codes of all processes are available to the tests. Tests can check that all processes shut down normally, or with specific exit codes. Tests
Read article →launch_xml
This package provides an abstraction of the XML tree.
Read article →launch_yaml
This package provides an abstraction of the YAML tree.
Read article →