第 7 章

第7章 视觉闭环:让机器人在光流中定位自己(约 1997 年)

在机器人的末端执行器上方四十厘米处,一台黑白CCD相机以每秒六十帧的频率捕获传送带上流动的铝制零件。这些零件随机摆放——偏转十五度、三十度、甚至完全翻转——没有两个姿态完全相同。机械臂必须在零件进入工作区域的零点四秒内完成识别、定位、抓取,然后将它们以正负零点五毫米的精度装配到另一条线上移动着的塑料底座中。这不是发生在1996年秋天的孤立场景。在密歇根州安娜堡的Adept公司实验室内,在瑞典韦斯特罗斯的ABB研发中心里,在日本富士山脚下的FANUC工厂中,类似的场景在同一时期反复上演。工程师们站在防护栏外,手握秒表,盯着监视器上的图像处理延迟数据。他们关心的不是机械臂能否抓取到零件——这个问题在静态环境下早已解决。他们关心的是另一个数字:从相机曝光到关节电机接收到修正指令,整个回路需要多长时间。这个数字在1990年代初期的典型值是两百到五百毫秒。到了1996年前后,它被压缩到了四十毫秒以下。这个跨越,使机器人的“看”与“动”之间第一次形成了真正的实时闭环,为工业机器人突破固定工位、走向柔性装配完成了关键一跃。

这个跨越,使机器人的“看”与“动”之间第一次形成了真正的实时闭环。要理解这个跨越的历史意义,需要回到更早的时间点。视觉伺服的概念并非1990年代的新发明。早在1979年,斯坦福大学的约翰·希尔和威廉·帕克就发表了那篇被视为视觉伺服理论奠基之作的论文。他们在论文中提出了一个在当时看来相当激进的命题:视觉不应该被当作一个在运动开始之前提供一次性信息的独立模块,而应该被视为一个连续反馈的传感器——就像编码器反馈关节角度、测速发电机反馈关节速度一样,视觉传感器应该持续地向控制器输送环境信息,控制器根据这些信息实时调整运动轨迹。这个命题的数学表达是一个雅可比矩阵。在视觉伺服的框架中,雅可比矩阵描述的是机械臂关节的微小运动如何在图像平面上引起特征点的微小位移。如果这个映射关系已知,控制器就可以根据当前图像特征与期望图像特征之间的误差,反向计算出需要向关节发送的速度指令,驱动机械臂朝着缩小误差的方向运动。

整个过程形成一个闭合的信息回路:关节运动改变相机位姿,相机位姿改变图像内容,图像内容产生误差信号,误差信号驱动关节运动。希尔和帕克的论文在理论上完成了这个回路的数学建模,但他们无法在工程上实现它。1979年的图像处理硬件远远跟不上理论的步伐。当时一台典型的图像处理系统完成一帧灰度图像的特征提取需要数秒甚至数十秒。在这种处理速度下,视觉反馈不仅无益,反而可能导致系统失稳——当控制器终于收到处理完毕的图像时,机械臂早已移动到完全不同的位置,基于过时信息计算出的修正指令成为了干扰信号。整个1980年代,视觉伺服的研究者们被困在这个矛盾中。理论上越来越精致的控制律躺在论文里,等待硬件追赶上来。直到1990年代中期,三个技术趋势的合力才开始打破僵局。第一个趋势是专用图像处理硬件的成熟。Cognex等机器视觉厂商在1990年代中期推出了基于专用集成电路和数字信号处理器的视觉处理板卡。

这些硬件将图像预处理、边缘检测、模板匹配等常用算法固化在芯片中,处理速度比通用处理器高出两个数量级。1995年前后,Cognex的PatMax算法已经能够在数十毫秒内完成复杂几何特征的定位,精度达到亚像素级别。虽然PatMax最初是为静态检测应用开发的,但它所证明的硬件加速路线,同样适用于视觉伺服中的实时特征跟踪。第二个趋势是工业相机帧率和接口标准的进步。1996年,索尼发布了支持每秒六十帧逐行扫描的CCD相机系列。数字相机接口开始取代传统的模拟视频输出,消除了模数转换的延迟和信号衰减。更高的帧率意味着控制回路可以以更高的频率获取新图像,从而缩短每个控制周期的延迟。如果将视觉反馈频率从每秒十帧提高到每秒三十帧,控制回路的总延迟可以从一百毫秒以上压缩到三十三毫秒以下。第三个趋势是通用处理器性能的指数增长。按照摩尔定律的节奏,1990年代中期的英特尔奔腾处理器已经比1980年代末的486芯片快了几倍。

