能让制造业提高生产率的机器人之眼 3D机器视觉系统的研发轶事
佳能3DMV的RV系列的研发目标是:在以汽车、电子设备为首的制造业的工厂中,对散乱堆积状的零部件进行拣配。客户的要求是高速、高精度、易于安装设置、防水/防尘、免维修等。面对客户提出的这些严酷的要求,技术人员到底是如何响应的?
——3DMV在全球范围内都是一个比较新的市场。佳能是在什么时候决定进入这个市场的?
在汽车工厂中的使用示例
浦川隆史
核心技术的研究开始于2008年,在2012年左右转向将技术产品化的工作。之所以进入该市场,是因为我们认为佳能在光学和图像处理方面比较强,在这个领域有优势。
3DMV大致分两种,一种是固定型3DMV,一种是安装到机械臂上的小型3DMV。我们认为在使用固定型3DMV进行散乱堆积状的零部件拣配方面存在一些需求,于是开始启动该项目。较初是制作了一个将佳能制造的投影仪和相机结合起来进行零部件拣配的试制品。当时这个产品的个头非常大,大概是现在的产品的三、四倍大。
——RV系列的规格是怎么确定下来的?
浦川
我们向正研究引进3DMV的企业征求了意见,得知较大的问题是调试(SET UP)。
吉川博志
3DMV的工作原理如下。首先,对散装零部件进行图形投影(下图①)并进行距离测量后(下图②),使用事先录入了学习数据的“识别词典”(下图③)和3DCAD数据进行比对,从而检测出每个零部件的位置和姿势。然后,判断机械手可否抓取(拣配)(下图④),并将判断结果发送到机械手控制装置(下图⑤)。市场上已有的3DMV存在一个问题,那就是将零部件录入到这个识别词典的作业非常复杂且耗时。我们较初开发的系统也存在这样的问题:先是将零部件载置到旋转平台上旋转,同时使用10台相机从各个角度进行拍摄,然后由具有专业知识的技术人员根据这些数据进行细微的参数调整。
鉴于上述问题,我们决定研发一个这样的系统:将对象零部件的CAD数据录入到系统中,没有专业知识的客户只要对散装零部件进行5次拍摄,就可以自动录入识别词典。如果这个系统得以实现,就能在竞争中处于很大的有利地位。
3DMV的工作流程
——RV系列的产品宽约25cm,高约20cm,重量约为6kg,与其他公司的产品相比更加紧凑。相机与投影仪成为一体,安装设置非常简单。但是,要用如此小的机身实现高精度的识别,是不是很不容易啊?
浦川
在RV系列中,为了识别零部件的形状和距离,我们使用了“主动立体法(Active Stereo)”。所谓主动立体法,就是由投影仪将光投射到对象物上,然后通过相机对该光的反射进行测量,从而计算出位置。投影仪与相机之间的距离(基线长度)越大,测量误差就越容易减小。但是,为了响应紧凑机身这一需求,可不能将产品个头整的比竞争对手的产品还大不少。RV系列的基线长度在商品企划的早期阶段就定下了,为了实现这一目标,光学设计、机械设计、以及担任软件开发的人员同心协力,共同商量对策。
——在机械设计方面,你们下了哪些功夫呢?
浦川
在外壳的构造和组装方法上有个特点,就是它的构造类似于将外壳组装到一定程度之后再进行内部组装的解套式益智玩具。
结城宽之
估计工厂负责组装的工作人员大吃一惊(笑)。
佳能RV系列的特长
浦川
如果允许将外壳做大的话,完全可以使用更简单点儿的构造。而且,我们在研发过程中又收到了防水/防尘、自然空冷的需求。在初始阶段定的式样是跟其他公司的产品一样,使用风扇进行冷却。但是,在汽车组装等工厂,因为会产生大量的油雾,所以风扇容易发生故障。因此,我们还收到了希望尽量不要使用驱动物的要求,因为万一发生故障,就会出现整个生产线停工的情况。此外,我们还进一步加强了免维护性,一旦安装完毕后就不需要再进行维护。因为在现场进行维护的话,经过了精密调整的校准会产生误差。
为了在竞争中占据优势而将机身做小,同时在防水/防尘、自然空冷且免维护方面不断深挖,较终呈现出的就是这样的一种构造。我个人把这种构造叫做“瓶中船”(一种工艺品,将船的模型放入瓶口较小的瓶中)(笑)。
——这么复杂的构造是怎么设计出来的?
浦川
部件能否分毫不差地放进外壳里呢?我们用CAD使劲地模拟,就像实际安装部件一样,一点一点儿地移动部件并加以确认。是简单的重复操作加上现场发挥(笑)。即便如此,那时我也仍然担心有没有漏掉什么要素。
3DMV使用相机和投影仪计算出到达零部件的距离。为了实现有别于普通相机的光学性能,技术人员反复进行了模拟和实验。
——请问当时在光学方面的课题是什么?
结城
是精度!费了我们不少心血。3DMV所要求的光学性能与普通镜头大不相同。
普通镜头的要求是像的扭曲要少,以及分辨率和亮度等。说得极端点儿,就是不管光是通过什么方式穿过透镜的,只要较终成像没问题就行了。
而在3DMV中,为了实现高速、高精度,使用了立体测距法,其原理是以针孔相机为前提的。立体测距法的原理简单而言如图1所示:让投影仪的某一像素发光,该光在物体上反射,然后映到相机的某一像素上。光的特性是直线前进,因此投影仪发出的光可以用穿过针孔的直线(图1中的虚线)来表示。同样,映射到相机的光也可以用穿过针孔的直线来表示。因此,两条直线的交点就是反射位置即物体的位置,以此可以确定物体的三维位置。
但是,实际如果放上个针孔,那么穿过针孔的光的光亮很少,无法检测,因此要使用透镜。图2的示例中,红线表示实际的光束,光线照射到红圆点部分。在立体测距法中,是按针孔相机模型来计算的,因此如果使用普通的镜头,就会把虚线路径当做光通过的路线来计算,从而导致计算出的反射位置与实际的反射位置出现误差。
因此,在3DMV的镜头的设计方面,除普通镜头的性能外,为了使光路与针孔相机一致,还需要进行更加严密的光学设计。
立体测距法
——是通过在计算机上模拟的方式来提高光学设计精度的吗?
结城
有些问题确实是通过设计来解决的,但实际制造镜头后发现,存在一些无法达到预期精度的情况。这时候需要考虑这种现象的原理是什么。我们先提出假设并进行试验,然后考虑解决方案并尝试解决。这种情况发生过很多。
——机械设计受光学设计影响的情况是不是很多?
结城
首先由机械设计组确定基线长度,然后我们进行光学系统的设计以实现机械设计组设定的基线长度,接着由机械设计组研究能不能纳入到机身内。我们就是通过这种方式来推进研发的。
浦川
在工位方面,光学设计和机械设计的工作人员是毗邻而居的。这样一来,光学系统方面若有什么要求,机械设计方面的工作人员能够马上进行研究。
结城
也出现过一些“讨价还价”,比如:镜头的光学性能会受到热的影响,于是光学设计人员会请求机械设计人员对于某个位置想办法不要让它出现温度变化等等。
从成堆的散装零部件中,识别一个个的零部件形状,并将其拣起来。为了谋求生产线的高速化,RV系列用约为1.8秒到2.5秒这样很短的时间进行零部件的距离测量和识别。为了使“正确性”和“速度”两者兼得,软件技术人员研发出了新的算法。
——识别对象零部件的形状并掌握其位置,这种图像处理是通过软件来进行的吧?具体是怎么工作的能请您简单介绍一下吗?
吉川
3DMV的工作大致分三个步骤:“图形投影”、“测量距离”、“零部件识别”。
所谓图形投影,就是由投影仪将特定的图形投影到散装零部件,然后由相机对其进行拍摄。RV系列使用了一种名为“空间编码法”的方法。
在空间编码法中,图1所示的黑白条纹图形图像被投影仪投影到对象物上,然后由照相机进行拍摄(图2)。关于图1的条纹图形图像,使用的是传感器相关领域常用的名为格雷码的二进制符号。当投影仪要投影8根条纹时,需要准备条纹宽度各异的三种图形图像。一边切换图形图像一边由相机进行拍摄,会得到图3所示的图像,投影后的条纹会因对象物高度的不同而发生偏差。对所有像素按图像黑色部分为0、白色部分为1的原则进行分配,则如图3下方的表所示,各像素都得到一个三位数的二进制数。不同的条纹有不同的二进制数,因此可以识别某一条纹是第几根条纹,如此一来即可知道投影仪的投射方向。三角测量是在投影仪的条纹与条纹之间的边界位置进行的。在图2中,相机延伸出来的红线,表示在第4根条纹与第5根条纹之间的边界进行了三角测量。这里我们是以条纹数量为8根的示例进行的说明,而RV系列实际上是投影1,000根以上的条纹,因此可以获取能很详细地表示散装零部件整体的3D形状的测量点群。
获取测量点群后,进行“零部件识别”。关于“零部件识别”,首先使用事先录入的零部件识别词典找出大致的位置姿势,较后将3D CAD数据套用到测量值上,从而高精度地测量出位置姿势。这样就可以判定机械臂能否拣配零部件,并将判定结果告诉机械控制装置,然后实际驱动机械臂执行作业。就是这样的工作过程。
空间编码法
——这次的软件在哪些方面下了功夫?
吉川
为了减少计算量,提高距离测量和零部件检测速度,我们在算法上下了不少功夫。
例如,在进行图形投影时,以往还需要准备一张将条纹进行黑白反显的图形,并且在各阶段都需要设置并使用两个图形,以此来提高距离测量的精度。但是,这样的话,需要处理的图形就翻倍了。因此,我们进行了改进,只是在较后才使用反显图形,从而使所需图形数量减半。
除此之外,在零部件检测的算法上,我们也下了一番功夫。在RV系列中,在较初将零部件录入识别词典时,要改变散装图形进行五次拍摄。通过事先获取从各个角度观察到的表面状态的浓淡图像,使零部件之间的边界更加容易判断,从而提高零部件检测的精度。前面已说过要将测量点群与零部件的3D CAD数据进行比对,在此基础上再结合表示浓淡变化的2D图像,这样零部件检测就不容易失败了。通过采用这种办法,成功地使计算处理减负,缩短了零部件检测时间。
使用CG学习零部件在各种姿势下呈现出的形态的零部件检测方式
——客户的反应怎么样?
百海浩二
以往的3DMV的话,在设置上特别麻烦。而RV系列的话,只要对散装零部件进行五次拍摄,然后按下词典制作按钮,即可完成设置,这一点受到了客户的好评。软件的用户界面也因为好用而受到好评。
但是,客户现场所使用的零部件种类比我们想象的更加多样化,有薄的、小的、透明的等等,可谓是多种多样。今后需要进一步增加可应对的零部件范围。
另外,有些客户提出希望进一步提高识别速度,而有些客户则比较看重其工作不出问题。因为对于将降低整个生产线的成本看做首要目标的客户而言,生产线的停滞会造成巨大的损失。
吉川
对于这种需求,我们与产品企划部门进行了磋商,决定通过软件版本升级的方式来应对。
RV系列经过硬件及软件技术人员的共同努力,克服重重困难,较终实现了产品化。要想进军新市场,需要由多个领域的技术人员携起手来、共同努力以满足客户的需求。
——今后3DMV将会如何发展下去?
百海
RV系列产品的目标是散装零部件的拣配,今后的话计划研发能在产品检查等领域使用的产品,以及能搭载在机械臂上使用的产品。
浦川
如果是机械臂搭载型的产品的话,不仅能进行零部件的拣配,有可能还可以直接拿着零部件进行组装。但是,像RV系列那样在机械臂拣配零部件并移动的过程中没有时间进行其他零部件的检测处理,因此与目前相比必须进一步提高距离测量以及零部件检测速度。为了实现这一目标,需要另外研发新的算法。
百海
我们还收到了制造业之外行业的一些需求,如仓库、物流等行业,他们也想要使用该产品。对于这些新用途所需要的性能等,我们需要重新进行研究。
——通过RV系列的研发,各位觉得今后的产品研发需要哪些东西?
百海
单凭一个技术领域就能实现一个产品的情况已不复存在。现在的产品研发,要求将各种领域的技术融会贯通,作为一个系统来完成。虽然是老生常谈了,但在这里我还是要强调一下:工程师必须具备宽广的视野。
浦川
RV系列正是如此,它是硬件与软件融为一体、密不可分的产品。研发的时候,我们定期将各领域工作人员召集到一起召开例会,频繁地进行了信息共享。
结城
RV系列研发项目有一个特点,就是为了使产品尽早成形,我们全体成员做到了同心协力、共同出谋划策。没有硬件与软件之分,几个人汇聚一堂,想方设法让产品成形,这或许正是这个项目成功的关键之所在。
吉川
在软件方面,我希望积极引入当前的AI(人工智能)等技术革新,并持之以恒地改良下去。但是,并非算法先进就一定能做出好产品。有些时候,反而是比较单纯的算法更高速更易用。要考虑到在现场“是否真的管用”,我认为研发工作中需要具备这种看问题的角度。
百海
现在这个时代,并非只要做出“好产品”就一定能卖出去。我认为研发中需要这样的研发人员:能了解客户,并能与客户建立深度信任关系。
现在,产业领域正经历着巨大的变革。IoT可在机器之间相互通信并自动执行处理,大数据解析可以从大量的数据中总结出知识和规律,这些变革导致制造业的形态与以往相比正在发生翻天覆地的变化。机器人和3DMV也将成为加速这种潮流的重要因素。今后不仅是零部件的拣配,而且组装和检查等现在需要人手进行的这些作业,也定将逐渐实现自动化。
人类社会越来越成为人与机器共生的世界。3DMV等技术今后将会给这个世界带来哪些影响?让我们拭目以待吧。
采访与撰稿
山路 达也(Yamaji Tatsuya)
1970年出生。曾担任杂志社编辑工作,后独立成为自由撰稿人/编辑人。目前活跃在IT、科学、环境领域,从事采访和写作活动。
著书有《Apple、Google成为神的日子》(与他人合著)、《新超传导入门》、《Google的72小时》(与他人合著)、《弹言》(与他人合著)等。
此次“访谈”的研发人员