Andreas Pasternak (Apex.AI, Inc), Dejan Pangercic (Apex.AI, Inc)
Verifying that your communication middleware and hardware platform satisfies throughput and latency requirements can be challenging. Often, several middleware options are available, each with a rich set of configuration options and testing them in a consistent way is desirable. We have released performance_test, a C++ tool for testing different communication middlewares. An exhaustive logging to file and accompanying python tools to parse and plot the data make it easy to verify that a system can satisfy the desired communication performance requirements. Furthermore, its plugin based architecture makes it easy to test currently unsupported communication middlewares. Currently supported middlewares are ROS 2 through rmw layer and thus all underlying DDS implementations. Further, FastRTPS and Connext Micro DDS are supported directly. In this session we will talk about the difference a real time operating system makes regarding latency stability. Further, we will demonstrate how to run tests and visualize the data. At last, we will give an overview on how to create plugins for other communication middlewares.