今年开年 AI+机器人引爆科技圈,都说 FPGA 是“万能芯”,在 AI 方向上已经挣扎了几年,仍旧不能“破圈”,那么在机器人方向呢?
个人观点我是不太看好目前 FPGA 能在机器人方面能“破圈”,但是一切皆有可能,吾等也不能左右行业发展,我们能做的是多关注相关行业发展,提前学习相关知识,为后续发展做好准备。
接下来说一下本篇文章的主题-使用 FPGA 搭建 ROS 和 MicroRoS。
该系列教程由 AMD 的工业架构师 Tomas Thoresen 在 Hackster 上利用 FPGA 进行机器人应用的探索,下面先介绍一下这个项目:
项目核心架构与技术
使用 Zynq™ UltraScale+™ MPSoC EV (XCK26)在 A53 核心上运行 ROS2,在可编程逻辑(PL 端)部分使用 MicroBlazes 进行传感器接口工作。MicroBlazes 运行 MicroROS,实现与运行 ROS2 的 A53 处理器便捷通信。在 FPGA 上部署四个 MicroBlazes,分别对应开发板上的 Pmod 接口。
IO Switch:这是一个自定义 IP 组件,最初用于 PYNQ 框架支持 MicroBlazes。它能在运行时更改 Pmod 连接器上 UART、I2C、SPI 和 GPIO 的 IO 配置及引脚设置,方便连接各类传感器、执行器和驱动器。
项目教程
第一个项目:由于 KR260 运行 Ubuntu,该教程详细介绍了如何为 KR260 添加新的自定义 PL IP、按需修改设备树并重新配置系统,使新设备树在下次启动时生效。这对于使用基于 Ubuntu 的 MPSoC 开发板的开发者来说非常实用。在 A53(运行 Ubuntu)和 MicroBlazes 之间的通信方面,使用 remoteproc 管理四个 MicroBlazes 上运行的软件生命周期。
第二个项目:在第一个项目搭建的硬件和 Ubuntu 配置基础上进行扩展,让运行在 MicroBlaze 处理器上的软件使用 MicroRos。这使得连接到 PL 以太网 TEMAC 的两个 MicroBlazes 能够将数据发送到通过网络运行的 Micro ROS 代理,该代理可以在与网络连接的任何设备上运行,如 x86 设备或 Kria。
感兴趣的读者可以通过以下链接深入探索项目内容:
https://www.hackster.io/tomas...
https://www.hackster.io/tomas...
总结
第一篇文章(The Right Engine for the Right Task)重点介绍了 KR260 在异构计算方面的优势。它结合了 ARM 处理器、FPGA、GPU 和 AI 引擎,可以根据任务需求分配合适的计算资源,实现高效能耗比,特别适用于机器人视觉、路径规划等计算密集型任务。
第二篇文章(Unifying the Communication Stack)则介绍了 KR260 在通信方面的能力。它支持 TSN(时间敏感网络)、以太网、CAN 总线 等工业协议,能够高效整合不同的通信协议,满足工业 4.0 及协作机器人应用的需求。
该项目只是一个起点,将来作者会扩展该基础项目的功能,增加更复杂的传感器、执行器和可视化功能。
关于 FPGA 在机器人方面的应用大家有什么想法或者经验,欢迎在下方留言讨论~
END
作者:碎碎思
原文:OpenFPGA
相关文章推荐
- 一周掌握 FPGA Verilog HDL语法 day 2
- 一周掌握 FPGA Verilog HDL语法 day 1
- 原来 ZYNQ 的硬件设计如此简单!
- 玩转 JTAG 工具,使用 JTAG Probe”逆向“硬件电路
- 基于 FPGA 的 FIR 数字滤波器设计
更多 FPGA 干货请关注FPGA的逻辑技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。