KRS(Kratos Robotics Stack):让 Zynq / FPGA 机器人开发真正“跑”起来

在机器人与自主系统开发中,ROS 2 已经成为事实标准,但当它遇到 FPGA / Zynq / Kria 这类异构平台时,工程复杂度往往直线上升。

KRS(Kratos Robotics Stack) 正是为了解决这个问题而诞生的。

KRS 是一个由 Xilinx(AMD)官方推动的 开源机器人软件栈,目标非常明确:

让基于 ROS 2 的机器人应用,能够高效、可重复、工程化地运行在 Zynq 和 Kria 平台上。

先看下下面的应用视频:

🧠 什么是 KRS?

KRS(Kratos Robotics Stack) 是一个围绕 ROS 2 + FPGA 加速 构建的完整开发框架,主要面向:

  • Zynq UltraScale+ MPSoC
  • Kria SOM / Kria Robotics Stack(KR260 等)
  • 需要 CPU + FPGA 异构加速 的机器人与感知系统

它并不是“又一个 ROS 发行版”,而是一个 工程化工具集合 + 架构规范。

它通过与 ROS(机器人领域的通用语言)紧密集成,并结合现代 C++ 和高级综合 (HLS) 技术,以及参考开发板和设计架构,为机器人专家快速启动项目提供了可能。

KRS功能:

KRS特征

以 ROS 2 为中心

ROS之于机器人专家,正如Linux之于大多数计算机科学家和软件开发人员。它帮助机器人专家构建机器人应用程序。随着ROS 2的发布,机器人行为的生成能力已达到生产就绪状态,并有可能对众多行业产生深远影响。与那些用大量库的复制品或分支以及/或类似的机器人模拟器来重复发明轮子的新机器人平台不同,Xilinx的KRS方案满足了ROS机器人社区的需求,并基于ROS 2及其紧密集成的机器人模拟器Gazebo构建而成。

为了将 Xilinx 的硬件加速技术与 ROS 2 生态系统连接起来,并鼓励软件包维护者从中受益,Xilinx 创建了一系列 ROS 2 构建系统 ( ament) 和元构建工具 ( colcon) 的扩展,以最大限度地减少 ROS 2 软件包维护者的工作量。该架构基于三大支柱。

实时 ROS 2

实时性是机器人系统的端到端特性。运行在标量处理器(例如 CPU)上的 ROS 2 应用会受到各种不确定性因素的影响。上图展示了 OSI 模型栈中的这些不确定性因素。为了使机器人在使用 ROS 2 进行进程间、进程内或网络内信息交换时能够确定性地响应,OSI 模型栈中涉及的所有层都必须能够确定性地响应。除非所有覆盖层和底层都具有相同的时间限制,否则无法保证 ROS 2 的实时性。相应地,对于实时 ROS 2 交互,其所有层也必须是实时的。对于运行在 CPU 上的 ROS 2,需要针对每个层级解决不确定性因素。

FPGA 允许设计能够提供确定性响应的机器人电路。虽然可以仅依靠 FPGA 设计硬实时机器人系统,但当与通常运行在标量处理器 (CPU) 上的 ROS 2 进行交互时,确定性往往会受到影响。KRS 的目标是通过模块化方法提供机制来缓解标量处理器中所有这些不确定性问题。可以根据具体用例,优先选择并使用特定模块来消除所需的不确定性来源,并调整缓解措施。

一般来说,CPU 实时问题的解决方案可分为两大类:a) 在相应的抽象层中设置正确的优先级;b) 应用服务质量 (QoS) 技术。每一层都有其自身的 QoS 方法。在 OSI 模型第二层(OSI 2 层),有 IEEE 802.1Q 标准中规定的成熟 QoS 技术,以及诸如时间敏感网络 (TSN) 标准等新技术。对于 Linux 网络协议栈(OSI 模型第三层和第四层),流量控制允许配置 QoS 方法。类似地,从 Linux 内核到应用程序库,每一层都需要配置为限制最大延迟,才能使机器人系统具备实时能力。

ROS 2 加速应用

ROS 生态系统汇聚了全球数千名机器人专家,他们使用 ROS 2 抽象层开发机器人应用程序。从某种意义上说,ROS 是机器人专家构建机器人行为时常用的 API,也是机器人领域的参考软件开发工具包 (SDK)。随着机器人领域混合源代码技术生态系统的出现,在 ROS 领域,已经有许多公司围绕开源软件包提供价值,并回馈社区。

通过与 Xilinx 应用商店的连接,KRS 将 ROS 2 叠加工作区容器化为机器人加速应用。

