文章 |英特尔中国研究院 当你想到英雄HERO时,你会想到谁?是威武的项羽、手握王者之剑的亚瑟王,还是复仇者联盟中的钢铁侠?每个人心中都有一个英雄梦。
今天,我们就来和大家聊聊英特尔中国研究院机器人系统实验室的英雄梦想之旅。
机器人系统实验室的重点之一是构建基于CPU+FPGA的机器人研究异构计算平台。
引入异构平台是因为机器人研究需要同时引入时间和空间计算模型。
CPU作为时间计算模型的完美代表,按照时间顺序一条一条地执行指令,可以实现灵活多变的控制;加速器更像是一种空间计算模型,利用空间并行性一次性完成大量数据处理,使得复杂的计算得到加速。
(更多信息请继续阅读《专栏|CPU+FPGA,机器人最强大脑即将问世》。
) 在这样充满挑战的实验室里,机器人大脑“HERO”诞生了!一、HERO 平台 1、硬件介绍 HERO 平台全称为异构可扩展机器人开放平台。
它是英特尔中国研究院打造的一套低功耗、高性能的智能机器人(包括服务机器人、医疗机器人、自动驾驶汽车等)。
,小尺寸异构系统平台解决方案。
在该解决方案中,CPU作为控制中心,并与FPGA和其他专用加速器芯片(例如Movidius的VPU)配对,以提供高效的性能。
整个HERO硬件系统采用Intel Core?系列CPU,并配备Intel Arria 10 GX系列FPGA作为异构加速器。
(HERO平台硬件结构) Intel Core?是Intel主流架构CPU系列。
与传统PC相比,其在办公、游戏和视频处理方面的性能都有大幅提升,并且具有丰富的IO功能并提供各种高速和低速接口。
HERO 平台搭载第七代 Core? i5-T。
具体性能指标如下: FPGA方面,HERO平台采用Intel最新产品——Arria 10 GX。
该产品资源丰富:内部集成了K个逻辑单元,可以作为算法处理的基本功能单元;还集成了单精度浮点乘法器和加法器硬核,计算能力大幅提升,最高速度可达1. TFLOPS;全面的片上丰富的存储布线资源和外部高速存储器接口保证了FPGA在机器人控制算法和神经网络推理方面的性能加速。
CPU和FPGA通过第三代8通道PCIe高速接口进行通信,带宽可达80Gbps。
目前整个系统采用紧凑型主板叠加全高半长PCIe板卡,保证其物理尺寸控制在17cm(长)×17cm(宽)×9cm(高)以内。
娇小精致的身材可以解决机器人空间体积有限的问题,并且可以在性能和功耗之间取得良好的平衡。
最大限度地降低功耗,同时尽可能提高性能。
整机最大功耗预算不超过90W。
与使用GPU作为加速器、往往消耗数百瓦电力的系统相比,HERO平台的功耗是不是低得让你超级兴奋呢?如果你眼尖的话,一定发现了,A10 FPGA PCIe加速卡是由两层电路板组成的。
是的你是对的! FPGA加速卡由两部分组成:FPGA核心模块和IO模块。
核心模块由FPGA和高速DDR4存储器组成,是系统的核心部件。
其尺寸为12cm(长)x 8cm(宽),通过FMC连接器提供约10个可配置IO,其功能可由用户定制。
这样,FPGA核心模块通过连接IO模块,可以提供客户定制的外围接口,如I2C、I2S、串口、USB、网口等,从而访问所使用的传感器和执行单元。
机器人并完成相互通讯。
。
2.设计Flow来支持传统的FPGA编程方法让大多数软件工程师望而却步,但HERO平台给大家带来了好消息。
除了传统的专业编程模式外,HERO平台专门定制的BSP(Board Support Package)还支持基于OpenCL的流程开发,为广大算法和软件工程师提供了友好的编程接口。
(OpenCL系统开发图) 上图展示了定制系统支持OpenCL Flow所需的软件和FPGA硬件支持。
可见,对于用户定制的SDK,需要在主机系统侧提前定义内存映射,并在FPGA侧提供完整的数据路径和控制路径,以支持实时动态OpenCL 内核的加载和操作。
作为定制化的SDK平台,为了支持OpenCL Flow,完整的FPGA板级支持包(Board Support Package)被移植到HERO平台上,作为HERO SDK的组成部分提供给用户。
现有HERO SDK BSP的FPGA逻辑部分主要包括高速通信接口PCIe IP核、存储器DMA控制器、片外高速存储器DDR4接口以及与FPGA内部模块的通信接口。
如果用户想增加FPGA与外部接口的通信,HERO平台也有相应的BSP参考设计,可以指导客户更好更快地实现各种灵活的外部接口。
2、HERO平台的优势。
这么长的专业介绍,是不是让你有点晕(yun)了?别担心,这里总结了HERO平台的优点: 体积紧凑:设计紧凑、体积小,可以轻松集成到各种机器人或车辆中。
如果应用仅需要FPGA进行算法加速,平台的尺寸可以与核心模块的尺寸大致相同,整个设计会更小。
如果需要引出IO接口,用户也可以根据需要定制IO板。
高灵活性:精心设计的双板结构——核心板和IO板,两块板相互独立。
核心板主要负责算法和控制,IO板管理各种传感器。
这样设计的好处是方便不同的用户量身定制设计。
FPGA的选型可以根据算法的复杂程度进行调整,IO的配置也可以根据应用需求进行调整。
做一个切口。
你对你的机器人有最终决定权,你对你的IO有最终决定权!如果您对算法实现不满意,可以更改;如果您对IO连接不满意,可以更改;如果您对系统结构不满意,您仍然可以更改它。
是不是很棒?接口丰富:HERO平台提供约IO接口供您选择。
支持高达16Gbps的高速串行接口,向下还可以容纳各种低速接口。
它可以支持视觉、控制、自动驾驶等应用。
如果你不想改变任何东西,只想直接使用,没问题! HERO平台提供的基础IO模块都为您精心设计了各种可能用到的高速或低速、常用或不常用、标准或非标准的接口,基本上可以满足您的所有想法。
听起来是不是很令人兴奋? 3、HERO平台的应用 HERO平台的应用前景广阔。
以服务机器人为例,其主要功能是帮助人们完成任务和动作。
为了实现这一目标,开发人员需要在机器人上实现各种复杂的应用控制技术,包括视觉、定位、运动、抓取等。
FPGA在这些关键应用中可以发挥巨大的价值,使得复杂算法的处理高效、真实。
时间,给用户良好的体验。
此外,HERO平台上移植的同步定位与建图(SLAM)算法比单独使用CPU提升了十倍以上,让机器人不再“迷路”。
该平台还集成了当今最广泛的抓取平台——MoveIt! ,并在此基础上,我们对运动规划、碰撞检测等核心问题进行了研究,实现了机器人实时、高精度的运动规划。
4.英雄,欢迎你的加入。
您对 HERO 平台感兴趣吗?您渴望尝试 FPGA 开发吗?您对未来的智能机器人充满期待吗?我们致力于将HERO打造成一个完整、高效、开放的平台,欢迎您的参与与合作。
合作联系人:Patricia Wang patricia.p.wang@intel.com 其他预测未来。