Basic information
Online documentation
https://rclUE.readthedocs.io/en/devel/
Supported versions
Main support
- Ubuntu 20.04
- Unreal Engine 5.1
- ROS2 Foxy
- Clang: 13.0.1
Maintenance/experimental
- ROS2 Humble(
UE5_devel_humble
branch)
- UE4.27: 11.0.1
- Clang: 11.0.1
Please download UE5.1 for Linux by following Unreal Engine for Linux
Branches
devel
: This build of the plugin is based on ROS2 Foxy and has been tested on Ubuntu 20 and UE5.1.
UE5_devel_humble_20.04
(experimental): This build of the plugin is based on ROS2 humble and has been tested on Ubuntu 20.04 and UE5.1.
UE5_devel_humble
(experimental): This build of the plugin is based on ROS2 humble, Ubuntu 22.04 and UE5.1.
Other branches
Experimental and WIP
rclUE and ROS2
Description
- We use ros2 'foxy' lightweighted (not all binaries are included). Source/ThirdParty/ros folder is fully autogenerated by UE_tools
- ros includes UE_msgs
- UE uses centimeters but ROS uses meters. Please convert manually or use URRConversionUtils in RapyutaSimulationPlugins
- within the Unreal Editor: Edit->Plugins, search and enable for
rclc
Windows is currently unsupported
Getting Started
The plugin folder contains a video "Example_BP_PubSub.mp4" demonstrating how to setup a PubSub example in Blueprint.
An example setup using this plugin can be found at turtlebot3-UE
Notes on working with ROS 2 and UE
- rcl and void* types cannot be managed by UE (no UPROPERTY) and therefore can't be used directly in Blueprint. Whenever access to these variables is needed, the user should write a class to wrap it and all of their handling must be done in C++.
- some basic numerical types are not natively supported in Blueprint (e.g. double, unsigned int). In order to use these, a workaround is needed (a plugin implementing those types for BP, a modified UE or a custom implementation).
- In autogenerated messages, the method MsgToString() should be implemented by the user as its current purpose is to help debugging.
How to update ROS inside RclUE
Currently there is a scripts in UE_tools to automatically build and update ROS2 libraries. Please follow steps
Install pre-commit
Please install pre-commit before commiting your changes.
Follow this instruction https://pre-commit.com/
then run
pre-commit install
Documentation
Tools
documentation is built with three tools
Locally build
- install tools in #tools section.
- build
cd docs
make --always-make html
- Open following in your browser.
- Sphinx at
file:///<path to cloned repo>/docs/source/_readthedocs/html/index.html
- Original doxygen output at
file:///<path to cloned repo>/docs/source/_readthedocs/html/doxygen_generated/html/index.html
Maintainer
yu.okamoto@rapyuta-robotics.com