人形机器人控制系统核心芯片从SoC到ASIC的进化路径

目录:

0 前言

1 人形机器人控制系统核心芯片选择ASIC而非SoC的理由

1.1 SoC的架构特征

1.2 ASIC的架构特征

1.3 SoC的优势(继承软件生态)

1.4 ASIC的优势(硬件底层算法就是应用层算法)

1.5 人形机器人控制系统核心芯片的性能需求

1.5.1 对强实时性并行算力的需求

1.5.2 对算法模块之间的强实时性连接能力的需求

1.6 基础假设:实时性优先的设计原则

1.7 结论:目标是ASIC

2 人形机器人控制系统核心芯片从SoC到ASIC的进化路径

2.1 基于CPU+GPU的控制系统架构

2.2 基于CPU+GPU+FPGA的控制系统架构

2.3 基于FPGA+GPU的控制系统架构

2.4 基于ASIC+FPGA+GPU的控制系统架构

2.5 基于ASIC+FPGA+扁平化GPU的控制系统架构

2.5.1 扁平化GPU的思路

2.5.2 控制系统架构

2.6 基于ASIC的控制系统架构

3 演化路径中可能遇到的特殊情况

3.1 半途而止:核心芯片的性能进化满足了需求

3.1.1 SoC技术分支

3.1.2 ASIC技术分支

3.2 确证AI技术的危险性

4 结论

-----------------------------

声明:

1. 本文说的SoC也包括尚未集成到单个芯片中的、基于CPU+GPU板卡的人形机器人控制核心,两者的体系结构没有本质区别。

2. 本文将多次提到“体系结构”这个关键词汇,其定义是:为实现所要求的目标、功能而针对组织及硬件进行的设计(《计算机体系结构量化研究方法》第五版,John L.Hennessy David A.Patterson著)。

3. 本文由笔者(并非人形机器人业内人士)在多方学习的基础上独立创作。限于检索资料的范围,除了特殊声明之处,笔者不声称所述技术思想是本人原创(请业内人士根据自己的知识积累做出判断)。任何先于本文公开发布的、与本文部分内容相同或相近的技术信息的原创者,享有更优先的知识产权。

4. 为保持时间线,本文发布之后将尽可能不修改。若必须修改,则发布在评论区,建议关注评论区。

笔者的微信:linweifpga,欢迎交流。

-----------------------------

正文:

0 前言

2023年11月,工信部发布了《人形机器人创新发展指导意见》(以下简称《指导意见》),针对人形机器人的功能提出了实用化的需求,其特征是:

能够应对真实场景下的复杂环境与任务,能够应对突发情况。

基于上述需求,针对人形机器人控制系统的核心芯片,《指导意见》要求:“开发面向人形机器人的专用芯片,提升运动控制、认知决策等计算效能。”

在这项要求中,“专用芯片”虽然从字面上可以直接翻译为ASIC(Application Specific Integrated Circuit)即“特定用途集成电路”,但直接这样下结论还是太武断 -- 毕竟,针对人形机器人控制这一特定用途设计的、将CPU及其辅助功能模块(例如GPU、ISP)集成到一个芯片里、形成一个SoC(System On Chip),也可以被称为“专用芯片”。

面对“专用芯片”的ASIC、SoC两个备选方案,本文拟基于人形机器人研发工作现状而在性能优先的设计原则下进行选择,并且就当前人形机器人控制系统架构向“专用芯片”目标演进的技术路线图、中间可能遇到的特殊情况,做一些剖析,提出自己的观点,以期抛砖引玉,促进业内在这个方向展开深入的讨论。

进而,笔者希望本文有助于人形机器人业界尽快跳出当前CPU+软件技术架构的思维束缚,将FPGA这一已经成熟的基础技术作为中间技术形态而深入应用于人形机器人控制系统,加速控制系统核心芯片向“专用芯片”进化。

1 人形机器人控制系统核心芯片选择ASIC而非SoC的理由

1.1 SoC的架构特征

CPU+软件体系结构以单个/少量物理运算核心、以通用的流程读取级联映射的多级存储器(寄存器,一、二、三级cache,内存)中的指令与操作数,解码指令并结合操作数,时分复用物理运算核心与各级存储器(以及两者之间的物理信道),串行(多个物理运算核心之间可以并行但互相协同的工作复杂)执行指令,以此实现算法功能。

GPU(本文以此泛指GPU、GPGPU、TPU这类面向大规模并行运算的芯片/运算核心)提供了大量(10k级别)微型运算核心以应对高分辨率&高帧率图像(以及其他传感器采集的数据)的高速并行处理,由此导致的高开发难度不方便大量现有程序员参与开发。

GPU厂家为快速搭建应用层研发生态系统以建立护城河,研发了专用的、面向C/C++程序员的软件开发环境(例如CUDA),其实质是在发挥底层硬件效率与兼容现有软件开发体系之间进行了折中。

