qrb_ros_nn_inference is a ROS2 package for performing neural network model, providing AI-based perception for robotics applications.
It provides the following functionalities:
- Model inference API which supports three model formats:
- Model inference acceleration based on Qualcomm platforms
Pipeline flow for qrb_ros_nn_inference
Figure : The pipeline of qrb_ros_nn_inference
ROS topics used in the qrb_ros_nn_inference pipeline
| ROS topic | Message type | Published/Subscribed by | Description |
|---|
/qrb_inference_input_tensor | qrb_ros_tensor_list_msgs::msg::TensorList | Subscribed by qrb_ros_nn_inference | Subscribes to the input tensor for model inference. |
/qrb_inference_output_tensor | qrb_ros_tensor_list_msgs::msg::TensorList | Published by qrb_ros_nn_inference | Publishes the output tensor of model. |
ROS node parameters used in the qrb_ros_nn_inference pipeline
| Node parameter | Type | Default value | Description |
|---|
backend_option | string | "" | Hardware acceleration option for model inference. For valid values, see qrb_ros_nn_inference documentation. |
model_path | string | "" | Indicates the path of the model file. |
Prerequisites
Run out-of-the-box qrb_ros_nn_inference
-
Start one terminal, and run the following commands to set up QIR SDK and ROS2 environment on the device.
Value range of
ROS_DOMAIN_ID: [0, 232]
-
Launch three nodes: preprocess node,
qrb_ros_nn_inference node and postprocess node.
Build and run qrb_ros_nn_inference
-
Build
qrb_ros_nn_inference provided by the QIR SDK on the host.
-
Push
qrb_ros_nn_inference to the device.
NoteEnsure that the QIR SDK is installed on the device.
-
Start one terminal, and run the following commands to set up QIR SDK and ROS2 environment on the device.
Value range of
ROS_DOMAIN_ID: [0, 232]
-
Launch three nodes: preprocess node,
qrb_ros_nn_inference node and postprocess node.
Limitation
For the latest limitations, see qrb_ros_nn_inference on GitHub.