1997年引入的MMX指令集专门针对多媒体和信号处理优化,进一步提升了图像处理性能。对于一些计算量相对较小的视觉伺服算法——特别是基于稀疏特征点的方法——通用处理器已经能够达到每秒二十到三十帧的处理速度,不再需要依赖昂贵的专用硬件。这三个趋势的共同作用,在1997年前后达到了一个临界点。在这一年,多个研究团队独立报告了真正的实时视觉伺服实验:图像处理频率达到或超过每秒三十帧,控制回路的延迟被压缩到五十毫秒以下,机械臂能够在动态环境中稳定地跟踪和抓取运动目标。视觉伺服终于走出了实验室,具备了在工厂环境中部署的工程基础。但在工程基础之上,还有理论问题需要解决。视觉伺服在1980年代的理论发展过程中分化出了两条主要的技术路线,它们在1990年代展开了激烈的竞逐。这场竞逐的核心问题是:应该在哪个空间里定义和计算控制误差?基于位置的视觉伺服选择了一个相对直观的答案:在三维笛卡尔空间中。

这种方法首先利用相机图像和已知的几何模型,实时估计目标物体在三维空间中的位置和姿态;然后将这个估计的位置与期望位置进行比较,得出三维空间中的误差向量;最后将这个误差向量映射到机器人的关节空间。在这种策略中,视觉的任务是进行三维重建,控制的误差定义在物理空间中。这条路径的优势在于概念清晰。工程师可以直接在三维空间中指定期望轨迹,就像传统的机器人编程一样。如果视觉系统能够精确地估计目标的三维位置,控制问题就退化为一个标准的轨迹跟踪问题,可以使用成熟的运动控制算法来处理。此外,由于误差定义在笛卡尔空间中,机器人的运动路径在三维空间中具有可预测的几何形状,这对于避障和路径规划是有利的。但基于位置的视觉伺服也面临一个根本性的困难。从二维图像中恢复三维信息,需要精确的相机标定、已知的目标几何模型,以及可靠的图像特征与模型之间的对应关系。任何一个环节的误差都会导致三维位置估计的偏差,而这个偏差会直接传递到控制指令中。

在工厂环境中,相机标定参数会因温度变化和机械振动而漂移,目标物体的几何模型可能因制造公差而不精确,对应关系可能因光照变化和遮挡而错乱。更麻烦的是,在控制过程中可能发生目标丢失的问题:机械臂在运动过程中,相机可能偏离目标,导致目标物体移出视野。一旦目标丢失,视觉伺服就失效了,机器人必须退回到某种搜索策略。基于图像的视觉伺服则采取了一条更激进的路线。它完全放弃三维重建,直接在二维图像空间中定义误差和控制律。在这种方法中,控制目标是使当前图像中某些特征点的像素坐标逐步收敛到期望的像素坐标。误差定义在图像平面上,控制律将图像误差直接映射为关节速度指令,中间不需要经过三维重建的步骤。这条路径的最大优势在于它绕过了三维重建这个计算瓶颈和精度陷阱。由于不需要估计目标的三维位置,基于图像的视觉伺服对相机标定误差和目标几何模型误差具有更强的鲁棒性。

1990年代早期的实验反复验证了这一点:即使在相机标定存在显著误差的情况下,基于图像的控制仍然能够将机械臂引导到目标附近,最终精度令人惊讶地好——尽管控制器从未显式计算过目标的三维位置。此外,由于控制目标直接定义在图像空间中,这种方法天然地倾向于将目标保持在视野中心,在一定程度上缓解了目标丢失的问题。但基于图像的视觉伺服也有其自身的困难。最核心的问题是雅可比矩阵的估计。在图像空间中,雅可比矩阵描述的是相机运动如何引起图像特征变化的映射关系。这个矩阵依赖于目标物体的深度信息——同一个相机平移运动,对于近处的物体和远处的物体会产生不同幅度的图像变化。而深度信息恰恰是基于图像的方法试图绕过的。因此,基于图像的视觉伺服系统必须采用某种策略来处理这个矛盾:要么使用目标深度的大致估计值来近似雅可比矩阵,要么在运行过程中在线更新雅可比矩阵的估计值,要么在期望位置附近进行局部线性化处理。此外,基于图像的视觉伺服还可能遇到局部极小值和奇异性问题。

