目录:
0 引言
1 基于FPGA的机器人控制系统的性能 “过剩”
1.1 基于FPGA的机器人控制系统的应用现状
1.2 控制系统的性能 “过剩”
1.3 控制系统性能 “过剩” 的原因
1.4 导致控制系统性能 “过剩” 的深层因素
2 在机器人控制系统中运用FPGA “过剩” 性能的思路、应用场景
2.1 思路之一:主动补偿多轴机械臂误差
2.2 思路之二:特殊意义上的 “并联机器人”、“协作机器人”
2.3 可能的应用场景:光刻机晶圆传送模组
3 成本问题、FPGA方案的意义
3.1 成本问题
3.2 现实需求与客户认知之间的差距
3.3 高性能门槛与供给侧的难处
3.4 FPGA方案的意义
4 沟通高端机器人产业技术创新生态链的 “三界”
4.1 高端机器人市场的 “互等待” 状态
4.2 高端机器人研发领域的 “互等待” 状态
4.3 高端机器人产业技术创新生态链的 “三界”
4.4 以高端机器人研发单位为核心沟通 “三界”
正文:
0 引言
此前写了一篇文章《关于在机器人领域深入应用FPGA技术的一些思考》,其中依据自己对机器人系统、计算机体系结构、操作系统、ROS(Robot Operating System,机器人操作系统)、FPGA技术的理解,深入分析机器人反馈控制环路中的三个阶段:信号采集、数据处理、指令执行,定性分析ROS架构在各阶段的性能瓶颈,有针对性地提供了基于FPGA架构的解决方案;给出了在机器人领域深入应用FPGA技术的基本思路、实施方法。
文章发布之后,有位机器人专业人士私信和我进行了交流,从行业的现实情况出发谈了一些看法,其中最具代表性的就是 “现有基于FPGA的控制系统的性能是‘过剩’的”。
我围绕与此相关的几个问题与他进行了一些探讨、提出了一些观点,现予充实、记录,作为上述文章的续篇。
1 基于FPGA的机器人控制系统的性能 “过剩”
1.1 基于FPGA的机器人控制系统的应用现状
基于FPGA实现机器人伺服驱动、运动控制一体化(驱控一体)控制系统的研究已经有很多单位在做,在上述文章的评论区有人告知,相关产品已经推出并且经过了大规模市场应用的检验。
另外,有位知友在私信中告知,他们公司六、七年前机器人的控制器产品已经在用FPGA。
1.2 控制系统的性能 “过剩”
某位业内人士强调,机器人运动性能取决于控制器、伺服、算法和机械中的短板,在机械系统没有重大革命性进步的情况下,其性能的天花板是存在的,他们公司目前基于FPGA的控制器产品在性能基本上是过剩的。
1.3 控制系统性能 “过剩” 的原因
在机器人控制系统中,驱动、控制的主流算法(例如SVPWM、经典的三环反馈控制算法、经典的运动控制算法)的采样通道数量、采样频率、算法运算量、定时精度、协同精度等关键性能都是基于CPU + Linux + ROS + EtherCAT这一基础技术体系的性能上限进行设计的,否则,算法将因为没有基础技术可以承载而失去实用价值。
即,基础技术的性能决定了应用技术的形态。
在现有的基于FPGA的驱控一体机器人控制系统中,如果仅仅将上述已有算法模块从CPU移植到FPGA中,则FPGA相比于CPU + Linux + ROS + EtherCAT的性能优势就无法被算法充分运用,必将显得 “过剩”。
1.4 导致控制系统性能 “过剩” 的深层因素
在基于CPU + Linux + ROS + EtherCAT的机器人体系结构下,由于控制系统基础技术的性能受限,因而只能将控制模型大幅度简化,在算法设计过程中忽略掉实际运行过程中的存在各种误差。
这些误差包括但不限于:
机械臂的零件加工公差,机械臂零部件、模块、子系统之间的装配误差,装配结合处因长时间运行而产生的磨合、磨损、老化导致的附加装配间隙,加工反力、反力矩作用于机械臂末端造成的弹性/塑性结构实时形变(包括装配间隙的实时应变),机械臂各段、加工工具在动量/角动量(以及两者对时间的N阶导数)守恒规则下产生的反力、反力矩作用于机械臂各段造成的弹性/塑性结构实时形变(包括装配间隙的实时应变),电源质量时变导致的电机系统性能实时波动,长时间运行导致的电机系统性能缓慢偏移,运行场景温度变化导致的零部件形变、附加装配间隙 …………
这些误差中的每一项对于机械臂末端加工工具/工件的六轴(上下、左右、前后、俯仰、横滚、偏航)定位参数(及其对时间的N阶导数)的影响都很小,但在各项误差的逐级传递、叠加、倍增作用下,最终的影响将使这些参数偏离理想值,最终形成导致应用效果劣化的误差。
如果要求机器人系统对这些误差进行实时监测、补偿(建立对竞品的性能优势、满足高端应用场景的需求),就会对控制系统的性能提出很高的要求 – 这些要求是基于CPU + Linux + ROS + EtherCAT的机器人体系结构所不能满足的。
也就是说,从应用场景来看,考虑、补偿各种误差的性能需求一直存在,在实际产品中却因为CPU + Linux + ROS + EtherCAT机器人体系结构的性能局限性,而使这些高层次的需求得不到满足。
即:
并非现有算法已经完备、能满足应用场景的需求,FPGA的性能并非 “过剩”,而是现有算法仅仅考虑了理想化的应用场景,在建模过程中对数学模型进行了大幅度的简化,忽略了现实应用场景下存在的、能够影响机器人应用效果的、多维度的误差,才使得基于FPGA的机器人控制系统在仅仅移植现有算法的情况下显得性能 “过剩”。
2 在机器人控制系统中运用FPGA “过剩” 性能的思路、应用场景
2.1 思路之一:主动补偿多轴机械臂误差
我在上述文章的评论区提出,在机械结构受限的情况下,对以多轴机械臂系统为代表的机器人的各种工况(例如由各轴的绝对角度、相对角速度、角加速度决定的机械臂各段的六轴参数及其对时间的N阶导数)进行实时监测,以及,对与工件夹持/反力情况密切相关的机械臂综合动量、角动量及其对时间的N阶导数进行实时监测,对工件反力及其传导情况进行实时监测,并针对各种参数组合对应的装配、传动误差进行实时监测、跟踪、记录、分析、建模、仿真,进而据此制定对策,根据对上述多路工况参数实时进行的高采样速率的、大位宽的监测数据,确定如何在各轴的SVPWM、三环反馈控制指令序列的基础上实时施加时变的微调量,据此对在这些参数组合之下因为装配、传动、反力诱发的机械臂状态误差导致的工件/加工工具最终状态误差进行实时补偿&预补偿。
在这种应用场景下,将对算法的采样通道数量、采样频率、算法运算量、定时精度、协同精度提出CPU + Linux + ROS + EtherCAT无法满足的要求,FPGA所具备的多通道精准协同高速采样、多通道精准协同高速大运算量数据处理、多通道精准协同输出控制信号等优势性能将不再“过剩”,FPGA将成为机器人控制系统首选的基础技术。
2.2 思路之二:特殊意义上的 “并联机器人”、“协作机器人”
我曾经就多臂机器人在知乎写过一个回答:
双臂冗余机器人有哪些研究热点?4 赞同 · 1 评论回答编辑
其中介绍了在多条加工机械臂并联、协作运行(类似于汽车生产线上的需求)应用场景下,多臂精细化、高效实时协作运行(而非基于多条独立固定路径的本质静态协同)的FPGA解决思路。
事实上,几年前当我分别听说 “并联机器人”、“协作机器人” 这两个名词时,首先想到的都是这种架构。
2.3 可能的应用场景:光刻机晶圆传送模组
这篇公众号文章简介了光刻机的基本原理和结构:
其中提到:
晶圆模组分为晶圆传送模组、晶圆平台模组。
晶圆传送模组负责将晶圆由光阻涂布机一路传送到晶圆平台模组。
...........
晶圆从传送模组以机械手臂放置到平台上,每次放置位置的差距都是微米级的。
所以,在晶圆曝光之前,必须要先侦测晶圆在平台上的精确位置。
如果这个机械臂仍然采用了基于CPU + Linux + ROS + EtherCAT的控制系统,则限于基础技术的性能,在其从建模到实现的过程中,必然忽略了本文第1.4节所述的多种误差中的很大一部分乃至全部。
倘若如此,只要基于FPGA重新构建机械臂控制系统,就有可能如本文第2.1节所述的那样,借助大量传感器对各种误差进行实时监测,依据复杂得多的高精度、高实时性(低延迟量、低延迟抖动量)控制模型,在各个驱动轴的控制指令序列的基础上实时施加时变的微调量,对各个维度上的误差进行实时的补偿&预补偿。
另外,附带说一下,上述文章还提到:
晶圆表面看似平坦,但从微观的角度来看,晶圆表面是高低不平的............
若累加晶圆平台的高低差,在晶圆表面不同位置的光阻高度可以差距到500~1000nm。
所以,不是一次对焦就完成了,在晶圆曝光的过程中,晶圆平台必须及时调整高度,以确保光阻区不落到景深之外,而这高度的调整完全是纳米等级的。
从文章中提供的动图来看,晶圆平台的高度调节并非基于机械臂。但是,考虑到其电源/控制排线必将施加于平台的扭矩干扰,这种针对高速运动目标的多通道采样、精确测量六轴参数及其对时间的N阶导数、多轴动量/角动量分析及动态补偿、快速响应的复杂反馈控制环路,同样是FPGA的主场。
3 成本问题、FPGA方案的意义
3.1 成本问题
那位业内人士看到我对上述内容的陈述之后,在私信中说:
本文第2节所述的基于FPGA的算法升级架构会导致成本急剧上升,但目前机器人产品尚处于从小众产品向大众产品成长的过程,主流趋势是成本越来越低,现有的高性能机械臂则因为售价问题,一直处于叫好不叫座的局面。
3.2 现实需求与客户认知之间的差距
面对这种现实情况,我认为问题的关键在于:
第1节述及的实时补偿各种误差的高精度、高速应用需求是确实存在的;具备这种应用需求的客户,通常也具备为此承受更高价格的能力;
同时,客户通常不是机器人专业人士,对于机器人采用了什么样的基础架构、能(or有可能)实现什么样的功能、达到什么样的性能,是缺乏认知的。
即:对于有复杂功能、高性能、高价格机器人需求的客户来说,他们不知道这些需求是可以满足的;在客户的认知与他们对机器人行业技术的了解之间,是存在差距的。
3.3 高性能门槛与供给侧的难处
从供给侧来看,在目前基于CPU + Linux + ROS + EtherCAT的控制系统架构下,即使是高端机器人产品,其功能的复杂性、完备性以及性能也不足以满足第1.4节所述的应用需求。
现实情况很可能是,只有当机器人性能的提升超过一定门槛,才有可能满足潜在的各种高性能应用场景的需求,但产品功能、性能的提升却因为控制系统基础技术架构的局限性而进入了平台期。
与此同时,机器人行业目前处在“从小众产品向大众产品成长”的发展阶段,相关企业、研究单位鉴于提高性能、越过门槛涉及的高昂成本,难以决策启动攻关工作。
3.4 FPGA方案的意义
第1.5、1.6节(以及文章《关于在机器人领域深入应用FPGA技术的一些思考》)述及的基于FPGA的控制系统技术方案(或者说是思路),以其“过剩”的性能为机器人产品(及其并联系统、协作系统)提供了大幅度提升产品性能、越过高性能门槛、满足高端需求的可能性,涉及的技术路径的形态是可以预期,其可行性是可以验证的,技术风险是可控的。
只要有企业、科研单位愿意做相关的预研工作,愿意在这个方向进行比较大的、持续时间较长的投入,中长期的产出(产品、利润、技术体系、专利体系、行业话语权等等)将是可以期待的。
4 沟通高端机器人产业技术创新生态链的“三界”
4.1 高端机器人市场的“互等待”状态
由前两节的分析可知,目前高端机器人市场上的需求侧、供给侧之间存在一种“互等待”的状态。
在需求侧,高端客户对于高端机器人产品虽然有现实需求,但已有的高端产品的功能、性能却不能满足这些需求;同时,客户由于对技术细节不了解,因而不知道基于FPGA的产品能够(或者说有可能)满足这些需求。所以,客户只能基于现有的产品说明书而进行分析、决策、提出可以被满足的性能需求,使需求停留在“等待产品更新换代”的状态。
在供给侧,机器人企业在基于CPU + Linux + ROS + EtherCAT的控制系统架构下遇到性能天花板,在现有的基于FPGA的架构下则仅限于移植CPU架构下的经典算法,从而导致产品的功能、性能难以突破旧架构决定的天花板,难以越过实用化的高端“门槛”,从而导致当前可以提供的相对高端产品只能叫好不叫座,只能停留在 “等待客户接受”(以实现资金回笼、技术迭代)的状态。
4.2 高端机器人研发领域的“互等待”状态
从高端机器人研发领域来看,基础技术的需求侧、供给侧之间同样存在一种“互等待”的状态:
在需求侧,研发单位在将CPU + Linux + ROS + EtherCAT的控制系统架构下的经典算法移植进FPGA架构之后,缺乏深入应用FPGA的“过剩”性能的思路(也包括资源,例如技术、资金等),处于一种“等米下锅”的状态。
在供给侧,掌握能够(或者说有希望)提高高端机器人产品性能、完善其功能的FPGA技术的研发人员(例如我和我的小伙伴儿们),其技术观点、运用基础技术性能以优化产品的创新思路不能获得重视,没有机会介入成本高昂的、专业化的机器人产品研发平台(自己无力搭建),从而无法实证其创新思想的价值、借助高端机器人产品实现技术变现乃至完成正反馈循环,处于一种“等锅做饭”的状态。
4.3 高端机器人产业技术创新生态链的“三界”
上述高端机器人产业技术创新生态链的三个环节:基础技术(FPGA)及其提供者、产品技术(机器人整机及系统研发)及其提供者、机器人用户,可以形象地称之为这一技术创新生态链的 “三界”。
“三界” 之中,用户位于顶层,其下为产品技术及其提供者,基础技术及其提供者位于底层。
“三界” 在技术维度上形成自下而上的支撑关系,在需求维度上形成自上而下的约束关系,在现金流维度上则形成自上而下的反哺关系。
4.4 以高端机器人研发单位为核心沟通 “三界”
显而易见的是,高端机器人研发单位作为位置居中的“一界”,对上能够获取、理解用户的需求,对下能够运用、整合基础技术以形成可以获取现金流的产品,其可以发挥的作用是最关键的。
也就是说,针对第3.1、3.2节所述的市场“互等待”状态、研发业态“互等待”状态,高端机器人研发单位掌握的信息最全面、对其他两界影响力最大,最适合担任沟通 “三界”的核心的角色。
建议的具体操作:
高端机器人研发单位对上深入了解各种应用场景(尤其涉及精确位姿/受力控制、高速微调的应用场景),对下深入研究运用FPGA技术补偿1.4节所述各种误差的实时方案,继而形成越过高端“门槛”的机器人产品(或者是至少具备演示效果的样品),以此从上界获取现金流,形成对本界、下界的反哺,完成资金、技术、产品、资金的正反馈循环。