Configure Topics

How topics work

Topics are the way that you (and Freedom!) organize your data efficiently. Every topic has a name to identify it and a type to specify the format of the data. Freedom uses topics to understand what data should be uploaded from your robot and where commands should be sent.

Naming topics

You may have hundreds of topics of data that you want to upload, so naming your topics clearly is important.

Best Practice:

  • All topics must start with / and be unique per device
  • Only lowercase alphanumeric characters plus / and _ may be used
  • Related topics should be grouped by prefix

Examples of well-formed topic names:

  • /platform/battery/status
  • /platform/battery/voltage
  • /cameras/front/image_raw
  • /cameras/front/image_description

Topic Types

While you're free to define your own types, the ROS schema is often a good starting point. If you'd like to learn more about ROS type definitions, the documentation for std_msgs and sensor_msgs is a good place to start.

Freedom provides intelligent renderings for common types including:

  • Location (sensor_msgs/NavSatFix)
  • Odometry (nav_msgs/Odometry)
  • LiDAR (sensor_msgs/LaserScan)
  • Video and images (sensor_msgs/Image)

... and more! Here are a few examples:

Examples of visualizations for common topic types.Examples of visualizations for common topic types.

Examples of visualizations for common topic types.

Topic Settings

Topic cards in the dashboard view have various settings. We will walk through some example topics and demonstrate the available configurations available to them. For this example, let's look at a battery topic.

It shows us important information like the battery percentage, power supply health, and voltage.

This can become a little cluttered and we have the ability to show specific properties of the battery. This will help focus our ability to review the key device properties. By clicking the vertical ellipses in the top right of the card, we can open a form to configure this topic.

Currently, we are displaying the topic as a state visualization. We can edit the properties shown, by clicking Topic Settings.

This will open a panel on the right side, that gives you the ability to add or remove properties to the display.

In this exercise, we will remove all properties and add percentages to demonstrate what adding a property will look like. By clicking the X icon, at the end of each row, we can then click Add Dimension.

When adding a dimension, you will have to choose the path of the property and a name. For example:

After clicking Save Dimension, you can select the color you would like the property to have.

With that cleaned up and giving us a more focused view, we can now change the topic card height. There are two ways to enter Edit Mode.

  • Double-Click the Topic Card Header
  • Click Edit Layout Mode in the top right corner of the page.

Now that you understand what topics are and why they matter, we'll walk through the details of choosing which topics to upload and setting their upload frequency.

What’s Next