Skip to main content
The implementation has its base on REP 2007, which provides interfaces to define methods for serializing custom types and/or using those types in intra-process communication without conversion. The qrb_ros_transport sends image DMA buffer file descriptors (fd) between ROS nodes, rather than sending the image data itself. Hardware accelerators, such as cameras, GPUs, and EVA, share image data zero-copy through mmap DMA buffers.

Pipeline flow for qrb_ros_transport

The following figure shows the pipeline flow for qrb_ros_transport.
ROS 2 component container where camera, color space convert, and face detection nodes exchange DMA buffer file descriptors through QRB ROS Transport.

The qrb_ros_transport pipeline.

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_transport

1

Install the qrb_ros_transport packages

Install the packages
2

Use qrb_ros::transport::type::Image

For example:
  1. Add the dependencies in your package.xml:
    package.xml
  2. Use ament_cmake_auto to find dependencies in your CMakeLists.txt:
    CMakeLists.txt
  3. Use the adapted types in your ROS node.
    Use the adapted image type

Build from source

Build from the source of qrb_ros_transport and run this application.
1

Install dependencies

Install the dependencies
2

Clone the repository to the device

Clone the repository
3

Build the sample application

Build the workspace