在工業4.0時代,國家智能制造高速發展,傳統的編程來執行某一動作的機器人已經難以滿足現今的自動化需求。在很多應用場景下,需要為工業機器人安裝一雙眼睛,即機器人視覺成像感知系統,使機器人具備識別、分析、處理等更高級的功能,可以正確對目標場景的狀態進行判斷與分析,做到靈活地自行解決發生的問題。
機器視覺系統組成
從視覺軟件進入機器視覺行業,有必要全局認識一下機器視覺系統組成。
典型的機器視覺系統可以分為:圖像采集部分、圖像處理部分和運動控制部分。基于PC的視覺系統具體由如圖1所示的幾部分組成:
①工業相機與工業鏡頭——這部分屬于成像器件,通常的視覺系統都是由一套或者多套這樣的成像系統組成,如果有多路相機,可能由圖像卡切換來獲取圖像數據,也可能由同步控制同時獲取多相機通道的數據。根據應用的需要相機可能是輸出標準的單色視頻(RS-170/CCIR)、復合信號(Y/C)、RGB信號,也可能是非標準的逐行掃描信號、線掃描信號、高分辨率信號等。 ②光源——作為輔助成像器件,對成像質量的好壞往往能起到至關重要的作用,各種形狀的LED燈、高頻熒光燈、光纖鹵素燈等都容易得到。 ③傳感器——通常以光纖開關、接近開關等的形式出現,用以判斷被測對象的位置和狀態,告知圖像傳感器進行正確的采集。 ④圖像采集卡——通常以插入卡的形式安裝在PC中,圖像采集卡的主要工作是把相機輸出的圖像輸送給電腦主機。它將來自相機的模擬或數字信號轉換成一定格式的圖像數據流,同時它可以控制相機的一些參數,比如觸發信號,曝光/積分時間,快門速度等。圖像采集卡通常有不同的硬件結構以針對不同類型的相機,同時也有不同的總線形式,比如PCI、PCI64、Compact PCI,PC104,ISA等。 ⑤PC平臺——電腦是一個PC式視覺系統的核心,在這里完成圖像數據的處理和絕大部分的控制邏輯,對于檢測類型的應用,通常都需要較高頻率的CPU,這樣可以減少處理的時間。同時,為了減少工業現場電磁、振動、灰塵、溫度等的干擾,必須選擇工業級的電腦。 ⑥視覺處理軟件——機器視覺軟件用來完成輸入的圖像數據的處理,然后通過一定的運算得出結果,這個輸出的結果可能是PASS/FAIL信號、坐標位置、字符串等。常見的機器視覺軟件以C/C++圖像庫,ActiveX控件,圖形式編程環境等形式出現,可以是專用功能的(比如僅僅用于LCD檢測,BGA檢測,模版對準等),也可以是通用目的的(包括定位、測量、條碼/字符識別、斑點檢測等)。 ⑦控制單元(包含I/O、運動控制、電平轉化單元等)——一旦視覺軟件完成圖像分析(除非僅用于監控),緊接著需要和外部單元進行通信以完成對生產過程的控制。簡單的控制可以直接利用部分圖像采集卡自帶的I/O,相對復雜的邏輯/運動控制則必須依靠附加可編程邏輯控制單元/運動控制卡來實現必要的動作。 一個完整的機器視覺系統的主要工作過程如下: 1、工件定位檢測器探測到物體已經運動至接近攝像系統的視野中心,向圖像采集部分發送觸發脈沖。 2、圖像采集部分按照事先設定的程序和延時,分別向攝像機和照明系統發出啟動脈沖。 3、攝像機停止目前的掃描,重新開始新的一幀掃描,或者攝像機在啟動脈沖來到之前處于等待狀態,啟動脈沖到來后啟動一幀掃描。 4、攝像機開始新的一幀掃描之前打開曝光機構,曝光時間可以事先設定。 5、另一個啟動脈沖打開燈光照明,燈光的開啟時間應該與攝像機的曝光時間匹配。 6、攝像機曝光后,正式開始一幀圖像的掃描和輸出。 7、圖像采集部分接收模擬視頻信號通過A/D將其數字化,或者是直接接收攝像機數字化后的數字視頻數據。 8、圖像采集部分將數字圖像存放在處理器或計算機的內存中。 9、處理器對圖像進行處理、分析、識別,獲得測量結果或邏輯控制值。 10、處理結果控制流水線的動作、進行定位、糾正運動的誤差等。
機器人視覺成像的結構形式
機器人視覺系統的主要功能是模擬人眼視覺成像與人腦智能判斷和決策功能,采用圖像傳感技術獲取目標對象的信息,通過對圖像信息提取、處理并理解,最終用于機器人系統對目標實施測量、檢測、識別與定位等任務,或用于機械人自身的伺服控制。 在工業應用領域,最具有代表性的機器人視覺系統就是機器人手眼系統。根據成像單元安裝方式不同,機器人手眼系統分為兩大類:固定成像眼看手系統(Eye-to-Hand)與隨動成像眼在手系統(Eye-in-Hand, or Hand-eye),如下圖2所示。
圖 2 兩種機器人手眼系統的結構形式 (a)眼在手機器人系統,(b)眼看手機器人系統 有些應用場合,為了更好地發揮機器人手眼系統的性能,充分利用固定成像眼看手系統全局視場和隨動成像眼在手系統局部視場高分辨率和高精度的性能,可采用兩者混合協同模式,如用固定成像眼看手系統負責機器人的定位,使用隨動成像眼在手系統負責機器人的定向;或者利用固定成像眼看手系統估計機器人相對目標的方位,利用隨動成像眼在手系統負責目標姿態的高精度估計等,如圖3所示。
圖 3 機器人協同視覺系統原理圖
機器人視覺三維成像方法
3D視覺成像可分為光學和非光學成像方法。目前應用最多的還是光學方法,其包括:飛行時間法、激光掃描法、激光投影成像、立體視覺成像等。 飛行時間3D成像 飛行時間(TOF)相機每個像素利用光飛行的時間差來獲取物體的深度。目前已經有飛行時間面陣相機商業化產品,如Mesa Imaging AG SR-4000, PMD Technologies Cam Cube 3.0,微軟Kinect V2等。 TOF成像可用于大視野、遠距離、低精度、低成本的3D圖像采集,其特點是:檢測速度快、視野范圍較大、工作距離遠、價格便宜,但精度低,易受環境光的干擾。例如Camcueb3.0具有可靠的深度精度(<3mm @ 4m),每個像素對應一個3D數據。 ?掃描3D成像? 掃描3D成像方法可分為掃描測距、主動三角法、色散共焦法。掃描測距是利用一條準直光束通過1D測距掃描整個目標表面實現3D測量的。主動三角法是基于三角測量原理,利用準直光束、一條或多條平面光束掃描目標表面完成3D成像,如圖4所示。色散共焦通過分析反射光束的光譜,獲得對應光譜光的聚集位置, 如圖5所示。 ?
圖 4 線結構光掃描三維點云生成示意圖
圖 5 色散共焦掃描三維成像示意圖 掃描3D成像的最大優點是測量精度高。其中色散共焦法還有其它方法難以比擬的優點,如非常適合測量透明物體、高反與光滑表面的物體。但缺點是速度慢、效率低;用于機械手臂末端時,可實現高精度3D測量,但不適合機械手臂實時3D引導與定位,因此應用場合有限。另外主動三角掃描在測量復雜結構面形時容易產生遮擋,需要通過合理規劃末端路徑與姿態來解決。 結構光投影3D成像 結構光投影三維成像目前是機器人3D視覺感知的主要方式。結構光成像系統是由若干個投影儀和相機組成,常用的結構形式有:單投影儀-單相機、單投影儀-雙相機、單投影儀-多相機、單相機-雙投影儀和單相機-多投影儀等。結構光投影三維成像的基本工作原理是:投影儀向目標物體投射特定的結構光照明圖案,由相機攝取被目標調制后的圖像,再通過圖像處理和視覺模型求出目標物體的三維信息。 根據結構光投影次數劃分,結構光投影三維成像可以分成單次投影3D和多次投影3D方法。單次投影3D主要采用空間復用編碼和頻率復用編碼形式實現。由于單次投影曝光和成像時間短,抗振動性能好,適合運動物體的3D成像,如機器人實時運動引導,手眼機器人對生產線上連續運動產品進行抓取等操作。但是深度垂直方向上的空間分辨率受到目標視場、鏡頭倍率和相機像素等因素的影響,大視場情況下不容易提升。 多次投影3D具有較高空間分辨率,能有效地解決表面斜率階躍變化和空洞等問題。不足之處在于: 1)對于連續相移投影方法,3D重構的精度容易受到投影儀、相機的非線性和環境變化的影響; 2)抗振動性能差,不合適測量連續運動的物體; 3)在Eye-in-Hand視覺導引系統中,機械臂不易在連續運動時進行3D成像和引導; 4)實時性差,不過隨著投影儀投射頻率和CCD/CMOS圖像傳感器采集速度的提高,多次投影方法實時3D成像的性能也在逐步改進。 對于粗糙表面,結構光可以直接投射到物體表面進行視覺成像;但對于大反射率光滑表面和鏡面物體3D成像,結構光投影不能直接投射到被成像表面,需要借助鏡面偏折法。 偏折法對于復雜面型的測量,通常需要借助多次投影方法,因此具有多次投影方法相同的缺點。另外偏折法對曲率變化大的表面測量有一定的難度,因為條紋偏折后反射角的變化率是被測表面曲率變化率的2倍,因此對被測物體表面的曲率變化比較敏感,很容易產生遮擋難題。 立體視覺3D成像 立體視覺字面意思是用一只眼睛或兩只眼睛感知三維結構,一般情況下是指從不同的視點獲取兩幅或多幅圖像重構目標物體3D結構或深度信息,如圖6所示。
圖6 立體視覺三維成像示意圖 立體視覺可分為被動和主動兩種形式。被動視覺成像只依賴相機接收到的由目標場景產生的光輻射信息,該輻射信息通過2D圖像像素灰度值進行度量。被動視覺常用于特定條件下的3D成像場合,如室內、目標場景光輻射動態范圍不大和無遮擋;場景表面非光滑,且紋理清晰,容易通過立體匹配尋找匹配點;或者像大多數工業零部件,幾何規則明顯,控制點比較容易確定等。 主動立體視覺是利用光調制(如編碼結構光、激光調制等)照射目標場景,對目標場景表面的點進行編碼標記,然后對獲取的場景圖像進行解碼,以便可靠地求得圖像之間的匹配點,再通過三角法求解場景的3D結構。主動立體視覺的優點是抗干擾性能強、對環境要求不高(如通過帶通濾波消除環境光干擾),3D測量精度、重復性和可靠性高;缺點是對于結構復雜的場景容易產生遮擋問題。 基于結構光測量技術和3D物體識別技術開發的機器人3D視覺引導系統,可對較大測量深度范圍內散亂堆放的零件進行全自由的定位和拾取。相比傳統的2D視覺定位方式只能對固定深度零件進行識別且只能獲取零件的部分自由度的位置信息,具有更高的應用柔性和更大的檢測范圍。可為機床上下料、零件分揀、碼垛堆疊等工業問題提供有效的自動化解決方案。 機器視覺3D引導系統框架
3D重建和識別技術 通過自主開發的3D掃描儀可獲準確并且快速地獲取場景的點云圖像,通過3D識別算法,可實現在對點云圖中的多種目標物體進行識別和位姿估計。
3D重建和識別效率
多種材質識別效果測試 得益于健壯的重建算法和識別算法,可對不同材質的零件進行穩定的重建和識別,即便是反光比較嚴重的鋁材料及黑色零件都能獲得較好的重建和識別效果,可適用于廣泛的工業場景。
機器人路徑規劃 并不是獲得零件的位姿信息后就能馬上進行零件的拾取,這僅僅只是第一步,要成功拾取零件還需要完成以下幾件事:
自主開發的機器人軌跡規劃算法,可輕松完成上述工作,保證機器人拾取零件過程穩定可靠。 快速切換拾取對象 只需要四個簡單的操作即可實現拾取對象的快速切換,無需進行復雜的工裝、產線的調整。
性能比較
1. 類似于飛行時間相機、光場相機這類的相機,可以歸類為單相機3D成像范圍,它們體積小,實時性好,適合隨動成像眼在手系統執行3D測量、定位和實時引導。但是,飛行時間相機、光場相機短期內還難以用來構建普通的隨動成像眼在手系統,主要原因如下: 1)飛行時間相機空間分辨率和3D精度低,不適合高精度測量、定位與引導。 2)對于光場相機,目前商業化的工業級產品只有為數不多的幾家,如德國Raytrix,雖然性能較好,空間分率和精度適中,但價格貴,使用成本太高。
圖 7 隨動成像眼在手系統機器人3D視覺成像優選方案 2. 結構光投影3D系統,精度和成本適中,有相當好的應用市場前景。它由若干個相機-投影儀組成的,如果把投影儀當作一個逆向的相機,可以認為該系統是一個雙目或多目3D三角測量系統。 3. 被動立體視覺3D成像,目前在工業領域也得到較好應用,但應用場合有限。因為單目立體視覺實現有難度,雙目和多目立體視覺要求目標物體紋理或幾何特征清晰。 4. 結構光投影3D、雙目立體視覺3D都存在下列缺點:體積較大,容易產生遮擋。針對這個問題雖然可以增加投影儀或相機覆蓋被遮擋的區域,但會增加成像系統的體積,減少在Eye-in-Hand系統中應用的靈活性。
總結
雖然光學3D視覺成像測量方法種類繁多,但能夠安裝在工業機器人上,組成一種合適的隨動成像眼在手系統,對位置變動的目標執行3D成像測量、引導機器人手臂準確定位和實施精準操作的方法有限。因為從工業應用的角度來說,我們更關心的是3D視覺傳感器的精度、速度、體積與重量。
鑒于機器人末端能夠承受的端載荷有限,允許傳感器占用的空間有限,傳感器在滿足成像精度的條件下,重量越輕體積越小也就越實用。所以,對于隨動成像眼在手系統,最佳3D成像方法是采用被動單目(單相機)3D成像方法,這樣不僅體積小、重量輕,也解決了雙目和多目多視圖遮擋難題。
-
機器人
+關注
關注
211文章
28381瀏覽量
206919 -
機器人視覺
+關注
關注
0文章
48瀏覽量
10039 -
三維成像
+關注
關注
0文章
35瀏覽量
11102
原文標題:干貨 | 機器人視覺三維成像技術全解析
文章出處:【微信號:robotplaces,微信公眾號:機器人創新生態】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論