在某些情况下,图像误差的减小并不对应三维空间中误差的减小。控制器可能沿着一条在图像空间中看起来合理、但在三维空间中极其扭曲的路径运动,甚至可能陷入一种误差不再减小但目标尚未到达的状态。更糟糕的是,某些图像误差配置可能要求机械臂执行超出关节限制的极端运动。这些问题在1990年代引发了大量的理论研究,研究者们试图通过在控制律中引入额外的约束和优化准则来克服这些固有局限。两条技术路线的竞逐贯穿了整个1990年代。在国际机器人与自动化会议的会场上,在《IEEE机器人学与自动化》期刊的审稿意见中,在欧洲和日本的联合研究项目评审会上,两个阵营的支持者展开了持续的辩论。基于位置的阵营强调三维空间控制的直观性和可预测性,基于图像的阵营则强调对模型误差的鲁棒性和视野保持能力。这场争论并没有产生一个绝对的胜者。

到了1990年代末,两种方法都找到了各自适合的应用场景:基于位置的方法在需要精确三维轨迹控制的焊接和装配任务中表现出色,基于图像的方法在处理随机摆放物体的抓取任务中更具优势。研究者们也开始探索将两者结合的混合策略——在粗略定位阶段使用基于图像的方法以保持目标在视野中,在精细对准阶段切换到基于位置的方法以获得精确的三维控制。硬件条件的成熟和理论框架的完善,为视觉伺服从实验室走向工厂铺平了道路。而完成这关键一步的,是机器人制造商。他们将论文中的算法转化为可以在工厂三班倒连续运行的工程系统,将视觉伺服集成到标准控制器中,作为可选功能模块提供给终端用户。ABB和Adept两家公司在这个过程中扮演了先锋角色。ABB在1998年发布了TrueView视觉引导系统,作为其IRC5控制器的一个可选模块。TrueView的发布是一个标志性事件:它意味着视觉伺服不再是一项需要用户自己开发和调试的研究技术,而是一个可以直接订购、安装和使用的工业产品。

ABB的工程师们选择了基于位置的视觉伺服作为技术路线,但他们做了一个关键的工程判断:不使用被动双目立体视觉,而是采用主动结构光投影来获取三维信息。结构光投影器在目标表面投射已知的条纹图案,相机拍摄变形后的图案,通过三角测量原理计算出表面的三维形状。这个方法将三维重建的计算量从通用处理器转移到了专用硬件上,使得每秒三十帧的实时三维重建成为可能。TrueView的一个典型应用场景是汽车车身的自适应焊接。在传统的焊接工艺中,车身被精确定位在夹具上,焊接机器人按照预设程序执行点焊。但车身在焊接过程中的热变形会导致实际焊点位置与预设位置之间产生一到三毫米的偏差。在1990年代中期之前,解决这个问题的方法是加大焊点直径和提高夹具精度,但前者增加了重量和成本,后者增加了设备投资和换型时间。TrueView系统在每一处焊接前,用结构光快速扫描焊缝区域,测量实际的三维位置,然后将修正后的坐标发送给焊接控制器。

整个测量和修正过程在数百毫秒内完成,不影响生产线的节拍时间。根据ABB在1999年发布的技术白皮书,TrueView使焊接位置精度从传统方法的正负两毫米提高到正负零点三毫米,同时减少了对精密定位夹具的依赖,使生产线换型时的机械调整时间大幅缩短。Adept公司则走了另一条技术路线。作为一家从斯坦福大学人工智能实验室孵化出来的机器人公司,Adept在视觉技术方面有着深厚的积累。它在1997年发布的AdeptVision VXL视觉引导系统采用了基于图像的视觉伺服策略。AdeptVision VXL的特点在于它不需要三维重建,而是直接在图像空间中引导机械臂。系统使用安装在机械臂末端的单目相机,持续跟踪目标物体上的自然特征点,根据图像误差直接生成关节速度指令。AdeptVision VXL的一个标志性应用场景是传送带跟踪抓取。在电子装配、食品包装和制药等行业中,产品在传送带上连续运动,机器人需要在运动中完成抓取。

传统的做法是使用传送带编码器获取传送带速度,机器人根据这个速度进行预测性跟踪。但单纯的编码器反馈无法补偿传送带速度的微小波动、产品在传送带上的滑动以及产品姿态的随机变化。Adept的系统将编码器粗估计与视觉伺服精确修正结合在一起:编码器提供传送带速度的前馈信号,视觉伺服提供实时的位置闭环修正。机械臂在接近目标的过程中,相机以每秒三十帧的速度持续跟踪目标的图像特征,控制器在每一帧都重新计算并修正末端执行器的轨迹,最终在目标经过抓取区域的瞬间精确完成抓取。Adept公司在1998年的产品发布会上展示的数据显示,这套系统能够在传送带速度高达每秒五百毫米的情况下,实现正负零点二毫米的抓取重复精度。两家公司的产品化努力,在1990年代末将视觉伺服从一项实验室技术转变为一种可部署的工业解决方案。它们的成功验证了一个更广泛的命题:感知与行动之间的实时闭环,不仅是一个理论概念,而且可以在严苛的工厂环境中实现,并带来切实的经济效益。

