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

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.

πŸ”Ž Table of Contents

πŸ“¦ Custom Interface Definitions

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

🎯 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

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.

Dependencies

Install dependencies ros-dev-tools:

sudo apt install ros-dev-tools

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

No packages published

Contributors 12

Languages