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 驱动构建。标准的 multimedia 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 机器人构建迁移,发行版、层和镜像组成模型都发生了变化。