能讓制造業提高生產率的機器人之眼 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小時》(與他人合著)、《彈言》(與他人合著)等。
此次“訪談”的研發人員