qrb_ros_interfaces is a collection of ROS 2 interface packages designed to define and consolidate custom message, service, and action types specifically tailored for robust communication within the QRB ROS ecosystem. This collection serves as a centralized repository for all QRB ROS related communication interfaces, ensuring standardization and consistency across various QRB ROS nodes.
Each package within this collection provides specific interface definitions crucial for enabling seamless interoperability and efficient data exchange between components interacting with QRB hardware or software.
- Overview
- π Table of Contents
- π¦ Custom Interface Definitions
- π― Supported Targets
- β¨ Installation
- π Usage
- π¨βπ» Build from Source
- π€ Contributing
- π License
The following table lists the interface packages currently included in this collection:
| Interface Package Name | Status | Description | Interface Types (Contains) |
|---|---|---|---|
qrb_ros_amr_msgs |
Active | QRB AMR ROS msg | message, service, action |
qrb_ros_audio_common_msgs |
Active | QRB ROS audio common msgs | message, action |
qrb_ros_audio_service_msgs |
Active | QRB ROS Audio Service MSGS | message, service |
qrb_ros_navigation_msgs |
Active | QRB Navigation ROS msg | message, service |
qrb_ros_robot_base_msgs |
Active | QRB ROS robot base msgs | message, service |
qrb_ros_sensor_service_msgs |
Deprecated | QRB ROS Sensor Service Interfaces | message, service |
qrb_ros_slam_msgs |
Active | Messages ROS Package for QRB SLAM Service call | message, service |
qrb_ros_system_monitor_msgs |
Active | System monitor interfaces | message, service |
qrb_ros_tensor_list_msgs |
Active | Msgs for model inference | message |
qrb_ros_vision_msgs |
Active | Messages for computer vision pipelines | message |
| Development Hardware | Qualcomm Dragonwingβ’ RB3 Gen2 | Qualcomm Dragonwingβ’ IQ-9075 EVK |
|---|---|---|
| Hardware Overview |
This section details how to install the qrb_ros_interfaces packages. The recommended approach for most users is to install the packages from the Qualcomm PPA repository(if available in QCOM PPA).
sudo add-apt-repository -y ppa:ubuntu-qcom-iot/qcom-ppa
sudo add-apt-repository -y ppa:ubuntu-qcom-iot/qirp
sudo apt updateInstall the qrb_ros_interfaces packages using sudo apt install <package name>:
# Example: Install qrb_ros_tensor_list_msgs package
sudo apt install ros-jazzy-qrb-ros-tensor-list-msgsNote:
- The exact package names (
ros-<distro>-<package-name>) are determined during the release process.- If you encounter issues finding a package, it might not yet be released as a binary or the repository might not be correctly added. Use
apt search <part_of_package_name>(e.g.,apt search ros-jazzy-qrb-ros-vision-msgs) to discover available packages.
source /opt/ros/jazzy/setup.sh
ros2 interface package qrb_ros_tensor_list_msgsOutput:
qrb_ros_tensor_list_msgs/msg/Tensor
qrb_ros_tensor_list_msgs/msg/TensorListros2 interface show qrb_ros_tensor_list_msgs/msg/TensorOutput:
# Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
# SPDX-License-Identifier: BSD-3-Clause-Clear
# name of tensor
string name
# type of tensor data
# 0: "uint8"
# 1: "int8"
# 2: "float32"
# 3: "float64"
int32 data_type
# shape of tensor
uint32[] shape
# data buffer
uint8[] dataThis section provides instructions for building the qrb_ros_interfaces packages from source. This approach is suitable for developers who want to contribute to the project or customize the packages.
Refer to Prerequisites section for installation instructions.
rosdep is the recommended command-line tool in the ROS ecosystem for idenifying and installing package dependencies required for building or running a package.
sudo apt install ros-dev-tools
sudo rosdep init
rosdep update- Clone the repository:
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone https://github.com/qualcomm-qrb-ros/qrb_ros_interfaces.git- Resolve dependencies
source /opt/ros/jazzy/setup.sh
cd ~/ros2_ws
rosdep install -i --from-path src --rosdistro jazzy -y- Build and run
colcon buildOpen a new terminal, navigate to ros2_ws, and source the setup files:
source install/setup.bash
ros2 interface package qrb_ros_tensor_list_msgs
ros2 interface show qrb_ros_tensor_list_msgs/msg/TensorWe would love to have you as a part of the QRB ROS community. Whether you are helping us fix bugs, proposing new features, improving our documentation, or spreading the word, please refer to our contribution guidelines and code of conduct.
- Bug report: If you see an error message or encounter failures, please create a bug report
- Feature Request: If you have an idea or if there is a capability that is missing and would make development easier and more robust, please submit a feature request
This project is licensed under the BSD-3-clause License. See LICENSE for the full license text.