Skip to main content
机器人镜像是 QIR SDK 的操作系统交付物。它是一个独立的 Qualcomm Linux 产品:使用自己的 Yocto 发行版、自己的 meta 层、自己的内核配置和设备树补丁,以及自己的镜像配方构建。它不是在普通 Qualcomm Linux (QLI) 2.0 镜像上添加几个 ROS 软件包而成的。
您无法拿一个普通的 QLI 2.0 镜像然后”直接添加机器人 overlay”。机器人镜像使用不同的发行版、内核、设备树、overlay 配置和 meta 层。复现它所需的构建期更改列在下方的为什么不能直接添加机器人 overlay 中。

机器人镜像与普通 QLI 2.0 镜像的区别

这些差异是结构性的,而非简单叠加: 您可以在已刷写的设备上确认正在运行的发行版:

两种机器人镜像配方

QIR SDK 提供两种镜像配方,各自使用不同的 Qualcomm Linux overlay 配置构建。Overlay 是模块化、增值的 Qualcomm 技术栈(摄像头、视频、音频、图形、传感器、视觉),它们与上游组件集成,让您可以在上游技术栈和 Qualcomm 技术栈之间进行选择。有关 overlay 机制本身,请参见使用 overlay 配置派生镜像配方

为什么不能直接添加机器人 overlay

机器人 overlay 不是可以直接安装到已完成的根文件系统上的即插即用软件包集合。复现机器人镜像需要在构建期完成以下全部工作:
  1. 添加 meta-qcom-robotics-sdk(克隆标签 qli-2.0)并使用 KAS 驱动构建。普通的多媒体 KAS 片段不包含它。
  2. 切换发行版qcom-robotics-distro / qcom-robotics-ros2-jazzy,它会将 ros2-jazzy 特性引入 DISTRO_FEATURES。普通的 qcom-distro 构建没有 ROS 发行版特性。
  3. 选择内核提供者并接受机器人内核更改。 该层的 recipe-kernel bbappend 会添加内核配置片段和设备树(DTS)补丁,您可以选择 linux-qcom-6.18 或实时版 linux-qcom-rt-6.18。这会对内核和设备树重新打补丁,无法通过在预构建 rootfs 上安装软件包实现。
  4. 使用匹配的 overlay 配置构建正确的镜像配方,然后在设备上启用 overlay。设备端的启用工作包括驱动模块黑名单设置,以及对于摄像头,需要将 VendorDtbOverlays EFI 变量设置为 camx。参见 Overlay 功能与驱动模块黑名单
  5. 引入 ROS 2 技术栈及其适配: ROS 2 Jazzy 加上 qrb-ros、Navigation2、MoveIt 和 Cartographer 配方及 .bbappend 适配,普通镜像既不声明也不构建这些内容。
有关 Qualcomm Linux 2.0 中底层平台、内核和设备树的更改,请参见 Qualcomm Linux 内核中的更改

如何获取机器人镜像

使用预构建镜像(推荐)

刷写预构建的机器人镜像是最快且推荐的路径。

自行构建(可选)

重新构建 QIR SDK 较为复杂,大多数开发者无需这样做。除非您需要自定义镜像,否则请优先使用预构建镜像或预构建 eSDK。

从 Qualcomm Linux 1.0 迁移

如果您正在从 Qualcomm Linux 1.0 的机器人构建迁移,发行版、层和镜像组成模型都已发生变化。