![]() |
rxros2 repositoryreactive-programming rxcpp rxpy ros2 rxros2_cpp rxros2_cpp_examples rxros2_py rxros2_py_examples |
Repository Summary
Description | Reactive programming for ROS 2 |
Checkout URI | https://github.com/rosin-project/rxros2.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-05-27 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | reactive-programming rxcpp rxpy ros2 |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
Name | Version |
---|---|
rxros2_cpp | 0.1.0 |
rxros2_cpp_examples | 0.1.0 |
rxros2_py | 0.1.0 |
rxros2_py_examples | 0.1.0 |
README
RxROS2
Reactive programming for ROS 2.
Overview
This repository contains the ROS 2 version of rxros.
As the implementation of this new version is rather different from the ROS 1 version, the packages are hosted in a separate repository instead of as a branch in rosin-project/rxros
.
Design and use
For more information on the design and use of rxros2
, please see the README.md
files in the rxros2_cpp
and the rxros2_py
package directories.
Acknowledgements
Supported by ROSIN - ROS-Industrial Quality-Assured Robot Software Components. More information: rosin-project.eu
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement no. 732287.
Dependencies
The RxROS2 library depends on and uses the following software:
- Ubuntu Focal Fossa 20.04 and ROS2 Foxy Fitzroy
- Reactive C++ (RxCpp) v4.0
- Reactive Python (RxPy) v3.1.0
Please follow the installation instruction of Ubuntu at https://ubuntu.com/tutorials/install-ubuntu-desktop#1-overview
and the installation instructions of ROS2 at https://index.ros.org/doc/ros2/Installation/.
Reactive C++ (RxCpp) and reactive Python (RxPy) will be installed as part of installing RxROS2 (see instructions below). They do not have to be installed separately.
Setup and Installation
The current installation instructions are manual, but will soon be replaced by proper packages that will allow easy installation of RxROS2.
Installation of rosdep
(this will resolve our dependencies):
sudo apt install python3-rosdep
sudo rosdep init
Installation of colcon
(build tool):
sudo apt install python3-colcon-common-extensions
Build of RxROS2 for Python and C++:
# create a workspace
# if you already have a workspace, skip this step
mkdir -p $HOME/rxros2_ws/src
cd $HOME/rxros2_ws
# download the repository
git clone https://github.com/rosin-project/rxros2.git src/rxros2
# make sure all dependencies are installed
rosdep update && sudo apt update
rosdep install --from-paths $HOME/rxros2_ws --ignore-src --rosdistro=foxy
# check the output of 'rosdep install ..' and make sure there were no errors
# build the workspace
colcon build
If this was successful, do not forget to activate the workspace by executing source $HOME/rxros2_ws/install/setup.bash
(if using Bash as the shell).
Examples
After having built RxROS2, you may try to start any of the following RxROS2 nodes:
```bash
RxROS2+RxCpp based nodes
File truncated at 100 lines see the full file