EPSON機械手視覺操作手冊


EPSON機械手視覺操作手冊


版 本 歷 史
版本    起止日期    AMD    修訂者    說明
1.0.0    2020年03月24日    A  iyouqingi                      
注:(A-添加,M-修改,D-刪除)

 

 

 


本節主要針對EPSON RC+選件—— Vision Guide 7.0主要致力於提供解決機器人指導應用所需的視覺工具,Vision Guide 7.0有能力提供多種不同類型的機器視覺應用。Vision Guide 7.0與其他視覺系統的主要差別之一是,Vision Guide 7.0形成了EPSON機器人系統的一個組成部分。因此,其他EPSON RC+7.0的基本特性這裏不再詳細介紹。
下文將從新視 覺對象的創建、Vision Guide 7.0 可移動式相機的校準、實際的機器人動作到Vision Guide 7.0檢測到的零件,利用示例應用向用戶介紹了第一次使用Vision Guide 7.0應如何操作。  


創建一個簡單的視覺系統尋找零件應用,使機器人向零件移動過程: 
- 本教程所需的物品(相機鏡頭)。 
- 創建一個新的 EPSON RC+ 7.0 項目。 
- 新建一個視覺序列。 
- 利用 Blob 對象來尋找零件。 
- 編寫一個 SPEL+程序來與視覺序列交互。 
- 用相機來校準機器人。 
- 利用視覺系統指示機器人向零件移動。 
- 找到並移動到多個相似零件。

一、教程所需要以下物品: 

- 必須將 EPSON RC+ 7.0 安裝在您的電腦上。 
- 必須爲 Vision Guide 7.0 安裝一臺相機(含鏡頭光源)並保證相機正常工作。 
- 將 EPSON 機器人安裝在底座上,該底座需有一個工作表面,並且該工作表面應連接在機器人正面,以便機器人能夠使用此工作表面。連接計算機、相機、控制器和以太網交換機之間的以太網電纜時,確保計算機的主 電源、控制器電源和相機電源已經關閉。未關閉電源可能造成損害。
- 相機安裝鏡頭,並且嘗試給鏡頭對焦。爲了檢查您的對焦情況,可打開了 Vision Guide 窗口來觀察圖像,現在我們只需要確保我們能夠準確看到靶紙上的目標特徵。

二、啓動EPSON RC+ 7.0並創建一個新項目 

(1) 開啓您的控制器。 
(2) 雙擊 Windows 桌面上的<EPSON RC+7.0>圖標來啓動 EPSON RC+7.0。 
(3) 點擊 EPSON RC+7.0 菜單欄上的 Project 菜單。 
(4) 點擊 Project 項目菜單的 New Project 菜單條目,會顯示 New Project 對話框。 
(5) 鍵入新項目的名稱。我們推薦您使用自己的名字,並在後面附上字母"tut"。以便試用本教程的每個人都能夠爲其項目建立一個獨特的名稱。我們此處的項目將會用到名稱“vgtut”。您在名稱字段鍵入了名稱之後,點擊<OK>按鈕。至此,您已創建了一個名叫 xxxxtut 的新項目。 

三、新建一個視覺序列 

(1) 一旦您創建了新的 EPSON RC+7.0 項目,您將會注意到許多的工具欄圖標都啓用了(不再呈灰色)。找到<Vision >工具欄按鈕。點擊視覺工具欄按鈕以打開 Vision Guide 窗口。 
(2) 我們在使用 Vision Guide 7.0 窗口之前,必須首先創建一個視覺序列。通過點擊<New Sequence >工具欄按鈕來完成新視覺序列的創建。請記住,該工具欄按鈕位於 Vision Guide 窗口工具欄上,而不是在 EPSON RC+7.0 主工具欄上。此時將出現[New Sequence]的對話框。 
(3) 輸入新視覺序列的名稱“blobtut”並點擊 OK 鍵。之後我們在 EPSON RC+7.0的代碼中將使用名稱“blobtut”,因此須確保按照以上的拼寫準確鍵入該名稱,不帶引號。現在我們已經創建了一個名爲“blobtut”的新視覺序列,並且從現在起我們將圍繞該視覺序列進行操作。


四、利用 Blob 對象來尋找零件