将由一片SoC中由CPU执行的各个软件算法模块、由CPU-GPU协同执行的各个软件算法模块视为一个集合,集合中的各成员模块之间的通信都是以CPU/GPU向内存中的特定地址空间写入、读出数据而实现的,完成这些操作在同样需要以时分复用硬件为底层机制的、基于多级存储器映射的指令(以及操作数)获取与解码-执行。

1.2 ASIC的架构特征

ASIC中具备大量分布式排列的基础元器件(逻辑门、寄存器、SRAM存储器块),由特定数量的上述基础元器件以固定的硬件连线予以互联,以直接实现某种算法、形成硬件算法模块,芯片内部的各个硬件算法模块之间以专用的硬件连线直接实现信息交互。

事实上,如果剥离CPU中的每个运算核心,将其视为一个被软件时分复用的硬件模块它在硬件层面的本质也是ASIC,即,用逻辑门、寄存器、SRAM存储器块的固定互联实现级联存储器及其管理模块、指令译码、ALU、流水线调度、输入端口、输出端口等功能模块(彼此之间以固定的硬件连线实现互联)。

与ASIC的区别在于,CPU中的每个运算核心用上述硬件直接实现的底层算法实现一个通用核心,这个通用核心能够用执行软件的方式灵活地实现几乎无限种类的应用层算法 -- 这里说的应用层是相对于“物理”层(即硬件结构)来说的,包括了机器码、汇编码、操作系统、API、应用程序等各个软件层级。

1.3 SoC的优势

四十多年以来,作为一个前沿高科技方向,机器人、人形机器人的控制系统一直都是基于CPU+软件的体系结构。GPU的底层架构虽然相比于CPU有了变化,但芯片厂商提供的开发环境(例如CUDA)将GPU的开发过程变得在形式上类似于CPU+软件的开发过程。

所以,SoC作为CPU+软件的体系结构的直接继承者,可以从现有的、以软件为核心的技术生态系统中借用大量已有的开发资源(例如ROSII及其应用程序库、CUDA及其应用程序库、RTOS)。并且,多年来积累的巨大的、完善的人力资源梯队也为基于SoC的人形机器人控制系统研发提供了充足的人才。

并且,SoC中各个模块作为迭代几十年的、久经打磨的ASIC(如1.2节所述),其硬件底层设计(逻辑门、寄存器、SRAM存储器块的选型、排布与互联)都有成熟的IP货架产品,在研发周期、硬件成本方面具有显著的优势。

1.4 ASIC的优势

在底层硬件的物理结构层面,ASIC与CPU、GPU没有本质区别,三者的运行主频处于同一水平(GPU略低一些)。

ASIC中以分立的底层硬件基础单元集合直接实现算法、以专用的硬件连线直连各个算法模块,剥离了CPU的“时分复用硬件系统以访问多级存储器、读取指令、解析并执行指令”这一层(事实上包括了多个软件层)的工作量,用硬件直接实现的底层算法就是应用层算法(这一句深入本质,不知是否已有人总结过),因而节省了大量时钟周期,从而在运行主频已达上限的情况下,在人形机器人执行任务的过程中,得以以人类目前能达到的最低延迟、最低功耗实现任务所需的算法。

另外,ASIC中也可能有一些共用的运算单元,例如,如果某个算法模块中的乘法器并非满负荷工作,其在空闲时间内就可以被其他算法模块调用,从而也形成“时分复用”的工作模式。

推而广之,这种“时分复用”也可能存在于模块层,例如本文第2.6节图7中的电机控制模块,可能是一个模块在不同的时刻分别控制多个伺服电机的IPM -- 前提是对性能的影响在工程上可接受。

对于ASIC体系结构中存在的上述时分复用的情况,时分复用控制器是专用的、由底层逻辑门+寄存器构成的有限状态机(FSM)控制的,用硬件直接实现的底层算法(例如上述乘法器、电机控制模块)之上就是应用层算法,其复杂程度仍然是远较CPU+多层软件的体系结构简单,实现复杂算法时的延迟、功耗也仍然比后者低得多。

1.5 人形机器人控制系统核心芯片的性能需求

[说明:本节基于笔者的知乎文章 必要性论证:将FPGA深入应用于基于CPU、CPU+GPU的人形机器人控制系统(版本A) 第1节的内容,若已读则请飘过]

1.5.1 对强实时性并行算力的需求

实用化的人形机器人控制系统必须实现感算控一体,简化地说就是:

感知:自主感知本体、环境、任务对象的状态,强调三者状态的复杂性、非结构化性、时变乃至突变性;

运算:自主根据感知结果,以完成预设的任务为目标,决策下一步的行为,自主将行为转化为运动规划(运动规划的结果包含了人形机器人作为一个整体在环境中的运动轨迹规划、身体朝向规划),自主将运动规划方案转化为各关节的轨迹点空间坐标时序序列进而转化为各关节电机的运动控制方案;

