Kria机器人堆栈(KRS)是由硬件加速工作组(HAWG)开发的机器人操作系统(ROS 2)的超集。它最初是由Xilinx/AMD为他们的Kria SoM系列开发的,通过将他们的Vitis统一工具链集成到ROS 2中,将硬件加速引入机器人生态系统。关于如何使用KRS和FPGA机器人实现第一个项目的文章已经发表,如Whitney Knitter的系列。
这里介绍了第一个工作区,即OS工作区。当前的OS Workspace支持两种不同的发行版,每种发行版都有自己独特的流程和优势。尽管Ubuntu流程简单易用,但Petalinux流程是否支持更广泛的高级功能,并加深了对整个系统的理解?此外,它允许更复杂的解决方案与强化的操作系统或减少图像大小。
本文将介绍新开发的自动化Vitis工作区流。原始的KRS流自动将内核生成到配置在ROS 2包的CMakeLists.txt中的xclbin中,但目前未使用。虽然原始流程允许在ROS 2中直接生成内核,但在开发新内核时,该流程很难使用。由于v++的大部分输出都隐藏在CMake命令之后,开发人员几乎得不到任何反馈。此外,测试和调整配置不是微不足道的,需要在CMake中显式配置。由于直接调用了v++编译器,因此之后不存在以更图形化的方式检查结果的项目,这需要进一步的专业知识。
本文将介绍整个过程的最后一步。在前面的文章中,我们构建了SD卡和sysroot,交叉编译了应用程序,并将内核开发为xclbin文件。现在,我们需要将所有内容放到板子上,设置xclbin位流并启动应用程序。
该项目旨在创建一个开放的,制造商友好的机器人平台,提供实时的,完全在设备上的手部检测和跟踪,所有这些都完全由边缘计算驱动。它在设备内置的神经处理单元上运行Edge Impulse优化的YOLO-Pro对象检测模型,以极低的功耗提供超过60 FPS的低延迟推理。ROS 2作为实时编排主干,清晰地分离感知、控制和驱动节点,这使得系统在手势识别、远程操作或协作机器人等应用程序中具有高度可扩展性。
该项目展示了一个自主的类人机器人,利用粒子速子和高通人工智能加速器来检测和踢球,使用边缘脉冲训练的YOLO-Pro模型。机器人利用ROS 2实现感知、决策和运动控制的无缝集成。YOLO-Pro模型可实现高精度的实时球检测,并针对高通AI加速器的边缘部署进行了优化。该系统处理视觉输入,规划轨迹,并自动执行精确的踢脚动作。这种创新的设置展示了嵌入式人工智能、边缘计算和机器人技术在动态、现实世界任务中的协同作用。