第1步:創建一個新的Blob對象 
(1) 用鼠標左鍵點擊 Vision Guide 7.0 工具欄上<New Blob>工具欄按鈕 ,然後釋放按鈕。(一旦您點擊了 New Blob 工具欄按鈕,不要按着鼠標左鍵不放。) 
(2) 現在將鼠標向下移到圖像顯示區域中心的墊圈圖像上。離開 Vision Guide 7.0 工具欄後,鼠標指針將變爲 Blob 對象圖標。 
(3) 繼續將鼠標移動到圖像顯示區域的中心,然後點擊鼠標左鍵。此舉將完成新Blob 對象在圖像顯示區域中的定位。
 

第2步:確定Blob對象位置及尺寸 
現在我們需要爲 Blob 對象的搜索窗口進行定位並規定其尺寸。Blob 對象“Blob01”的搜索窗口爲下圖中墊圈左邊的框。我們將搜索窗口放大,以便能夠在幾乎整個視場內搜索墊圈。
 

第3步:設置屬性並運行Blob對象 
現在搜索窗口已經大到能夠看到搜索窗口中的墊圈。現在我們準備好來測試 Blob 對象,以確保能夠找到墊圈。 
(1) 點擊位於 Vision Guide 窗口右上側樹中的 Blob01 對象。此舉將顯示 Blob01 對象的屬性和結果。
 
(2) 查看屬性列表並查找 Name 屬性。雙擊 Name 屬性的 Value 字段以突出顯示當前的名稱。現在輸入名稱“washer”。我們就將 Blob 對象的名稱改成了“washer”。查看 Name 下拉菜單中[Jog]選項卡頂部以及搜索窗口上的名稱標籤,您會發現兩處的名稱都更改了。
 

(3) 在您查看 Properties 列表時,您可能也想檢查 Polarity 屬性。由於我們剛剛創建了一個新的二進制對象,Polarity 的默認值爲 DarkOnLight,表示在淺色背景上找到了一個深色二進制對象。我們也可以將該屬性更改爲LightOnDark。但是由於我們希望在淺色背景上找到一個深色二進制對象(墊圈),因此保持 Polarity屬性不變。 
(4) 現在我們準備好運行 Blob 對象“washer”。爲運行該對象,點擊位於運行面板右下方的 Run 按鈕。此舉將會執行 Blob 對象“washer”,並且在這種情況下,Blob 對象將會找到一個看起來像墊圈的二進制對象。您可在運行了 Blob 對象之後,通過檢查搜索窗口的顏色,確定已經找到了 Blob。如果找到了 Blob,則搜索窗口呈綠色;如果沒有找到則呈紅色。(您也可以通過檢查 Results 列表來查看是否找到了 Blob 接下來有更多內容) 
(5) 現在試着輕微移動印有目標墊圈的紙張,然後再次點擊 Run 按鈕。確保墊圈保持在您創建的搜索窗口中。您可以看見二進制對象的新位置已經找到並在圖像顯示窗口中用綠色加亮。(如果您移動紙張使得墊圈位於搜索窗口邊界以外,則 Blob 對象將找不到墊圈,您會發現這一情況是因爲在沒有找到對象時,搜索窗口將變成紅色。)

第4步:檢驗結果 
既然已經運行了名爲“washer”的 Blob,您可以檢驗該對象的返回結果。結果顯示在 Results 列表中,正好處於屬性列表之下。 
(1) 在 Results 列表中找出名爲 Found 的結果。這時,Found 結果的值應爲 True,因爲我們剛剛找到了二進制對象。如果沒有找到二進制對象,Found 結果將顯示爲 False。 
(2) 您也可以參見 Results 列表頂部的 Area 結果。此處顯示了找到的二進制對象的面積。 
(3) 使用滾動條將結果列表移動到底部。在 Blob 結果列表的底部您可以看到 Time結果。該結果告訴我們找到此二進制對象花了多少時間。


 
第5步:保存您的視覺序列 
此時我們可能需要保存我們所做的工作。同所有應用一樣,經常定期地保存您的工作是一個不錯的辦法。EPSON RC+ 7.0 的 Project Management 功能使與該項目相關的每個事項都能立刻進行保存。可以通過下面的一個步驟輕鬆完成:點擊<Save >工具欄按鈕。

五、編寫一個SPEL+程序來與視覺序列聯用

Vision Guide 7.0視覺序列和 SPEL+一起組合,列入了以下基本步驟:

