---
updatedAt: 2025-11-11T01:46:02.000Z
agentTools:
  projectIndex: https://docs.formant.io/llms.txt
---

# Add a ROS transform tree stream

> 📘
>
> This page assumes knowledge of ROS.

In Formant, ROS data which relates to `/tf` messages is encapsulated in a single data type called *transform tree*.

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th>
        ROS message type
      </th>

      <th>
        Formant datapoint type
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `tf2_msgs/TFMessage`  

        (`/tf` and `/tf_static` topics only)
      </td>

      <td>
        Transform tree
      </td>
    </tr>
  </tbody>
</Table>

This guide will teach you how to add a Transform tree telemetry stream from the `/tf` and `/tf_static` ROS topics.

# Step 1: Create a ROS transform tree stream

1. In Formant, in the upper-left corner, open the menu and click **Settings**.
2. Click **Devices**, and then click on the device you want to configure.
3. Click the **Telemetry** tab, and then click **Add Stream**.
4. Click **ROS Transform Tree**. This will open the New ROS Transform Tree Stream configuration window:

<Image alt="ROS transform tree telemetry stream configuration" align="center" src="https://files.readme.io/caea2f7-Screenshot_2023-07-31_at_5.02.29_PM.png" />

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th>
        Property
      </th>

      <th>
        Usage
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Telemetry stream name
      </td>

      <td>
        Give the stream a name.
      </td>
    </tr>

    <tr>
      <td>
        On demand
      </td>

      <td>
        If **ON**, this stream will store data locally on your device, and only upload data to Formant when you click **Retrieve on-demand data**. `Rate limit` controls the rate at which datapoints are added to the on-device buffer. For more information, see [On demand streams](https://docs.formant.io/docs/on-demand-streams).  

        If **OFF**, this stream will ingest periodically. `Rate limit` controls the rate of data ingestion.
      </td>
    </tr>

    <tr>
      <td>
        Video encoding
      </td>

      <td>
        Only applicable for `sensor_msgs/Image` and `sensor_msgs/CompressedImage` streams. Choose whether you want images ingested on this stream to be encoded as a video.
      </td>
    </tr>

    <tr>
      <td>
        Validation schema
      </td>

      <td>
        Only applicable for JSON and text streams. Choose a configuration schema for this stream.
      </td>
    </tr>

    <tr>
      <td>
        Base reference frame
      </td>

      <td>
        The base reference frame must be included in `/tf` or `/tf_static` (e.g., `base_link`).
      </td>
    </tr>

    <tr>
      <td>
        Add tags (e.g. `key: value`) (optional)
      </td>

      <td>
        Add tags to each datapoint of this stream. For more information on tags, see [Configure access levels](https://docs.formant.io/docs/configure-access-levels).
      </td>
    </tr>

    <tr>
      <td>
        Rate limit (Hz) (optional)
      </td>

      <td>
        If `On demand` is **ON**: Set the rate at which data is added to the on-device buffer. Data in the on-device buffer will be ingested by the agent when you click **Retrieve on-demand data**. For more information, see [On demand streams](https://docs.formant.io/docs/on-demand-streams).  

        If `On demand` is **OFF**: Set the rate at which data is ingested.  

        The default rate is 0.5 Hz.
      </td>
    </tr>
  </tbody>
</Table>

5. When you're finished configuring your stream, click **Done**, and then **Save**.

# 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](docs:viewing-data-in-formant).

<Callout icon="👋" theme="default">
  ### 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 [support@formant.io](mailto:support@formant.io).
</Callout>