Vulcanexus: Exposing keyed topics in ROS 2

Hello everyone!

Today, we are happy to announce that Vulcanexus has released Topic Keys in ROS 2!

Thanks to Vulcanexus Keys, users can improve ROS 2 scalability by avoiding the proliferation of topics.

Imagine, for example, you have many temperature sensors. Currently, in ROS 2, you need to create a topic for each sensor, let’s say “Temperature_sensor1”, “Temperature_sensor2”… etc. That leads to systems with many topics and, thus, many entities (publishers/subscribers), impacting the scalability by increasing the discovery time and memory usage. We have seen systems with literally hundreds of topics because of this reason.

Without Keys: Proliferation of Topics:

topics (1)

Fortunately, DDS has a solution to this problem: the concept of keys. You can define a field of your topic as the key, and then, all the QoS are applied by key (and you can easily filter by key with the content filter topic). It is kind of having subtopics, but you don’t need to create extra entities, so you solve the scalability problem.

This has been available in the middleware for years, but it was not exposed in ROS 2. Now, you can start using this feature in Vulcanexus, with total backward compatibility with non-keyed ROS 2 topics.

How does it work?

Each message in a keyed topic is associated with a topic instance identified by a unique key, streamlining resource management and facilitating a more efficient data distribution:

GIF1

Key Benefits:

  • Topic Keys optimize middleware infrastructure and data distribution, minimizing resource usage.

  • Improved history management: Benefit from simplified data storage and retrieval.

  • Enhanced message filtering, minimizing unnecessary data processing.

Summary:

In conclusion, keyed topics enhance message exchange’s flexibility, efficiency, and organization. By leveraging keyed topics, developers can design more robust and scalable robotic applications capable of handling diverse data sources and complex environments.

To learn all the details —> 7. Vulcanexus Enhancements » 7.1. Topic Keys

7 Likes