The 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.
- π¦ Custom Interface Definitions
- π― Supported Targets
- β¨ Installation
- π Usage
- π¨βπ» Build from Source
- π€ Contributing
- π License
The following table lists the interface packages cureently included in this collection:
Interface Package Name | Description | Interface Types (Contains) |
---|---|---|
qrb_ros_amr_msgs |
QRB AMR ROS msg | message, service, action |
qrb_ros_audio_common_msgs |
QRB ROS audio common msgs | message, action |
qrb_ros_audio_service_msgs |
QRB ROS Audio Service MSGS | message, service |
qrb_ros_navigation_msgs |
QRB Navigation ROS msg | message, service |
qrb_ros_robot_base_msgs |
QRB ROS robot base msgs | message, service |
qrb_ros_sensor_service_msgs |
QRB ROS Sensor Service Interfaces | message, service |
qrb_ros_slam_msgs |
Messages ROS Package for QRB SLAM Service call | message, service |
qrb_ros_system_monitor_msgs |
System monitor interfaces | message, service |
qrb_ros_tensor_list_msgs |
Msgs for model inference | message |
qrb_ros_vision_msgs |
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 update
Install 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-msgs
Note:
- 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.
ros2 interface package qrb_ros_tensor_list_msgs
Output:
qrb_ros_tensor_list_msgs/msg/Tensor
qrb_ros_tensor_list_msgs/msg/TensorList
ros2 interface show qrb_ros_tensor_list_msgs/msg/Tensor
Output:
# 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[] data
This 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.
Install dependencies ros-dev-tools
:
sudo apt install ros-dev-tools
- 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
cd ~/ros2_ws
rosdep install -i --from-path src --rosdistro jazzy -y
- Build and run
colcon build
Open 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/Tensor
We 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.