Skip to main content
The qrb_ros_imu sample application publishes the inertial measurement unit (IMU) data collected from the ICM-42688 hardware on Qualcomm Robotics Platforms. It provides the following:

Pipeline flow for qrb_ros_imu

The following figure shows the pipeline flow for qrb_ros_imu.
Inertial measurement unit hardware feeding the QRB-ROS-IMU node, which gets the data from SLPI and publishes it to a ROS topic.

qrb_ros_imu pipeline.

The qrb_ros_imu is a ROS 2 package. It creates a publisher with qrb_ros_transport for zero-copy transport. It supports node composition, making it possible to improve performance using ROS intra-process communication.

qrb_ros_imu APIs

The qrb_ros_imu package exposes ROS interfaces, ROS parameters, and the qrb_sensor_client library APIs. Use them to subscribe to the published inertial measurement unit (IMU) data and to configure how the node reads the sensor.

ROS interfaces

The following table describes the ROS interfaces provided by qrb_ros_imu.

ROS parameters

The following table describes the ROS parameters for qrb_ros_imu.

qrb_sensor_client APIs

The following table describes the qrb_sensor_client APIs.

Prerequisites

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

Run out-of-the-box qrb_ros_imu

1

Install the qrb_ros_transport packages

Install the packages
2

Use the IMU node

Run the IMU node
3

Check ROS topics with the topic /imu

Build and run qrb_ros_imu

1

Install dependencies

Install the dependencies
2

Clone the repository to the device

Download the source code
3

Build and run qrb_ros_imu

Build and run