到2000年前后,视觉引导已经成为新一代工业机器人的标准配置选项。FANUC、安川、库卡等主要制造商纷纷推出了各自的视觉伺服解决方案,视觉伺服的市场从最初的几家先行者迅速扩展到整个工业机器人行业。这个产业化进程对机器人与环境之间的关系产生了影响。在传统的工业机器人应用中,精度依赖于环境的结构化程度。工件必须被精确定位在夹具上,夹具必须被精确安装在工作台上,工作台必须被精确固定在地面上。整个系统的精度由链条中最薄弱的环节决定。这种对结构化环境的强依赖带来了高昂的成本:定位夹具和精密导向装置的成本往往占到机器人系统总投资的百分之二十以上;而换型时的机械调整时间——拆卸旧夹具、安装新夹具、重新标定位置——占到生产线停机时间的很大一部分。视觉伺服技术从根本上改变了这个等式。当机器人能够在运动过程中根据视觉反馈自主修正轨迹时,对环境精度的要求就显著降低了。工件可以随机摆放,可以在传送带上移动,可以存在数毫米甚至数厘米的姿态偏差。

机器人不再要求环境适应它,而是它自己去适应环境。这种关系的反转,使生产线在保持高精度的同时获得了前所未有的柔性。减少对精密夹具的依赖,直接降低了系统投资成本;缩短换型时间,提高了设备的利用率;允许工件存在更大的制造公差,降低了上游加工的成本。对于多品种、小批量的生产模式——这正是1990年代全球制造业的发展趋势——视觉伺服的经济优势尤为突出。更深层次的影响在于,视觉伺服使机器人具备了在“无序”中工作的能力。传统的工业机器人要求工作环境高度有序,但真实世界本质上是无序的。传送带上的零件会滑动,车身的焊缝会变形,装配线上的零件供应存在随机波动。视觉伺服使机器人能够在这种无序中正常运作。这是机器人走出高度控制的工厂围栏、进入更复杂的人类世界的第一步。然而,视觉伺服的成功也暴露了单一感知模态的局限。

到1990年代末,随着视觉引导系统在越来越多的工业场景中部署,一个新的问题开始浮现:视觉可以提供精确的几何信息——位置、形状、姿态——但它无法提供力学信息。在许多精密作业中,知道“在哪里”还不够,机器人还需要知道“用了多大力”。这个问题在轴孔装配任务中表现得最为尖锐。视觉伺服系统可以将轴销对准孔口的精度控制到正负零点零五毫米以内,这个精度远超人类的手眼协调能力。但当轴销插入孔口之后,视觉就失去了作用。相机看不到孔内部的接触状态,无法判断轴销是否遇到了过大的阻力,是否因角度偏差而在孔壁上卡死,是否已经到达孔底。如果机器人只是按照预设的位置轨迹继续推进,它可能因为微小的角度偏差而将轴销强行压入,导致零件损坏或装配失败。在1990年代末的电子装配线上,这种情况并不罕见:视觉引导的机器人能够完美地抓取和定位元件,但在插入过程中因为缺乏力感知而损坏脆弱的引脚或插座。

摄像机帧率只是方程的一半,另一半是图像处理算法的计算开销——一个特征提取函数每帧需要多少毫秒才能跑完。1990年代初的标准视觉引导系统中,图像处理这一环往往占据了控制回路总延迟的百分之七十以上。Adept公司1993年发布的早期视觉引导产品AdeptVision II提供了一个具体的参照坐标。该系统采用当时主流的“看然后动”策略:相机以每秒五帧的速度捕获图像,每帧图像送入基于Motorola 68040处理器的视觉板卡进行目标定位,完整的处理周期约为二百毫秒。在这二百毫秒的间隙中,传送带上的零件已经移动了数十毫米。工程师们用一种笨拙但有效的策略来弥补:他们在传送带上额外安装编码器,在视觉系统计算出零件位置的瞬间读取编码器值,然后通过“传送带追踪”算法外推零件在此后二百毫秒内的预期位置。这本质上是一种开环预测:机器人运动轨迹的修正依据的不是当前图像,而是两百毫秒前那张图像加上一个基于传送带匀速假设的外推模型。