(1)點擊 EPSON RC+ 7.0 工具欄上的<Open File >工具欄按鈕。此舉有名爲 main.prg 的程序的[Open File]對話框,進行創建。
(2)打開創建main.prg 程序文件。
(3)SPEL+程序來與視覺序列聯用以下爲示例程序,該程序將運行視覺序列“blobtut”,並檢“washer”的 Blob 對象相關的屬性。例如我們會檢查是否找到找到了,我們將顯示一條“The washer was found!”的消息以及如果沒有找到,我們將顯示一條“The washer was not found!”的現在您應看到在標題欄上顯示有 MAIN.PRG 的編輯窗口。
EPSON RC+ 7.0 的 Run 窗口分爲兩部分。Run 窗口的左半部分爲圖像顯示區域(注意中間顯示的墊圈),Run 窗口的右半部分爲文本區域,用於顯示文本消息。注意,找到了二進制對象以後,二進制對象在 Run 窗口左側的圖像顯示區域中用綠色突出顯示。

Function main 
Real area 
Boolean found 
VRun blobtut 
VGet blobtut.washer.Found, found 
If found = TRUE Then 
VGet blobtut.washer.Area, area 
Print "The washer was found!" 
Print "The washer area is: ", area, " pixels" 
Else 
Print "The washer was not found!" 
EndIf 
Fend


  


六、校準機器人相機 


這一部分將指導如何使用安裝在 SCARA 機器人 機械臂端部的 可移動式相機來校準機器人。校準所提供的機制使視覺系統得以瞭解機器人世界座標系。一旦校準之後,便可使用視覺系統來找到零件的機器人座標位置,以便機器人拾取零件。然而在開始校準之前,我們需要開啓電機並校準(歸位)機器人,從而使機器人準備就緒。


第1步:開啓電機 
(1) 點擊 EPSON RC+ 7.0 主工具欄上的<Robot Manager >工具欄按鈕。您會看到出現以下對話框。
 

第2步:利用Tool Setting來創建一個新工具 
爲了將帶有視覺系統的機器人用於指導應用,需要精確地測量工具或安裝在臂端的夾具的位置。一些工具偏離於 Z-軸法蘭的中心,而其它工具的安裝則與 Z-軸的中心對準。在安裝機器人工裝時,不論我們多麼仔細,也幾乎可以肯定有偏離 Z-軸的情況存在。因此我們必須使用 SPEL+的 Tools 功能來進行補償。 要使用 Vision Guide 來引導機器人,必須對工具有深入的理解。我們將使用 Tool Wizard(工具嚮導)功能來創建一個工具,爲我們的校準杆(夾具)所用。 
(1) 點擊[Tools]選項卡。 
(2) 點擊<Tool Wizard>按鈕。 
(3) 對於 Tool Wizard 中的第一點,點動機器人至目標位置(紙上的墊圈位置),以便杆或夾具準確位於墊圈的中心。您需要向下點動機器人,以便您能夠十分靠近靶紙,但又沒有接觸到靶紙。靶紙上方 5-10mm 空間內的任何位置都可以。您只需按要求儘可能地靠近靶紙,以便能夠很好地看到杆(或夾具),然後點動至墊圈的中心。 
(4) 對於 Tool Wizard 中的第二點,將 U 軸點動大約 180 度,然後點動杆或(夾具) 
直到其居於墊圈的中心。 
(5) 點擊<Finish>按鈕以確定新工具並退出 Tool Wizard。至此,我們已經確定了Tool1 的參數。
 
第3步:測試新工具 
現在您應返回 Jog 和 Teach 窗口。由於我們將機器人放在目標位置(墊圈)上之後還沒有點動機器人,所以機器人的夾具(或杆)應當依然位於目標位置的正上方。 
(1) 在 Z 方向(+Z)上將機器人向上點動約 10-15mm。這樣一來,將使我們的夾具(或杆)遠離工作表面,以防出問題。 
(2) 點擊位於 Jog 和 Teach 窗口右上角的工具下拉列表的向下箭頭。 
(3) 因爲我們想選擇工具 1,所以點擊“1”。(記住這是我們剛剛在步驟 4 中示教的工具。) 
(4) 現在試着將 U 軸向正反兩個方向點動。您應看到夾具(或杆)的尖端停留在其當前的 XY 位置上,而機器人圍繞該點旋轉。若工具偏離於 Z 軸中心,則更容易觀察到這種現象。如果您使用直接位於 Z 軸下方的杆,那麼就很難觀察到這種現象。 
(5) 當 U 軸在移動時,您應預料到在 XY 位置上的夾具(杆)也會有所移動。然而,U 軸的每個點動步驟完成以後,夾具應返回至目標(墊圈)的 XY 位置。 
(6) 如果您的工具看起來沒有正常地工作,返回到第 2 步並再次嘗試。 
(7) 關閉 Robot Manager。現在我們完成了機器人的定義和測試。 

