Skip to main content
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

Software structure

The following figure shows the software structure of qrb_ros_benchmark.
Layered stack with the QRB ROS benchmark monitor and playback nodes above the ROS2 benchmark nodes, QRB transport components, and ROS2.

Software structure of qrb_ros_benchmark.

The basic usage is similar to ros2_benchmark and the following are the exclusive message types supported by qrb_ros_benchmark: QRB transport types:
  • qrb_ros/transport/type/Image
  • qrb_ros/transport/type/Imu
  • qrb_ros/transport/type/PointCloud2
  • qrb_ros_tensor_list_msgs::msg::TensorList
DMABuf transport types:
  • dmabuf_transport/type/Image
  • dmabuf_transport/type/PointCloud2

Prerequisites

You have set up the device, installed ROS2 Jazzy and the Qualcomm Intelligent Robotics (QIR) SDK on the device according to Install the QIR SDK.

Run out-of-the-box qrb_ros_benchmark

1

Install the qrb_ros_benchmark packages

Install the packages
2

Create a minimum template for evaluating qrb_ros/transport/type/Image

Create the launch file
qrb-ros-transport-image-type_launch.py
3

Start the qrb-ros-transport-image-type benchmark

Start the benchmark

Build from source

1

Install dependencies

Install the dependencies
2

Download the source code and build with colcon

Clone the repositories and build
3

Run and debug

Source the workspace
4

Run the qrb-ros-benchmark

Run the qrb-ros-benchmark according to step 2 of Run out-of-the-box qrb_ros_benchmark.