碎碎思 · 3月25日

FPGA 助力智能机器人应用

今年开年 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 接口。

image.png

IO Switch:这是一个自定义 IP 组件,最初用于 PYNQ 框架支持 MicroBlazes。它能在运行时更改 Pmod 连接器上 UART、I2C、SPI 和 GPIO 的 IO 配置及引脚设置,方便连接各类传感器、执行器和驱动器。

项目教程

第一个项目:由于 KR260 运行 Ubuntu,该教程详细介绍了如何为 KR260 添加新的自定义 PL IP、按需修改设备树并重新配置系统,使新设备树在下次启动时生效。这对于使用基于 Ubuntu 的 MPSoC 开发板的开发者来说非常实用。在 A53(运行 Ubuntu)和 MicroBlazes 之间的通信方面,使用 remoteproc 管理四个 MicroBlazes 上运行的软件生命周期。

Image

Image

第二个项目:在第一个项目搭建的硬件和 Ubuntu 配置基础上进行扩展,让运行在 MicroBlaze 处理器上的软件使用 MicroRos。这使得连接到 PL 以太网 TEMAC 的两个 MicroBlazes 能够将数据发送到通过网络运行的 Micro ROS 代理,该代理可以在与网络连接的任何设备上运行,如 x86 设备或 Kria。

Image

感兴趣的读者可以通过以下链接深入探索项目内容:

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 干货请关注FPGA的逻辑技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
10654
内容数
613
FPGA Logic 二三事
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息