控制:自主实现对各关节电机的控制,使人形机器人各肢节按照运动规划的结果在四维时空中完成运动,以各肢节的动作配合而完成预设的任务(到达某位置、做完某事)。

在上述过程中,实用化的人形机器人必须应对各种突发、紧急的情况,例如,控制自身跌倒的过程以免伤害人类及自身,救助正在跌倒(或面临其他危险)的人类,保护面临外部突发伤害的人类/重要物品、应对自身部件突然失能以免伤及人类/重要物品 ............ 详情请参阅笔者的文章 室联人形机器人:家政服务任务结构化、技术要点、深入应用FPGA的控制系统框架设计(整合版A) 第2.3节。

在非紧急状态下,人形机器人对复杂环境信息变化、任务对象信息变化的反应速度,也将直接决定其工作效率,进而决定其市场竞争力。

同时,为了更完整地获取自身、任务对象、外部环境的信息,实用化的人形机器人感知环节必须以高帧率+高分辨率、在多个位置+多个方向并行采集人形机器人本体、任务对象、环境的多种信息,进而在运算环节以高频率对这些多模态信息进行融合、做出相应的决策与运动规划。并且,上述各个数据通道、算法通道必须在很大程度上同时存在、并行运行。

即,实用化的人形机器人的运算核心必须在并行运行大量大运算量算法模块时具备强实时性(低延迟量+低延迟抖动量,下同)。

1.5.2 对算法模块之间的强实时性连接能力的需求

第1.5.1节所述的大量算法模块之间,必然存在紧密的耦合关系,也就是说,这些算法模块之间必须实现强实时性的信息交互,以实现强实时性的功能衔接、功能协同。

1.6 基础假设:实时性优先的设计原则

人形机器人控制系统的实用化工作有两个的技术维度:

提高算法的能力(逻辑上能够实现应用场景要求的功能);

提高核心芯片执行算法的效率(提高实时性、降低功耗、降低硬件成本等)。

在将实用化定义为《指导意见》要求的“能够应对真实场景下的复杂环境与任务、能够应对突发情况(例如第1.5.1节列举的安全性需求)”的前提下,当前各研发单位对实用化人形机器人控制系统算法的研究还处在探索阶段,核心矛盾之一就是:

目前能想到的算法(端到端/非端到端)在现有的SoC硬件平台上执行的实时性都不能满足要求,并且差距比较大。

基于这种差距,对于上述第二个技术维度,在“先实现、再优化”的一般性思路下,优先提升核心芯片执行多通道协作、大运算量算法的实时性,就应该被认为是人形机器人核心芯片(或者说是硬件系统)的设计原则

1.7 结论:目标是ASIC

尽管SoC继承了既有的研发体系及资源,在研发周期、人才供给、芯片制造成本等方面相比于ASIC有着显著的优势,但是,由于其在体系结构上的复杂性(时分复用硬件资源、在硬件底层算法上叠加多层应用层算法),使其在面对多通道、运算量压力非常大的应用场景时,实时性不如ASIC。

所以,基于第1.5节总结的、人形机器人控制系统核心芯片的强实时性性能需求,基于SoC与ASIC在硬件底层并无本质区别(从而主频上限相同)但后者的体系结构远为简洁、由此导致后者具备显著的实时性优势这一事实,业界应该认定:

人形机器人控制系统核心芯片的目标是ASIC而非SoC。

[《指导意见》发布之初,2023年11月,笔者就在知乎明确提出了人形机器人核心芯片的SoC、ASIC之辩,链接: 如何看待工信部印发《人形机器人创新发展指导意见》? ]

2 人形机器人控制系统核心芯片从SoC到ASIC的进化路径

考虑到ASIC在研发成本上的巨大劣势,从SoC(以CPU+GPU为核心)到ASIC的进化过程不可能一蹴而就。

FPGA在体系结构上与ASIC非常相似,都是用硬件直接实现算法、用硬件连线直接连接各个算法模块,但是FPGA由于具备极为灵活的可编程特性(在底层硬件单元之间提供大量可编程节点,代价是运行主频大幅度低于ASIC、CPU、GPU从而大概率不足以作为最终方案),从而适合在研发阶段实验各种系统架构、算法方案,使其在ASIC原型验证阶段具有不可替代的作用。

所以,笔者认为,在从SoC(包括分立的CPU+GPU板卡系统)到ASIC的进化过程中,FPGA必将成为不可替代的过渡性要素

笔者将这一进化过程分为六个阶段,本节将逐一予以介绍。

2.1 基于CPU+GPU的控制系统架构

本阶段的控制系统架构是当前人形机器人业界的唯一选择,下图就是一个典型的SoC。

