QRB ROS IMU

Overview

Qualcomm Sensor See Framework provides IMU data that obtained from the IMU driver via DSP side. qrb_ros_imu uses this framework to get the latest IMU data with high performance.

With the Qualcomm Sensor See Framework, data can achieve zero copy performance when coming out of the driver. qrb_sensor_client, which is a dynamic library, is based on this framework for helping developers to utilize this feature. This will greatly reduce the latency between the ROS node and the driver. This time consumption measurement is around 0.4ms, which is several tens of times better than the performance where copying occurred before.

IMU data is widely used in robot localization, such as: SLAM(Simultaneous localization and mapping). These localization applications have more precise performance after integrating IMU data to predict position.

This package leverages type adaption and intra process communication to optimize message formats and dramatically accelerate the communication between participating nodes.

QuickStart

  1. Setup Docker on device: Docker Setup.

  2. Download source code

    cd ${QRB_ROS_WS}/src
    git clone https://github.com/qualcomm-qrb-ros/lib_mem_dmabuf.git
    git clone https://github.com/qualcomm-qrb-ros/qrb_ros_imu.git
    git clone https://github.com/qualcomm-qrb-ros/qrb_ros_transport.git
    
  3. Build packages

    colcon build
    
  4. Run

cd ${QRB_ROS_WS}/src

source install/local_setup.sh
ros2 run qrb_ros_imu imu_node

Packages

Supported platforms

This package is designed and tested to be compatible with ROS 2 Humble running on Qualcomm RB3 gen2.

Hardware

Software

Qualcomm RB3 gen2

LE.QCROBOTICS.1.0

Updates

Date

Changes

2024-7-16

Added build in QCLINUX SDK

2024-2-5

Initial release