第4步:啓動相機校準程序 
現在我們已準備好用可移動式相機來對機器人進行校準。 
(1) 點擊 EPSON RC+ 7.0 工具欄上的<Vision >工具欄按鈕,使視覺開發窗口回到屏幕前方。 
(2) 點擊 Vision Guide 窗口中的<New calibration >工具欄按鈕。將打開[New Calibration]對話框。 
(3) 輸入名稱“downcal”,並點擊 OK 按鈕。 
(4) 在[Calibration]窗口的屬性列表中將 CameraOrientation 屬性設爲“Mobile J4”。 
(5) 將 RobotTool 屬性更改爲 1, 這樣一來便將在示教校準基準點時選用 Tool 1。 
(6) 將 TargetSequence 屬性設置爲 blobtut。該序列將用於在校準過程中尋找零件。

 


第5步:示教校準點 
(1) 點擊位於視頻顯示下方的<Teach Points>按鈕。 
(2) 如下圖所示,Vision Guide 窗口切換到 Teach Points 模式。請注意,在 Vision Guide 窗口頂部將看見一則消息,要求您“Jog to top left camera position”,如下圖所示。這表示將機器人(和相機)點動至能在 Vision Guide 窗口圖像顯示區域左上角看見墊圈的位置。

下圖顯示了通過點動方式使機器人到達的大致位置。如圖所示,此爲需要校準的 9 個相機位置中的第一個位置。
  
示教需校準的相機位置(示教設置手動需要自己移動到相應位置,設置自動時機械手會自動一定位置但是不能保證9個位置都能找到) 
(3) 示教第一個相機位置:點動機器人,以便使相機位於能夠在 Vision Guide 窗口 
圖像顯示區域左上角看見墊圈的位置。 
(4) 點擊 Vision Guide 窗口上的 Teach 按鈕。 
(5) 示教第二個相機位置:點動機器人至第一個相機位置的右邊,以便使相機位於能夠在 Vision Guide 窗口圖像顯示區域頂部中間看見墊圈的位置。 
(6) 點擊 Vision Guide 窗口上的 Teach 按鈕。 
(7) 示教第三個相機位置:點動機器人至第二個相機位置的右邊,以便使相機位於能夠在 Vision Guide 窗口圖像顯示區域頂部右側看見墊圈的位置。 
(8) 點擊 Vision Guide 窗口上的 Teach 按鈕 
(9) 示教第四個相機位置:從第三個相機位置向下點動機器人,以便使相機位於能夠在 Vision Guide 窗口圖像顯示區域中間偏右處看見墊圈的位置。當您按順序參考所有的相機位置時,該位置將在第 3 個相機位置之下,這個位置爲 Z 字型圖案的起點。 
(10)點擊 Vision Guide 窗口上的 Teach 按鈕。
(11)示教第五至第九個相機位置:繼續根據 Vision Guide 窗口底部的指示,針對第五到第九個相機位置,點動機器人和示教點。Vision Guide 窗口將會顯示針對每個相機位置需要移動的位置。
(12)接下來窗口頂部顯示的消息爲“Jog to fixed reference”。這表示要點動機器人,以便夾具(杆)居於校準目標零件(這裏指墊圈)的中心位置。此時您可以忽略視頻顯示,因爲我們正在將機器人夾具同校準目標對準。繼續並點動機器人,以便夾具位於墊圈的中心。其定位十分重要,因爲您需要將機器人向下點動至靠近墊圈的位置,以實現良好對準。 
(13)一旦您將機器人夾具定位在了墊圈的中心,點擊位於 Vision Guide 窗口底部的<Teach>按鈕。 
(14)將 Z 軸向上點動至足夠高的位置,使夾具在校準過程中遠離工作表面,並排除任何因機器人夾具太低而撞擊到其它對象的可能性。在我們示教 9 個校準點中每個校準點時,均使用此 Z 高度。 
(15)在示教了最後一個相機位置以後,會出現一個對話框,說明“所有校準點已經完成了示教”。點擊 Finish 按鈕繼續。校準所需的點已經完成示教。 

第6步:運行相機校準 
以下顯示了完成相機校準程序的最後步驟: 
(1) 點擊 Vision Guide 窗口[Calibration]選項卡底部的<Calibrate>按鈕。 
(2) 將出現一個消息框,顯示“注意,機器人在校準過程中將以速度 10 和加速度 10移動,是否繼續?” 點擊<Yes>按鈕以繼續校準。在校準過程中,機器人將通過全部 9 個校準點,共兩遍。如果在機器人正在移動時您需要中止校準,點擊[Calibration Cycle]對話框底部的<Abort>按鈕。 
(3) 校準週期完成以後,出現[Calibration Complete]對話框並顯示校準結果數據。檢查數據然後點擊<OK>按鈕。 
注意,校準結果顯示在[Calibration]窗口的 Results 列表中。

