# 架构

该图显示了 QIRP SDK 的整体软件架构。

![../../_images/architecture-ga.png](data:image/png;base64,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)

QIRP SDK 集成了称为功能 SDK 的专用组件，具体如下：

| 功能 SDK | 说明 |
| --- | --- |
| Qualcomm^®^ Intelligent Multimedia SDK (IM SDK) | 提供用于优化应用程序开发的 Qualcomm 硬件加速插件。 |
| Qualcomm^®^ Intelligent Robotics Function SDK | 为 Qualcomm 机器人平台提供机器人功能 ROS 节点。该 SDK 基于 ROS，这是一种开源的元操作系统。 |
| Qualcomm^®^ AI Engine direct SDK | 为 Qualcomm 芯片组和 AI 加速核心上的 AI/ML 用例提供软件架构。它提供了一个统一的 API，具有模块化和可扩展的加速器库，形成了全栈 AI 解决方案的可重用基线。它支持 Qualcomm^®^ Neural Processing SDK 和 TensorFlow Lite AI Engine Direct Delegates 等 runtime。 |

## QIRP SDK 的组件层

QIRP SDK 使用与 Yocto 社区相同的方法将源代码安排到以下的层中。

- QIRP 层：包括机器人和 Qualcomm Linux 层，对所有用户开放。
- 附加层：提供给拥有经过验证的组织账户的注册用户，这些用户可以访问指定的 Qualcomm Linux 的固件组件和附加层以及机器人附加层。

Note

有关未注册用户、注册用户和授权用户的详细信息，参见 [Qualcomm^®^ Linux 编译指南](https://docs.qualcomm.com/bundle/publicresource/topics/80-70017-254)。

**QIRP 层**

表：机器人层

| 层 | 类别 | 说明 |
| --- | --- | --- |
| [meta-ros](https://github.com/ros/meta-ros) | 机器人层 | 一系列 OpenEmbedded 层，旨在增加 Yocto Project 提供的嵌入式 Linux 发行版本机器人操作系统 (ROS) 的支持。 |
| `meta-qcom-robotics-distro` | 机器人层 | 包含生成 ROS 镜像所需的配置信息，包括但不限于软件包组和镜像配方。 |
| `meta-qcom-robotics` | 机器人层 | 包括所有机器人功能的配方。 |
| `meta-qcom-robotics-sdk` | 机器人层 | 包含 Qualcomm Intelligent Robotics Product (QIRP) SDK 的生成/获取机制。 |

Note

关于机器人层的详细信息，请参阅[机器人层规格](https://docs.qualcomm.com/doc/80-70017-265Y/topic/robotics-layers.html#robotics-layers)。

表：Qualcomm Linux 层

| 层 | 类别 | 说明 |
| --- | --- | --- |
| `meta-qcom` | Qualcomm Linux 层 | 包含 Qualcomm 硬件支持元数据和上游 OSS 软件组件。 |
| `meta-qcom-hwe` | Qualcomm Linux 层 | 包含 Qualcomm 硬件支持元数据和 Qualcomm 增值软件组件。 |
| `meta-qcom-distro` | Qualcomm Linux 层 | 包含生成基础镜像所需的发行版本配置，包括但不限于软件 package group 和镜像配方。 |
| `meta-qcom-qim-product-sdk` | 依赖 SDK | 提供基于 GStreamer 框架的 Qualcomm 多媒体和 AI SDK。 |

**附加层**

| `meta-qcom-robotics-extras` | 包括使用源代码编译的专有机器人功能配方。 |
| --- | --- |
| `meta-qcom-extras` | 可对部分 Qualcomm Linux 组件进行源代码编译，并包含一些组件二进制文件。 |

## 示例程序列表

**开源示例程序**

| 示例程序 | 说明 |
| --- | --- |
| Nav2-bringup | 启用 ROS2 导航框架和系统。它提供感知、规划、控制、定位、可视化等功能，帮助编译高度可靠的自主系统。 |
| Librealsense2 | 通过 topic 生成单目和深度模式的信息。Librealsense2 和 realsense2-camera 用于使 RealSense^™^ 摄像头 D455 在 RGB 或深度模式下正常工作。 |
| Rplidar-ros2 | 为 2D 激光扫描仪 RPLIDAR A1/A2/A3/S1/S2/S3 提供基本的设备处理功能。 |
| QRB-ROS-IMU | 创建 `/imu` 主题以发布惯性测量单元 (IMU) 数据。 |
| QRB-ROS-CAMERA | 使用 camera-server 获取最新的摄像头数据。 |
| QRB-ROS-SYSTEM-MONITOR | 包含多个 ROS 节点，用于发布系统状态信息，例如 CPU 负载、内存利用率和磁盘空间。 |
| OCR-service | 启用提供光学字符识别 (OCR) 功能的服务。它从 ROS 系统获取图像主题并将结果发布到 `ocr_topic`。 |

**专有示例程序**

| 示例程序 | 说明 |
| --- | --- |
| Follow-me | 使带轮子的机器人能够跟随行走的人。 |
| Voxel-map | 运行 VSLAM 时使用深度信息和里程计生成 2D 导航地图。 |
| Mono-vslam | 利用单目模式摄像头实现机器人运动时定位功能。 |
| Depth-vslam | 利用深度模式摄像头实现机器人运动时定位功能。 |
| Auto-explore | 使带轮子的机器人能够自动绘制 2D 地图。 |
| 视觉惯性里程计 (VIO) | 通过融合摄像头、加速度计和陀螺仪来跟踪六自由度 (6DOF) 姿态，并持续估算重力方向和姿态。 |

Last Published: Jan 24, 2025

[Previous Topic
运行机器人示例应用程序](https://docs.qualcomm.com/bundle/publicresource/80-70017-265Y/topics/run-robotic-samples_3_4.md) [Next Topic
编译和安装](https://docs.qualcomm.com/bundle/publicresource/80-70017-265Y/topics/advanced-usage.md)