Skip to content

qualcomm-qrb-ros/qrb_ros_interfaces

QRB ROS Interfaces

Qualcomm QRB ROS

ROS interfaces for Qualcomm robotics platforms

Qualcomm Ubuntu Jazzy


Overview

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.

πŸ”Ž Table of Contents

πŸ“¦ Custom Interface Definitions

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

🎯 Supported Targets

Development Hardware Qualcomm Dragonwingβ„’ RB3 Gen2 Qualcomm Dragonwingβ„’ IQ-9075 EVK
Hardware Overview

✨ Installation

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).

Prerequisites

Add Qualcomm IOT PPA repository

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 qrb_ros_interfaces packages

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.

πŸš€ Usage

source /opt/ros/jazzy/setup.sh
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

πŸ‘¨β€πŸ’» Build from Source

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.

Prerequisites

Refer to Prerequisites section for installation instructions.

rosdep installation

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

Build Steps

  1. Clone the repository:
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone https://github.com/qualcomm-qrb-ros/qrb_ros_interfaces.git
  1. Resolve dependencies
source /opt/ros/jazzy/setup.sh
cd ~/ros2_ws
rosdep install -i --from-path src --rosdistro jazzy -y
  1. 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

🀝 Contributing

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

πŸ“œ License

This project is licensed under the BSD-3-clause License. See LICENSE for the full license text.

About

qrb_ros_interfaces is a ROS 2 package that defines the custom ROS messages for QRB ROS.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages