从局部性能优化到系统架构优化,FPGA在机器人上的应用

描述

想要机器人实现智能化,需要具有敏锐且优秀的感知,同时还能有精准的运控。就感知计算而言,尤其是视觉以及深度学习,计算量往往很大,对器件性能要求高。而且感知算法也在不断发展,这需要对机器人处理系统做不断地更新。
 
就控制而言,FPGA可以应用在分散控制的小节点上,也可以在大节点上应用更高效能的FPGA SoC。区别于MCU,通过FPGA控制的系统最明显的优势点就是驱动反应时间会大大缩短,整个系统的运行速度会有一个较大提升。毕竟MCU是运作在单一节点上的,在不添加拓展的情况下,随着复杂的多轴运算需求越来越高,运作难免会有些乏力。
 
FPGA在机器人应用上的优势很明显,不少厂商也在这块做了很多年,那么在深入应用上又有哪些突破点值得期待?
 
FPGA与运动驱控
 
目前很多机器人本体厂商、机器人控制器厂商用FPGA已经用了很多年了,还有不少本体厂商、机器人控制器厂商现在也在尝试去使用。首先可以明确的一点是,以目前FPGA的性能来说,用在常规的伺服驱动、控制领域,性能甚至是过剩的。机器人的运动性能不仅和伺服控制相关,还与运动算法以及本体的机械结构密切相关。
 
就算法而言,目前大多基于CPU + Linux + ROS + EtherCAT这一技术体系设计,将算法模块从CPU移植到FPGA中,FPGA的优势并没有被充分应用,另一方面在机械设计没有重大革命性进步的情况下,机器人性能的天花板是存在的,难免显得“过剩”。
 
常规的FPGA运动驱控已经有很多案例可循了,将FPGA用于实现SVPWM、三环反馈控制,甚至实现驱控一体。我们挑机器人四大家族中的安川来看,作为工业机器人全球市占率排名前几的厂商,安川的机器人控制器用Intel的FPGA作为ASIC的替代方案。
 
FPGA 
(Intel的FPGA,Intel)
 
Intel FPGA提供了各类可配置的嵌入式 SRAM、高速收发器、高速 I/O、逻辑模块和路由。用在控制上优势也很明显,比起复杂函数计算运行在微处理器上,配备板载数字信号处理,在FPGA上执行高速 32 位双精度浮点运算更容易实现运控所需的精度和速度。Intel FPGA在安川的运控上提供了包括PCI Express在内的多种硬件IP,确保了总线连接的可靠又实现外围逻辑集成。
 
这些可以说仍然是对比CPU+操作系统+ROS架构在局部性能的优化,那深入应用可以往哪里突破?如果将在各轴的控制基础上实时施加变化的微调量,以此实现对各种状态误差导致的最终状态误差进行补偿,将机器人性能进行这种层次的拔高,这或许是超越传统控制架构FPGA实现深入应用的一个方向。
 
FPGA与机器视觉
 
作为FPGA在机器人应用里最火热的方向,视觉被很多厂商视为FPGA打开机器人市场最好的切入口。在机器视觉设计中,不可避免要和现在主流的SoC进行接口设计,这些接口主要以移动产业处理器接口作为标准,集成MIPI CSI硬核的FPGA往往很吃香,比如国内FPGA厂商易灵思的Trion系列。
 
FPGA 
(T20 FPGA,易灵思)
 
在执行图像处理算法与训练好的AI模型时,FPGA是与GPU并列的主流方案,而且在功耗方面具备非常大的优势。并且因为其SOC属性,能够和其他各种功能模块高效协同。从AMD Xilinx的Kria SoM以及瑞萨、易灵思的ProMe SoM来看,目前FPGA厂商很青睐于以System on Module这种形式打入机器人视觉系统。
 
SoM能提供嵌入式处理系统的各种核心组件,包括处理器内核、通信接口和内存模块等。从视频处理到智能传感到机器视觉,这种模块化解决方案让SoM成了嵌入机器人感知系统的理想选择。SoM与其他器件的配合使用不仅可以完成在机器视觉系统上的局部优化,对于整个机器人设计也能给出基于模块化设计的优化。不论是不是以SoM形式切入,将这种模块间的高效协同发挥出最大的效果是FPGA视觉应用值得期待的突破方向。
 
小结
 
目前,在FPGA深入应用方面,国内正处在从局部性能优化(伺服驱动器、机器视觉)到系统架构优化转变的阶段。FPGA目前的性能对于机器人应用来说是过剩的,如何在应用中充分发挥出FPGA的性能与协同性,这是“深入应用”的关键。
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分