Skip to main content
qrb_ros_benchmark is a benchmarking tool designed for evaluating the performance of ROS components on Qualcomm robotics platforms. It provides reusable components for benchmarking various message types and ROS nodes, with a focus on zero-copy transport mechanisms. qrb_ros_benchmark builds on ros2_benchmark and extends it with specialized components for benchmarking QRB ROS transport types, including:
  • QRB transport types (Image, IMU, PointCloud2)
  • DMABuf transport types (Image, PointCloud2)
  • Standard ROS message types
NoteFor information about the qrb_ros_benchmark pipeline flow and the topics it uses, see ros2_benchmark.

Prerequisites

Run out-of-the-box qrb_ros_benchmark

1

Set up the environment

Start two terminals, and run the following commands in each terminal to set up QIR SDK and ROS2 environment on the device. Value range of ROS_DOMAIN_ID: [0, 232]
SSH Session
2

Run your custom ROS2 application

In terminal 1, run your custom ROS2 application.
SSH Session
3

Run your benchmark script

In terminal 2, run your benchmark script for evaluating your custom ROS2 application.
SSH Session
The script outputs the evaluation result in your terminal.

Build and run qrb_ros_benchmark

1

Build qrb_ros_benchmark on the host

2

Push qrb_ros_benchmark to the device

SSH Session
3

Set up the environment

Start two terminals, and run the following commands in each terminal to set up QIR SDK and ROS2 environment on the device. Value range of ROS_DOMAIN_ID: [0, 232]
SSH Session
4

Run your custom ROS2 application

In terminal 1, run your custom ROS2 application.
SSH Session
5

Run your benchmark script

In terminal 2, run your benchmark scripts for evaluating your custom ROS2 application.
SSH Session

Limitation

qrb_ros_benchmark supports the following ROS2 message types:
  • ROS2 standard message type
  • QRB transport types (Image, IMU, PointCloud2)
  • DMABuf transport types (Image, PointCloud2)