Add a ROS topic stream
This page assumes knowledge of ROS.
Configure your catkin workspace for custom messagesBefore configuring a custom ROS message, you'll have to provide the Formant agent with the path to your catkin workspace. For more information, see Environment variables for the Formant Agent.
This guide will teach you how to ingest ROS topic data directly into Formant.
Step 1: Create the ROS topic stream
- In Formant, in the upper-left corner, open the menu and click Settings.
- Click Devices, and then click on the device you want to configure.
- Click the Telemetry tab, and then click Add Stream.
- Click ROS Topic. This will open the New ROS Topic Stream configuration window:
Property | Usage |
|---|---|
Telemetry stream name | Give the stream a name. |
On demand | If ON, this stream will store data locally on your device, and only upload data to Formant when you click Retrieve on-demand data. If OFF, this stream will ingest periodically. |
Video encoding | Only applicable for |
Validation schema | Only applicable for JSON and text streams. Choose a configuration schema for this stream. |
ROS version | The ROS version of the node publishing the topic. |
Ingestion topic | Enter the ROS topic name, starting with |
ROS message path (optional) | Path in the ROS message to the data you want to ingest. For example, suppose you are ingesting a twist message of the format:
If you enter a ROS message path of Leaving this parameter blank will ingest the entire message as a JSON. This property supports complex message structures and array indexing, such as: |
Add tags (e.g. | Add tags to each datapoint of this stream. For more information on tags, see Configure access levels. |
Rate limit (Hz) (optional) | If If The default rate is 0.5 Hz. |
Supported formats for streaming video usingsensor_msgs/ImagemessagesFor a
sensor_msgs/Imagetopic to be a valid input to Formant's automatic video encoding, it must have a value for theencodingfield that matches one of the following exactly:
rgb8rgba8bgr8bgra8mono8mono168UC1yuv422If your
encodingvalue is unsupported, you may be able to adjust theencodingfield of thesensor_msgs/Imagemessage without changing the underlying data. In some cases, you will need to transform both the data and theencodingproperty to supported values.If you have trouble with this, please contact our Customer Success team via the Intercom messenger in the bottom-right corner of this page, or via email at [email protected].
- When you're finished configuring your stream, click Done, and then Save. Finally, Save your device settings.
Step 2: Add stream to a view
Once you've added a stream to your device, your next step is to add it to a view in Formant.
Add the streams you want to visualize, and then move on to Viewing data in Formant.
Adding multiple ROS topics to the same module
You can add multiple ROS topics of the same data type to the same module.
In the New ROS Topic Stream window seen above, you can click the Add ROS Topic button multiple times to add multiple streams.
When adding multiple topics to the same stream, you must provide a unique set of tags for each topic.

Adding multiple ROS topics to the same stream.
ROS topic type vs. Formant data type
The table below shows a mapping from ROS topic type to Formant datapoint type:
ROS message type | Formant datapoint type |
|---|---|
| Text |
| Numeric |
| Bitset |
| Location |
| Battery |
(with | Image |
(with | Video |
| Point cloud |
All other ROS types (including custom messages) | JSON |
If you notice an issue with this page or need help, please reach out to us! Use the 'Did this page help you?' buttons below, or get in contact with our Customer Success team via the Intercom messenger in the bottom-right corner of this page, or at [email protected].
Updated 19 days ago