除了扩展 ROS 2 构建系统和工具以简化 ROS 2 软件包的货币化过程外,KRS 还提供了额外的工具和扩展,以简化 ROS 2 overlay 工作区的打包和发布到 Xilinx 应用商店的过程。上面的 subverb 展示了其中一个这样的工具。

KRS 的核心理念

KRS 的设计思想可以总结为三点:

1️⃣ ROS 2 原生优先(ROS-native)

不改变 ROS 2 的使用方式

节点、话题、消息、launch 文件全部保持 ROS 生态一致

FPGA 加速被“封装”在 ROS 2 节点之下

👉 对上层算法工程师 几乎无感知

2️⃣ 异构加速可重用(Reusable Acceleration)

KRS 将 FPGA 加速抽象为 可复用组件:

图像处理

计算机视觉

运动规划

感知与控制链路

这些加速模块可以被多个 ROS 2 节点复用,而不是“一次性工程”。

3️⃣ 面向产品级部署(Production-ready)

KRS 从一开始就不是 Demo 导向,而是:

支持 Yocto / PetaLinux

支持容器化(Docker)

支持 CI / 自动化构建

面向 可量产、可维护系统

KRS 的整体架构

从官方文档来看,KRS 的结构大致分为三层:

上层:标准 ROS 2 应用

中层:KRS 提供的加速 ROS 2 组件

底层:FPGA 硬件加速(Vitis、HLS、RTL)

参考资料

https://xilinx.github.io/KRS/sphinx/build/html/docs/intro.html
https://github.com/Xilinx/Vitis_Libraries

✅ 总结一句话

KRS 不是教你“怎么用 FPGA”,而是教你“如何把 FPGA 自然地用进 ROS 2 机器人系统”。

它代表了一种趋势:

FPGA 不再是孤立的硬件模块,而是 ROS 生态中的一等公民。

关于这个机器人的项目,我们后面展开聊聊:

Read more

论文阅读笔记:π 0 ​ : A Vision-Language-Action Flow Model for General Robot Control

由 Physical Intelligence (Pi) 团队发表的论文 “π0\pi_0π0 : A Vision-Language-Action Flow Model for General Robot Control” 是具身智能(Embodied AI)领域的里程碑式工作。它提出了第一个基于流匹配(Flow Matching)的大型视觉-语言-动作(VLA)基础模型,在多项极其困难的灵巧操作任务(如折叠衣服、清理桌面、组装纸箱)上达到了前所未有的自主水平。 第一部分:论文核心要点总结 1. 核心架构:VLM + 独立动作专家 (Action Expert) + Flow Matching * 基础模型:采用预训练的视觉语言模型(PaliGemma,3B参数),继承互联网级的丰富语义和常识推理能力。 * 动作专家:为避免破坏 VLM 的语义表征,

Home Assistant联动语音设置智能家居

Home Assistant 联动语音设置智能家居 你有没有过这样的场景:刚进家门,手里拎着 groceries,累得不想动,只想喊一声“开灯”?或者半夜醒来,懒得摸手机,只希望说一句“把空调调到 25 度”就能搞定一切? 💡 如果有,那你一定知道—— 语音控制才是智能家居的终极形态 。 而如果你已经用上了 Home Assistant(HA) ,那恭喜你,其实离“动口不动手”的智能生活,只差一步: 把 HA 和你的语音助手打通 。 别急着去翻文档、折腾 YAML 配置。咱们今天就来聊聊,怎么让 Google Assistant、Amazon Alexa、Apple Siri 这三大语音巨头,乖乖听你家 HA 的指挥,而且不依赖云端、不泄露隐私、

【Web3】NFT 元数据去中心化存储与智能合约集成实战

【Web3】NFT 元数据去中心化存储与智能合约集成实战

在开发非同质化代币(NFT)项目时,资产数据的安全性与不可篡改性是核心考量指标。为防止底层数据受到中心化机构的人为干预,业界普遍采用去中心化网络来托管核心资产。本文将结合实际工程流,深入探讨 NFT 元数据(Metadata)的存储逻辑,并提供与之匹配的智能合约集成方案。 笔记来自:17小时最全Web3教程:ERC20,NFT,Hardhat,CCIP跨链_哔哩哔哩_bilibili,十分推荐大家学习该课程! 目录 一、 深入解析通证生态与 NFT 元数据机制 1. 通证生态解析 2. NFT构建与元数据机制 二、 以太坊存储困境与去中心化网络选型 三、 基于 IPFS 的元数据(Metadata)构建流 四、 智能合约集成与 Remix 快捷部署 一、 深入解析通证生态与 NFT 元数据机制 1. 通证生态解析 资产在区块链上的数字化表达主要分为同质化通证与非同质化通证。