
对机器人来说最重要的是什么?
能够剧烈反弹的复杂机械设备?各种昂贵的传感器?还是以EVE之类的可爱神的形式征服世界?
不,不,不!最重要的是: 能够在复杂的环境中完成特定任务并成为使人民受益的机器人.
为了实现这个崇高的目标,机器人必须注视着这六个路径,倾听所有方向,行走世界,并拥有胸部. 而所有这些都离不开强大的大脑高性能计算平台和高效的算法.
就计算性能和能效而言,通用处理器越来越难以满足日益庞大和多样化的数据处理要求. 借助由GPU,FPGA,其他智能引擎以及其他协处理器和CPU组成的异构计算平台来提高计算性能,它已成为学术界和工业界的研究热点. 异构计算作为一种特殊的并行计算方法,可以根据其计算结构将不同的计算任务分配给每个计算子系统,这反映了传统架构在提高计算性能,能效比和实时保证方面的不足. 适用于计算需求大的各种场合. 对于数据中心场景,英特尔宣布将通过Xeon + FPGA平台和Xeon Phi系列产品来促进异构计算的实现.
那么,我们关心的机器人领域的情况如何?


首先,机器人需要什么样的计算平台?
机器人是复杂的机电一体化设备,可以综合利用机械和精密机械,微电子和计算机,自动控制和驱动,传感器和信息处理以及人工智能的最新研究成果.

机器人系统和系统中的传感器
为了整合这些成就并真正形成认知,感觉和行动的能力,以便机器人能够理解和响应现实世界并准确完成操作任务,它所携带的计算平台需要满足各种需求要求,包括: <
1)感知能力: 它具有丰富的I / O接口,支持USB 3,UART,I2C和其他I / O协议以接收各种传感器数据.
2)控制能力: 它可以控制底盘,手臂,手指和头部等各种运动部件,完成多维运动,并具有实时性和安全性.

3)计算能力: 不仅要处理大量数据的处理开销,还要满足各种智能算法的巨大计算需求.
4)功耗控制: 在满足上述功能的同时,必须尽可能降低功耗,并避免成为电池杀手.
5)易于使用: 必须提供友好的编程模型,以使机器人应用程序开发快速准确.
现有的计算平台很难满足上述要求,因此迫切需要构建适用于机器人的异构计算平台! CPU + FPGA解决方案以其独特的优势进入我们的视线.
第二,什么是FPGA
自1985年问世以来,可编程逻辑器件FPGA凭借其在性能,上市时间,成本,稳定性和可靠性方面的优势,在通信,医疗,工业控制和安全领域中占有一席之地. 长期维护. 特别是在过去的两年中,随着云计算,高性能计算和人工智能的繁荣,具有固有优势的FPGA受到了前所未有的关注.
FPGA由六个部分组成: 可编程输入/输出单元,基本可编程逻辑单元,嵌入式Block RAM,丰富的布线资源,底层嵌入式功能单元和嵌入式专用硬核. 英特尔首席执行官Ke Zaiqi曾经说过: “您可以将FPGA视为可以随时进行编程的一堆门. FPGA可以在多个领域用作,例如加密时的人脸搜索,并且可以在几微秒内完成. 重新编程. 它的成本比的单个定制零件低得多,并且具有更大的灵活性. ”

随着技术的发展和技术的进步,FPGA的性能和指标已达到新的高度. 新型Arria10系列FPGA和SoC的功耗比前几代FPGA和SoC降低40%. 他们拥有业界唯一的硬核浮点数字信号处理(DSP)模块,每秒可处理1.5万亿个浮点运算(1.5 TFLOPS).

FPGA的结构
传统上,即使具有上述优点,FPGA的开发难度仍然对许多程序员而言是无法承受的. 但是,随着OpenCL标准的出现,FPGA的应用门槛正在大大降低. 基于OpenCL开发框架,用户可以摆脱基于传统硬件描述语言(HDL)的开发过程,而切换到更高效的软件开发过程,该过程更符合大多数程序员的背景.
OpenCL标准是第一个开放的,免版税的统一编程模型,可以加速异构系统上的算法实现,并支持使用基于C的编程语言(例如CPU,GPU计算平台,DSP和FPGA)进行跨平台开发. 支持OpenCL的异构系统通常通过PCle总线在主机和硬件(或一个没有主机控制的内核和另一个内核)之间进行通信,这不需要程序开发人员的注意. 相反,开发人员只需要了解OpenCL定义的标准化应用程序编程接口(API). 今天,所有主要的深度学习框架都提供OpenCL支持. 英特尔计划启动基于FPGA的CNN的多种网络实现.

OpenCL编程模型

基于CPU + FPGA的三个异构计算平台
我们的机器人系统实验室今年的重点是为机器人构建基于CPU + FPGA的异构计算平台. 根据我们的经验,FPGA在某些关键机器人应用中可以发挥巨大的价值. 例如,我们将机器人自己的定位算法(SLAM)移植到了FPGA中并实现了该算法,该算法的定位频率是CPU的十倍以上,从而使机器人能够以两倍的速度移动而不会丢失方向. ”
为了构建通用的机器人计算平台,我们选择了英特尔为移动平台提供的CPU和Arria 10系列FPGA. 两者通过高带宽,低延迟的I / O接口(例如PCIe)进行通信. FPGA可以包含各种加速模块. 我们将提供一组通用接口,以方便模块开发人员打包和发布现有设计.

用于机器人的异构计算平台
在软件级别,我们将构建加速模块配置,安装和消息传递机制,以方便第三方将所需的加速模块集成到应用程序中,并设计一些常用的定位,控制,视觉识别和对象建模模块以及软件集成包可供用户用作参考设计或直接用作参考设计.
有了这样一个聪明的大脑,机器人将变得更加充耳不闻计算平台,视野开阔,脚步敏捷,手感稳定,融入我们的日常生活中,并为人类提供更好的服务.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-282829-1.html
中国军舰发动机已国产化