任何传送带速度波动、零件滑动或姿态旋转都会直接转化为抓取误差。这套系统的技术手册上写着令人难堪的限制条款:“传送带速度不得超过每秒两百毫米”,“零件姿态偏差不得超过正负五度”。

三年后的1996年,Adept公司发布了一份内部技术评估报告,对比了AdeptVision II与正在研发中的新一代视觉伺服系统的性能差距。这份标注为“Confidential”的文档后来在机器人学史研究中被部分公开,其中一组对比数据清晰地标定了硬件跃迁的量级。新一代系统将相机更换为索尼XC-55逐行扫描CCD,帧率从每秒五帧提升到每秒三十帧;视觉处理硬件从通用处理器改为搭载TI TMS320C40数字信号处理器的专用板卡,单帧特征提取时间从四十毫秒压缩到八毫秒;整个控制回路的总延迟从二百毫秒降至四十五毫秒。报告的结论措辞谨慎但方向明确:四十五毫秒的延迟已经使系统具备了“闭环视觉修正”的工程可行性,而不再需要依赖传送带编码器的开环外推。这份报告中最能说明问题的是一个实验记录:在传送带速度每秒四百毫米、零件随机偏转正负三十度的条件下,旧系统抓取成功率仅为百分之六十左右,而新系统达到了百分之九十七。这个三十二个百分点的差距,就是“实时闭环”与“延迟开环”之间相隔的那条河。

Adept的工程师们在这个实验中还意外发现了一个理论文献中讨论较少的问题:相机曝光时序与机械臂控制周期的同步。在帧率较低时,这个问题被淹没在更大的延迟中而不显。但当总延迟压缩到几十毫秒量级时,曝光时刻与控制指令发送时刻之间的错位开始成为不可忽略的误差源。假设相机以每秒三十帧曝光,每帧间隔约三十三毫秒,而控制指令以每秒六十次的频率发送。如果相机刚刚曝光完一帧、下一帧尚未捕获,此时控制回路发出的指令实际上依据的仍是上一帧的过时图像,引入的等效延迟在半帧间隔——约十七毫秒。十七毫秒本身似乎不大,但对于以每秒数百毫米运动的末端执行器而言,相当于数毫米的位置偏差。Adept的解决方案是在硬件层面将相机的曝光触发信号与控制器中断信号同步:控制器在每个控制周期的固定相位发送外部触发脉冲,相机在接到触发信号的瞬间曝光,图像数据在下个控制周期开始前完成传输和处理。

工程师们发现,装配良率的上限不再由视觉定位精度决定,而是由插入阶段的力控制精度决定。抛光、打磨和去毛刺是另一类典型场景。在这些作业中,机器人需要在工件表面施加精确控制的接触力。力太大,会过度切削材料或损伤表面;力太小,则无法有效去除毛刺或获得所需的表面光洁度。视觉系统可以引导工具到达工件的正确位置,但无法感知和调节接触力。如果仅仅依赖位置控制,即使位置精度达到亚毫米级,由于工件表面的微观起伏和工具磨损,接触力仍然可能出现百分之五十以上的波动。这种波动对于精密加工是不可接受的。这些场景揭示了视觉作为一种感知模态的根本边界。视觉是非接触传感器,它只能提供几何信息,无法提供力学信息。在需要物理交互的作业中,几何精度是必要条件,但不是充分条件。机器人还需要感知和控制它与环境之间的接触力,而这就需要一种完全不同的感知能力:力觉。这个未解决的力控问题,在1990年代末成为压向机器人技术发展的一个具体压力点。

视觉伺服已经证明了感知-行动闭环的巨大价值,但它也暴露了单一视觉模态在物理交互场景中的力不从心。如果要让机器人真正掌握精密装配、手术操作和人机安全交互的能力,必须在视觉闭环的基础上,进一步建立起力觉闭环。这个压力将机器人技术的发展推向了一个新的方向。在麻省理工学院、斯坦福大学和世界各地的机器人实验室里,研究者们正在将注意力从纯粹的视觉问题转向视觉与力觉的融合问题。在ABB、FANUC和库卡的开发部门里,工程师们开始探索如何将力传感器集成到已经装备了视觉系统的机械臂上,如何设计能够同时处理视觉误差和力误差的控制算法。一个新的技术门槛正在逐渐清晰起来:机器人不仅需要看得准,还需要摸得稳。而跨越这个门槛的努力,将揭开机器人技术史上另一个重要的章节。