Set up 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.

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