第7步:將“downcal”校準分配至blobtut序列 
既然已經創建了“downcal”校準,我們就需要將該校準分配到我們的視覺序列(blobtut) 中。這將使 blobtut 序列能夠計算機器人和相機世界座標值中的結果。 
(1) 從[Vision Guide]窗口的序列目錄樹中點擊視覺序列:“blobtut”,將[Sequence]窗口置於前面。 
(2) 通過點擊 Calibration 屬性的值字段,將 Calibration 屬性設置爲“downcal”,然後點擊向下箭頭,最後點擊所顯示的名爲“downcal”的校準。此爲我們剛剛完成創建的校準。 
(3) 點擊序列和校準目錄樹右側顯示的<Jog>按鈕顯示[Jog]選項卡。 
(4) 使用點動按鈕在墊圈上方定位相機,以便您可以在圖像顯示區域內看到墊圈。 
(5) 從序列目錄樹中點擊“washer”對象,將[Object]窗口置於前面。 
(6) 點擊<Run Object>按鈕以運行“washer”對象。當找到零件時,查看 Result 列表。您將看到 CameraX、CameraY、RobotX、RobotY 和 RobotU 的結果不再顯示“nocal”結果。現在您可以看見關於機器人和相機座標系的座標位置數據。


七、使用視覺系統讓機器人移向零件 

現在修改我們的程序來使視覺系統和機器人聯用,以便找到墊圈的位置並移 
動到該位置。事先需要示教camshot、safept、washpos三個點位置。
“camshot”位置,在零件上方定位的相機才能使視覺系統看到零件。
“safept“ 位置,一個遠離墊圈的安全位置。
“washpos“位置, 計算墊圈拾取位置的Z高度。


第1步:修改SPEL+程序 
(1) 回到 EPSON RC+ 7.0主界面。 
(2) 打開 MAIN.PRG 程序文件。您將會看到我們先前運行的程序。 
(3) 現在修改程序,使其如下所示。請記住,SPEL+語言使用單引號 ' 來表示註解。

Function main 
'******************************************** 
' Very important statement below: Use the * 
' Z height which you wrote down earlier in * 
' Step 3 of "Teaching Robot Points for use * 
' with Vision Guidance.Substitute the * 
' Z height value (a negative number) which * 
' you wrote down in the place of the xx * 
' shown below. * 
'******************************************** 
#define ZHeight -xx 
Real area, x, y, u 
Boolean found 
Integer answer 
String msg$, answer$ 
Power Low 'Run robot at a slow speed and accel 
Tool 1 'Use Tool 1 for positioning 
Jump safept 'Move robot to safe start position 

Do 'Continue looping until user stops 
Jump camshot 'Move robot to take picture 
VRun blobtut 'Run the vision sequence blobtut 
VGet blobtut.washer.RobotXYU, found, x, y, u 
If found = True Then 
VGet blobtut.washer.area, area 
Print "The washer was found!" 
Print "The washer area is: ", area, "Pixels" 
washpos = XY(x, y, ZHeight, u) 'Set pos to move to 
Jump washpos 
msg$ = "The washer was found!" 
Else 
msg$ = "The washer was not found!" 
EndIf msg$ = msg$ + CRLF + "Run another cycle(Y/N)?" 
Print msg$ 
Input answer$ 
If Ucase$(answer$)<> "Y" Then 
Exit Do 
EndIf 
Loop 

第2步:運行程序以找到墊圈並移動至墊圈 
(1) 點擊 EPSON RC+ 7.0 主工具欄上的<Run>工具欄按鈕。這將導致程序進行編輯,然後開啓 Run 窗口。 
(2) 點擊 Run 窗口上的<Start>按鈕。 
(3) 現在您的程序將找到墊圈並將機器人移動至墊圈。在您成功找到墊圈以後,試着輕微移動墊圈,然後在對話框詢問您是否運行另一個週期時,點擊對話框中的<Yes>按鈕。如果沒有找到墊圈,將會出現一個不同的對話框,詢問您是否想要重試。在任何一種對話框中點擊<No>將導致程序停止運行。


版權聲明:本文爲博主整理文章,轉載請說明。  聯繫:   [email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章