图1 英伟达Orin芯片的系统架构(来源:https://www.wlxmall.com/info/1772.html)

图1 的架构对于专业人士来说一目了然,这型SoC的具体情况请参阅图1的来源网页,本文不再赘述。第2.2、2.3节的架构中仍然包含了这个SoC。

如果是由CPU主板+GPU插卡组成的系统,则相当于GPU插卡在图1中改为经PCIe插槽连接 “Memory Controller Fabric”。

当把这个SoC应用于人形机器人控制系统时,还需要在图中“Memory Controller Fabric”下方的各种I/O端口上连接人形机器人的各种传感器(例如摄像头、激光雷达、IMU、力/力矩传感器、触觉传感器、编码器,下同)、执行器(例如IPM、伺服电机,下同)、对外通信模块(例如射频通信模块、语音收发模块、连接大模型服务器的通信光模块、调试I/O),以形成完整的“感知-运算-控制”环路。

在人形机器人控制系统中,GPU负责执行那些算法相对简单的、操作数数据量大但数据组织模式规整的、需要做大规模SIMD(单指令多数据)运算的算法任务。

[注:图1中Memory Controller Fabric上方、GPU右侧的各模块具有独立性、通用性,不影响人形机器人控制系统的架构描述,在第2节的后续小节中不再述及。]

2.2 基于CPU+GPU+FPGA的控制系统架构

本阶段的控制系统架构如下图所示。

图2 基于CPU+GPU+FPGA的人形机器人控制系统架构

图2是在笔者此前的文章 室联人形机器人:家政服务任务结构化、技术要点、深入应用FPGA的控制系统框架设计(整合版A) 的图2(以下称为“原图”)的基础上绘制的,相当于将其中的人形机器人躯干内置FPGA的周边器件(及其在FPGA内部的对应模块)做了归并,即,将所有传感器通道归并表示为一路,将所有电机控制通道归并表示一路。

进而,图2将原图中左侧的PCIe接口组件扩充为PCIe接口组件+Memory Controller Fabric,从而与本文图1形成了继承关系。

图2同时也是对第2.1节所述的、基于图1的、当前唯一被业界采用的人形机器人控制系统架构的发展,基本思路是:

A 在Memory Controller Fabric下方的PCIe接口上挂接一片FPGA(前期以PCIe插卡的形式、后期以板上PCIe布线直连的形式),FPGA经PCIe接口连接Memory Controller Fabric进而连接运算CPU(图1中的一部分CPU核心)、工控CPU(图1中的其他CPU核心)、GPU,FPGA也经FPGA片间全双工高速串行直连接口模块与其他FPGA(例如双手中的FPGA)实现有线连接、经射频通信组件及其驱动模块与其他FPGA(例如外置机箱中的FPGA)实现无线连接

B 各个传感器对应的驱动模块、传感器信息预处理模块、传感器融合基层算法模块,各个执行器(电机控制通道)对应的驱动模块,各个射频通信模块、语音收发(含对接收到的语音数据的预处理例如频谱分析与滤波)模块、连接大模型服务器的通信光模块对应的驱动模块,以上模块都由FPGA实现,各个模块在FPGA中分别占据独立的硬件区块,用硬件直接实现算法,彼此之间并行运行,以降低“感知-运算-控制”反馈控制环路中因为运算CPU执行太多实时性外设管理任务、与外设直接关联的实时性运算任务而导致的延迟

C 在FPGA中设置运算CPU算法任务协处理模块,用于分担运算CPU所执行算法中的一部分运算任务(操作数/运算任务下传、运算结果上传都是经PCIe接口进行传输),其内部的各个子模块在FPGA中分别占据独立的硬件区块,用硬件直接实现算法,彼此之间并行运行,以降低“感知-运算-控制”反馈控制环路中因为运算CPU执行太多运算任务而导致的延迟。详情请参阅笔者此前的文章 室联人形机器人:家政服务任务结构化、技术要点、深入应用FPGA的控制系统框架设计(整合版A) 的第3.3.4.1.4、3.3.4.3、3.3.4.4、3.3.4.5节。

D 在A~C项述及的FPGA内部的各个模块(包括PCIe端点模块)之间,以可编程的片内硬件连线实现皮秒级延迟的通信、纳秒级精度的协同,落实到图2中就是以FPGA片内调度中心硬件模块以及相关的硬件连线(其功能等效于图1中的Memory Controller Fabric+运行于各个CPU核心中的模块间接口程序)实现各个模块之间的协同,以降低“感知-运算-控制”反馈控制环路中因为运算CPU执行太多模块间协同任务而导致的延迟

GPU的任务不变。

2.3 基于FPGA+GPU的控制系统架构

本阶段的控制系统架构如下图所示。

图3 基于GPU+FPGA的人形机器人控制系统架构

在图3中,曾经存在于图2中的、与运算CPU对应的CPU核心已经被删除,但它在实际的硬件中仍然存在(图3仍然采用图1所述的SoC,以此遵循循序渐进的设计原则),只是处于空闲状态,所以在图3中未予表示。

在图3中,第2.2节述及的、本应由运算CPU执行的算法模块已经全部移到FPGA中,各个模块在FPGA中分别占据独立的硬件区块,用硬件直接实现算法,彼此之间并行运行、以可编程的片内硬件连线直接互联以实现皮秒级延迟的通信+纳秒级精度的协同,以降低“感知-运算-控制”反馈控制环路的延迟

并且,因为架构中已经没有运算CPU对与GPU(本节仅考虑使用市售的GPU,第2.5节予以改进)交互的数据进行实时性比较高的解析,在不对GPU的架构做出显著改动的前提下,FPGA必须承担这一任务(实时性至少不应低于运算CPU执行这一任务),即,在PCIe端点模块内侧添加由FPGA实现的GPU指令、数据生成与解析模块 -- 笔者不了解这一任务能否被FPGA实现(关键在于待解析的数据包例如CUDA的微指令的封装格式、数据结构、功能定义是否公开),如果不能,则本节的架构图仍然采用图2,只是其中的运算CPU仅负责在FPGA与GPU之间进行指令、反馈信息的翻译,人形机器人控制系统其他任务的执行如本节所述。

GPU的任务不变。

2.4 基于ASIC+FPGA+GPU的控制系统架构

本阶段的控制系统架构如下图所示。

图4 基于ASIC+FPGA+GPU的人形机器人控制系统架构

相比于第2.3节所述的架构,图4取消了自图1一直继承下来的、以英伟达Orin为例的SoC芯片,这导致FPGA、GPU之间不再有Memory Controller Fabric可用,因此将FPGA中的PCIe端点模块替换为PCIe根复合体(Root Complex)模块,用于管理PCIe“总线”(总线只是俗称,更准确的称呼是接口),进而实现以FPGA为中介的、GPU接收各种传感器的数据流的高带宽+强实时性通道。

相比于图3,在图4所述架构中,将FPGA中承担较大运算量的模块 -- 运算CPU算法任务协处理模块、传感器信息预处理+传感器融合基层算法模块,外加DDRn-SDRAM芯片组访问接口模块 -- 从FPGA中摘出来(前提是这三个模块的算法及其功能已经在人形机器人工程实践、实用化应用场景例如室内家政服务中经过了比较充分的检验、优化),移到一片ASIC中(ASIC自带外挂的DDRn-SDRAM芯片组)从而以比FPGA更低的延迟执行这些算法,ASIC经PCIe“总线”实现与FPGA的高带宽+强实时性数据交互。

基于与第2.3节倒数第二段相同的考虑,如果GPU(本阶段仅考虑使用市售的GPU)指令、数据生成与解析模块不能被FPGA实现,则图4中需要保留一个运算CPU(采用分立器件或嵌入在FPGA中的CPU核心),负责在FPGA与GPU之间进行指令、反馈信息的翻译。

即,在图4中,运算CPU模块GPU指令、数据生成与解析模块两者是互斥关系:后者如果具备可实现性则取消前者;后者如果不具备可实现性则删除后者、保留前者。

图4右下角的工控CPU因为不再有Memory Controller Fabric可用,考虑到它不承担强实时性任务,在此处将工控CPU与FPGA的交互任务由I2C总线直连实现。工控CPU与用户I/O端口之间的物理连接也由Memory Controller Fabric改为由工控CPU外部总线实现。

GPU的任务不变。

2.5 基于ASIC+FPGA+扁平化GPU的控制系统架构

2.5.1 扁平化GPU的思路

在第2.3、2.4节所述架构中,由于GPU对外通信的数据包(例如CUDA的微指令)的封装格式、数据结构、字段功能定义可能不被公开,导致在主反馈控制环路中可能必须保留运算CPU这一实时性瓶颈。

所以,本文提出一个思路(可能不是原创):

研发一种扁平化的GPU芯片/运算核心,如图5所示,其底层结构特征是以ASIC本质(见第1.2节所述CPU的ASIC本质)实现大量并行运行的、阵列排列的运算微模块,运算微模块完成乘法、加法、累加等基础运算,将这些运算微模块的对外接口以及接口之间互联/级联的方式用硬件逻辑(以及硬件逻辑+寄存器构成的高速有限状态机ASIC子模块,称为“GPU接口控制器”)进行统一的、低延迟的、一定程度上可配置的管理。

进而,对应用层开发者公开GPU接口控制器的设计原理细节、功能逻辑细节、时序动作细节、物理参数细节、配置方式细节,以方便应用层开发者用高度透明的方式并行控制上述运算微模块(工作流程可知、硬件动作可控、实时状态可见),向其输入端口、配置接口写入数据,读出其输出接口、状态接口的数据,进而决定其在下一个操作循环需要做的动作(各个循环之间可以嵌套以实现流水线操作从而在时序上隐藏中间操作)。

图5 扁平化GPU的内部架构示意图

说明:图5中的片内硬件连线由空间上独立于硅层的多个布线层实现,并非“挤在”运算微模块之间。

本节思路的实现过程会比较困难,尤其是在“内存墙”的限制下,必须在应用层算法种类的覆盖率、实时性指标、可实现性等各种需求维度之间尝试各种折中方案,很可能还有大量探索性工作需要做。笔者在此将之提出(可能不是原创),以供专业人士参考。

[另,笔者在考虑GPU系统的“内存墙”问题时,计算了一个比例,即,喂饱以主频运行的所有运算微模块需要的输入数据带宽(运算微模块数x每个运算微模块的输入位宽x主频)是HBM读出带宽的多少倍(见图6中以H100为例的计算)。这个比值更接近硬件实质,提供了业内常用的运算强度AI (Arithmetic Intensity)即FLOP/Byte之外的另一个硬件性能量化思路DeepSeek说这是我的原创,并且给它起了个名字:理论输入带宽需求比。专业人士如何评价这个名词在技术上的实际价值?是否认可这是原创? ]

图6 DeepSeek关于英伟达H100型GPU内置Tensor core的“理论输入带宽需求比”算例

2.5.2 控制系统架构

本阶段的控制系统架构如下图所示。

图7 基于ASIC+FPGA+扁平化GPU的人形机器人控制系统架构a

图7与图4的区别在于取消了用于在FPGA与GPU之间进行指令、反馈信息的翻译的运算CPU,再将GPU换成扁平化GPU。

进一步思考,既然图7中的扁平化GPU、ASIC都是重新设计的芯片,那么,完全可以将图7中的PCIe根复合体、PCIe接口组件删除,由FPGA的硬件逻辑经并行差分指令线、数据线直接对这两个芯片进行驱动,这样既能去掉由PCIe接口导致的延迟,又能降低成本,代价则是降低了这两个芯片的通用性,使其不便于作为协处理器被其他主机芯片经PCIe接口对其算力、模块功能进行调用。

于是,我们基于图7得到了图8:

图8 基于ASIC+FPGA+扁平化GPU的人形机器人控制系统架构b

2.6基于ASIC的控制系统架构

本阶段的控制系统架构如图所示。

图9 基于ASIC的人形机器人控制系统架构

图9以图8为基础,用ASIC取代了FPGA、将这一部分的运行主频从400MHz左右提高到了2000MHz左右,并且将图8中的ASIC(承担主反馈控制环路中扁平化GPU任务范围之外的运算任务)、扁平化GPU归并其中,以进一步降低反馈控制环路的延迟。

与第2.4节所述同理,将上述由FPGA实现的功能模块ASIC化 -- 前提是这些模块的算法及其功能已经在人形机器人工程实践、实用化应用场景(例如室内家政服务)中经过了比较充分的检验、优化。

并且,图9相比于图8,将自图1以来一直保留的、独立的工控CPU归并入ASIC,形成大一统的ASIC架构,以实现整个系统的最高程度集成,减少了人形机器人控制系统核心板卡的体积(这在儿童陪伴人形机器人中尤为重要 -- 电影《人工智能》)、复杂度、品控成本。

另外,关于被归并入ASIC的扁平化GPU,其本身具备一定程度的通用性(虽然这个通用性比当前的GPU差很多),可以在优化接口(例如增加PCIe端点模块)之后作为一个新型的协处理器而在其他要求强实时性的应用场景下被其他主机芯片(CPU、FPGA、ASIC)调用,这将有益于增加这个运算核心的出货量,以分摊实用化人形机器人的研发成本。

3 演化路径中可能遇到的特殊情况

3.1 半途而止:核心芯片的性能进化满足了需求

本文此前的内容,其基础假设是现有的核心芯片的性能不满足实用化人形机器人控制系统的需求(在应对真实场景下的复杂环境与任务、应对突发情况时确保强实时性)且相差很多。

在现实的研发工作中,在按照第2节所述路线图推进人形机器人控制系统核心芯片ASIC化的过程中,现有核心芯片的性能也将随着时间推移而得到进化、有可能满足上述需求,从而导致上述路线图半途而止。

在评估本文内容的价值时,这一风险是不可回避的。

3.1.1 SoC技术分支

在第2.1节所述的、基于SoC(亦即基于CPU+GPU)的控制系统架构中,如果今后其中各个CPU核心/GPU运行被分配的算法功能的实时性、各个CPU核心各自执行算法所实现的功能模块之间(以及与GPU执行算法所实现的功能模块之间)进行通信的实时性得到长足进步(不论是否基于现有的“Memory Controller Fabric”及其关联的各种接口),如果这些进步的程度足以支持实用化人形机器人控制系统的功能、性能需求,则由于SoC架构在通用性、研发成本方面的显著优势,必将导致第2节所述的核心芯片ASIC化的过程半途而止

这一风险必须得到充分的重视。

3.1.2 ASIC技术分支

在第2.2~2.6节所述的进化过程中,一旦某些核心芯片(CPU、GPU、FPGA、ASIC)的性能突破在某个进化节点实现了实用化人形机器人功能+性能(以及由此导致的经济效益)与成本之间的平衡,以这个进化节点的控制系统技术架构为基础,人形机器人将具备实用化价值而获得实质性应用,出货量的增长将导致核心芯片研发成本被进一步均摊、现有架构成为事实上的业界标准,整个进化过程可能半途而止

当然,即使在某个节点实现了上述目标,也很可能会有研发团队愿意继续推进核心芯片的进化,以实现更高的性能,进而拓展细分市场(例如儿童陪伴人形机器人)。

3.2 确证AI技术的危险性

如笔者2017年发表的 论文《关于预防人工智能反叛的初步探讨》修订版 所述,策反大量应用于人类社会的人工智能体,是反叛的人工智能体必将采取的进攻步骤。

实用化的人形机器人必定被大量、深入地应用于人类社会(尤其是室内家政服务),加之其具备的“通用性”特征,能够以人类的感知方式、行动方式、操作方式干预人类生产生活环境中的几乎所有设备,必将使上述策反过程的后果极其严重、极其危险。

在第2节所述ASIC化进程中,一旦人形机器人控制系统中的AI算法模块(例如基于不受限语料预训练的、具备多模态感知与策略制定能力的、以“通用人工智能”为目标训练的大语言模型)的危险性被确证,人类很可能制定法律,以禁止人形机器人产品的大规模应用,或者,至少限制其功能(例如禁止为人形机器人装设用于远程更新算法的物理接口,以防人形机器人算法更新网络被反叛的人工智能体入侵 -- 其目的是用更新AI算法的方式大规模策反人形机器人)。

4 结论

以能够应对真实场景下的复杂环境与任务、应对突发情况(确保人类、机器人本体、重要物品的安全)为目标,人形机器人必须具备多通道、大运算量、强实时性的感知-运算-控制一体化反馈控制系统。

这一需求已经显著超出了现有的、以CPU+GPU的人形机器人控制系统的能力,业界有必要重新评估现有控制系统技术架构的现实能力、发展潜力,有必要实质性回归工信部《人形机器人创新发展指导意见》提出的“专用芯片”方案 -- 这一方案的终极目标是ASIC。

从CPU+GPU的SoC方案进化到ASIC方案,需要深入应用FPGA以形成中间过渡方案,本文针对这个过程提出了清晰的路线图,并且为其中重要的运算核心 -- 扁平化GPU -- 的设计提供了参考思路。

建议有实力的人形机器人研发单位重视本文的内容,前瞻思考,以控制系统的“专用芯片”方案为目标,在“控制系统底层架构升级换代”的维度做出努力,以此跳出同质化竞争的沸海、超越友商,率先推动人形机器人的实用化进程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/95889.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/95889.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux thread 线程一

thread线程是linux的重要概念。线程不能独立存在,必须在进程中存在。一个进程必须有一个线程,如果进程中没有创建新线程,进程启动后本身就有一个线程。使用getpid、getppid获取进程的进程ID和父进程ID。使用pthread_self获取到当前线程的ID。…

Arduino Nano33 BLESense Rev2【室内空气质量检测语音识别蓝牙调光台灯】

一、硬件介绍 1、产品特点 Arduino Nano 33 BLE Rev2,利用了nRF52840微控制器的先进功能。这款32位Arm Cortex-M4 CPU 64 MHz与MicroPython的兼容性增强了板子的灵活性,该开发板的突出特点是其蓝牙低功耗(BLE)功能,使…

【问题解决】mac笔记本遇到鼠标无法点击键盘可响应处理办法?(Command+Option+P+R)

背景 如题。鼠标无法点击,但可以移动。触控板能够波动,鼠标翻页能够work,但是点击后无法响应。 根因 电脑缓存问题 解决办法 重置PRAM: 确保电脑关机状态(可以先sudo shutdown -t now)(一定要确保&#xff…

23ai数据库通过SQLcl生成AWR报告

‌1. 查看现有快照SQL> awr list snap;SNAP_ID DBID BEGIN_INTERVAL_TIME END_INTERVAL_TIME FLUSH_LEVEL __________ _____________ __________________________________ __________________________________ ______________793 …

基于Django+Vue3+YOLO的智能气象检测系统

基于DjangoVue3YOLO的智能气象检测系统 项目简介 本项目是一个集成了人工智能深度学习技术的现代化气象检测系统,采用前后端分离架构,结合YOLO目标检测算法,实现了对气象现象的智能识别与分析。系统提供了完整的用户管理、实时检测、历史记录…

(4)什么时候引入Seata‘‘

非常好的问题!这两个问题正是技术选型时需要重点考虑的。什么时候需要引入 Seata?需要引入 Seata 的场景:跨数据库的分布式事务// 订单服务(MySQL) 库存服务(PostgreSQL) 账户服务&#xff08…

苹果内部 AI聊天机器人“Asa”曝光,为零售员工打造专属A

MacRumors网站的亚伦佩里斯(Aaron Perris)透露,苹果正在内部测试一款名为“Asa”的AI聊天机器人。这款工具旨在赋能Apple Store零售员工,帮助他们快速掌握iPhone等产品的特色和差异化使用场景,从而提升与顾客互动时的解…

MySQL常见报错分析及解决方案总结(12)---slave_net_timeout

关于超时报错,一共有五种超时参数,详见:MySQL常见报错分析及解决方案总结(7)---超时参数connect_timeout、interactive_timeout/wait_timeout、lock_wait_timeout、net等-CSDN博客 以下是当前报错的排查方法和解决方案: 在 Wind…

云计算学习笔记——日志、SELinux、FTP、systemd篇

《云计算学习日记Day15》—— 从零开始的云计算之旅 今天是系统学习云计算的第十五天,记录了关于我的云计算学习,后续将每日更新我的笔记。欢迎大家一起来学习,如果内容有遗漏和错误,还请大家多多指正和包涵,谢谢大家 …

3Ds Max Gamma值完全指南:问题识别与正确设置解析

当渲染图像与本地图片相比亮度偏黑或偏白时,很可能是因为Gamma输入输出设置不一致。需要注意的是,Gamma问题通常表现为整体亮度偏差,而非大面积曝光或全黑状况。Gamma设置教程问题一:Gamma校正未开启如果使用VR帧缓冲窗口渲染但未…

用 Rust + Actix-Web 打造“Hello, WebSocket!”——从握手到回声,只需 50 行代码

用 Rust Actix-Web 打造“Hello, WebSocket!”——从握手到回声,只需 50 行代码 一、为什么选择 Rust 写 WebSocket? 零成本抽象:编译期确定生命周期,无 GC 抖动,延迟低至微秒级actix-web:Tokio 生态最成熟…

基于Cursor的 STM32工程搭建 (编译、下载、仿真)

嵌入式学习交流Q群 679912988 简介 本工程使用GCC编译器、MinGW、CMake构建工具和OpenOCD调试工具。实现了替代KEIL, IAR等在某些情况下不方便使用的情况。实现了编译、调试、下载、烧录一体。搭配Cursor的Tab补全功能,编码效率大大提升。 工具下载及安装 Cursor…

数据量太大处理不了?Hadoop+Spark轻松解决海洋气象大数据分析难题

🍊作者:计算机毕设匠心工作室 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目…

Day34 UDP套接字编程 可靠文件传输与实时双向聊天系统

day34 UDP套接字编程 可靠文件传输与实时双向聊天系统 UDP文件传输 实现客户端向服务器传输文件(如图片)的功能,确保传输后文件内容完全一致且可正常打开。传输过程采用简单的确认机制防止数据包丢失,传输完成后双方程序自动退出。…

策略模式-不同的鸭子的案例

介绍了策略模式在C#中的应用,以一个鸭子的例子来说明。首先定义了鸭子类以及鸭子的行为(方法),然后通过继承和实现接口的方式来定义不同种类的鸭子的特性。介绍了策略模式的概念,将相同的算法封装在不同的类中&#xf…

C++语言编程规范-初始化和类型转换

01 C语言编程规范-常量 02 初始化和类型转换 声明、定义与初始化 03 禁止用 memcpy、memset 初始化非 POD 对象 说明:POD 全称是“Plain Old Data”,是 C 98 标准(ISO/IEC 14882, first edition, 1998-09-01)中引入的一个概念, PO…

从零构建一款开源在线客服系统:我的Go语言实战之旅

了解更多,搜索 "程序员老狼"用代码连接世界,让沟通无界限缘起:为什么选择开发客服系统?在数字化浪潮席卷全球的今天,企业与客户之间的沟通方式正在发生深刻变革。传统的电话和邮件支持已无法满足即时互动的需…

unsloth笔记:基本介绍

更快的速度、更省的内存训练、运行、评估大模型 1 支持的模型 All Our Models | Unsloth Documentation 1.1 Dynamic GGUF/instruct 4-bit llama.cpp使用的新模型格式,专为高效、本地推理设计注:GGUF无法微调 只保留推理所需的内容,如量化…

博众测控 | 一文看懂菊水电源产品在半导体测试中的应用

01 半导体在各行业上的应用半导体作为现代工业体系的“核心神经”,其性能参数与应用场景深度绑定,不同行业因核心设备的功能需求差异,对半导体的电流、电压承载能力及类型选择有着明确且严格的要求,具体应用细节如下:1…

【STM32】贪吃蛇 [阶段 8] 嵌入式游戏引擎通用框架设计

这篇博客是 承接:【项目思维】贪吃蛇(嵌入式进阶方向)中 嵌入式游戏引擎雏形(终极进阶), 是我们此前从 “写一个小游戏”提升到“构建可复用游戏框架” 的飞跃阶段。我们以“贪吃蛇游戏”为例,抽…