Builtin Implementations
In addition to your own implementations, Heex provides some pre-built ones that have specific purposes. These are already present in your packaged SDK, and you can find them inside the implementations/builtin
folder.
Resource and Data Automation for ROS 2
The Resource and Data Automation for ROS 2
, or RDA
, has a purpose of automatically generating events (using the RDAMonitor
), and optionally recordings (using the RDARecorder
), using the ROS2 middleware, and solely based on information configured on the Heex Cloud, without having to write one line of code.
In this documentation page, you will find out more about on how these 2 implementations work.
pre-requisite
- ROS2 installed on your system. We currently support the following ROS2 distributions:
Galactic
forUbuntu 20
,Humble
forUbuntu 22
andJazzy
forUbuntu 24
.
How to run
- If you are running in Agent deployment mode, the RDA implementations will be automatically ran. If you have a single standard ROS2 installation (ie installed inside /opt/ros/
ros2-distribution
), you have nothing to do. If you have a custom installation, or more than 1 distribution installed, please follow this configuration before packaging your agent. - If you are running in SDK mode, the RDA implementations will be automatically ran if you have generated the implementations.json file first as described in the given link.
RDA Monitor
The RDAMonitor
shall create a ROS2 node, rda_monitor
, and will subscribe to all signals defined previously on the web platform. Then, based on the conditions that you also have predefined, events shall be generated once these conditions are met. We currently support only standard ROS2 signals for these conditions, but soon you shall also be able to support custom ones.
RDA Recorder
The RDARecorder
shall create a ROS2 node, rda_recorder
, and will subscribe to all signals defined previously on the web platform. It shall subscribe to all signals that you want recordings from (all triggers combined), and will bufferize in its memory the content of each signal. The size of the buffer is dependent on the ranges you have set inside your triggers, any data outside of these range is then cleared.
Once an event is generated, the RDARecorder
will create a MCAP recording with all the recorded signals, which is then processed like any other recording and sent to the Cloud.