CS機(jī)器人視覺(jué)引導(dǎo)上下(2D相機(jī))
1. 簡(jiǎn)介
隨著工業(yè)的發(fā)展,在生產(chǎn)中對(duì)自動(dòng)化的要求越來(lái)越高,視覺(jué)技術(shù)已被廣泛引入機(jī)器人行業(yè),具備視覺(jué)的機(jī)器人能更快、更準(zhǔn)、更靈活地完成定位抓取、對(duì)位組裝等。基于圖像分析的視覺(jué)技術(shù)在機(jī)器人引導(dǎo)相關(guān)應(yīng)用中的主要作用是精確獲取對(duì)象物(待抓取
物體)和目標(biāo)物(待組裝物體)的坐標(biāo)位置和角度,并將圖像坐標(biāo)轉(zhuǎn)換為(工業(yè)機(jī)械臂)機(jī)器人能識(shí)別的機(jī)器人坐標(biāo),指導(dǎo)(機(jī)器人進(jìn)行糾偏和組裝。因此,手眼標(biāo)定和定位引導(dǎo)是機(jī)器視覺(jué)在機(jī)器人引導(dǎo)中應(yīng)用的的核心
1.1 手眼標(biāo)定原理
原理:所謂手眼標(biāo)定,即將手(機(jī)械手)和眼(攝像機(jī))的坐標(biāo)系統(tǒng)一起來(lái),解決相機(jī)與機(jī)械手之間的坐標(biāo)轉(zhuǎn)換關(guān)系,讓機(jī)械手能精確抓取到攝像機(jī)定位的目標(biāo)。
1.2 CS 機(jī)器人搭配視覺(jué)工作流程
CS 機(jī)器人搭配 2D 視覺(jué),常用于偏移取料。常見(jiàn)流程:來(lái)料位置不固定,視覺(jué)在固定高位對(duì)產(chǎn)品拍照,算出產(chǎn)品位置后把數(shù)據(jù)發(fā)給機(jī)器人,機(jī)器人走到對(duì)應(yīng)取料位夾取產(chǎn)品后再去放料。如 果沒(méi)有視覺(jué),也可以用電腦網(wǎng)口調(diào)試助手和電腦虛擬機(jī)搭配測(cè)試,模擬視覺(jué),用網(wǎng)口助手發(fā)對(duì)應(yīng)偏移數(shù)據(jù)給到機(jī)器人運(yùn)動(dòng)。
1.3 運(yùn)行前準(zhǔn)備
1.3.1 檢查網(wǎng)絡(luò)是否連通
插好網(wǎng)線,將機(jī)器人 IP 和視覺(jué) IP 設(shè)置成同網(wǎng)段(前三位相同,后一位不同),然后在視覺(jué)電腦終端 ping 機(jī)器人 IP,看是否能 ping 通,確認(rèn)網(wǎng)絡(luò)有連通。
1.3.2 示教機(jī)器人的工具 TCP 和用戶坐標(biāo)系
確認(rèn)機(jī)器人的工具 TCP,可以用四點(diǎn)法把 TCP 點(diǎn)做到吸盤/夾爪中點(diǎn),也可以不做,默認(rèn)在法蘭中心,在做旋轉(zhuǎn)中心標(biāo)定時(shí)用這個(gè)工具 TCP。
確認(rèn)機(jī)器人的坐標(biāo)系,可以利用基座坐標(biāo)系,也可以先新建用戶坐標(biāo)系,然后標(biāo)定時(shí)使
用對(duì)應(yīng)的用戶坐標(biāo)系
注:1.機(jī)器人采用的單位是 m 和弧度制,相機(jī)發(fā)送過(guò)來(lái)的一般是 mm 和角度制,需要在機(jī)器人端或在相機(jī)端轉(zhuǎn)換。
2.TCP/IP 通訊需要使用 FB2 口,需在網(wǎng)絡(luò)里配置 FB2 網(wǎng)口 IP 地址
1.3.3 9 點(diǎn)標(biāo)定方向+3 點(diǎn)標(biāo)定旋轉(zhuǎn) TCP 點(diǎn)
本案例采用 9 點(diǎn)標(biāo)定視覺(jué)方向與機(jī)器人基座標(biāo)系 X/Y /Z 方向一致,每次移動(dòng) 合適距離。
采用 3 點(diǎn)標(biāo)定視覺(jué)旋轉(zhuǎn)中心與機(jī)器人工具 TCP 相同。如圖

2. 案例分享
2.1 案例簡(jiǎn)介
機(jī)器人到固定位置取料,然后去拍照,獲取偏差值或者絕對(duì)值,以此來(lái)調(diào)整放料位置
PLC+2D 相機(jī)+CS 機(jī)器人
PLC 與機(jī)器人通訊協(xié)議:profinet,機(jī)器人做從站(CS-profinet 本文配置流程不再詳細(xì)介紹)
相機(jī)和機(jī)器人通訊協(xié)議:TCP/IP,機(jī)器人做客戶端

2.2 IO 定義
根據(jù)項(xiàng)目需求定義 IO 表

2.3 機(jī)器人配置
2.3.1 機(jī)器人基本配置
1.安裝方式(默認(rèn)正裝)
2.負(fù)載設(shè)置(設(shè)置負(fù)載和重心,如設(shè)置不正確,會(huì)影響拖動(dòng)效果和碰撞靈敏度)
3.根據(jù)需求看是否需要設(shè)置工具坐標(biāo) 3.根據(jù)需求看是否需要設(shè)置用戶坐標(biāo)
4. FB2 網(wǎng)口 IP 要和相機(jī)工控機(jī) IP 設(shè)置同一網(wǎng)段
5. 安裝需要的插件:寄存器監(jiān)視插件
(使用到的寄存器都需要重命名,方便在程序中使用,特別是整數(shù)寄存器和浮點(diǎn)寄存器,否則
程序中無(wú)法選擇該信號(hào))

(注意:CS 機(jī)器人 PN 名稱,無(wú)法由 PLC 分配,只可機(jī)器人配置內(nèi)更改)
2.3.3 安全原點(diǎn)輸出
可配置輸出主要配置安全原點(diǎn)信號(hào),即機(jī)器人在 Home 位自動(dòng)輸出一個(gè)信號(hào)
安全原點(diǎn)信號(hào)配置步驟:
1.設(shè)置原點(diǎn)
2.設(shè)置安全原點(diǎn)
3. 安全 IO 配置
3.1 首先【配置】【通用】里面找到【原點(diǎn)】 置一個(gè)機(jī)器人原點(diǎn),根據(jù)現(xiàn)場(chǎng)實(shí)際情況進(jìn)行設(shè)置,后期修改原點(diǎn)也可直接編輯位置。

3.2 設(shè)置安全原點(diǎn)
然后再進(jìn)入【配置】【安全】【安全原點(diǎn)】 輸入之前設(shè)置好的安全密碼, 然后參考原點(diǎn)選擇剛剛設(shè)置的原點(diǎn),點(diǎn)擊應(yīng)用,安全原點(diǎn)就配置好了

3.3 原點(diǎn)信號(hào)輸出
最后在【配置】【安全】【安全 IO】中選擇可配置輸出 IO,選擇其中一組信號(hào),然后配置成需要的安全原點(diǎn)信號(hào),這樣就可以機(jī)器人處于原點(diǎn)位置時(shí),可以在可配置 IO 輸出的端口讀到輸出信號(hào)。
注意:設(shè)置完安全原點(diǎn)后,如果更新了原點(diǎn)位置,安全原點(diǎn)信號(hào)是沒(méi)法在新的原點(diǎn)位置輸出
的,需按上面步驟,把第二步重新進(jìn)行更新一次原點(diǎn),這樣就可以輸出新的原點(diǎn)信號(hào)給外部設(shè)
備了。

可以通過(guò) profinet 通信協(xié)議讀取安全原點(diǎn),也可以通過(guò)已配置好的可配置輸出信號(hào)。
2.3.4 主程序和釋放抱閘配置
在啟動(dòng)選項(xiàng)卡配置開(kāi)機(jī)自動(dòng)加載任務(wù)文件,即主程序
自動(dòng)釋放抱閘配置后,機(jī)器人收到這個(gè)上升沿信號(hào)后,會(huì)依次打開(kāi)電源,釋放抱閘,若已經(jīng)打
開(kāi)電源,會(huì)直接釋放抱閘
注:?jiǎn)?dòng)任務(wù)數(shù)字輸入可不配置,這個(gè)信號(hào)只有開(kāi)機(jī)后第一次啟動(dòng)任務(wù)有效,如中途暫停或停止后信號(hào)無(wú)效

2.3.4 啟動(dòng)信號(hào)配置
(需要安裝寄存器插件,向艾利特工程師獲取或者點(diǎn)擊可下載 RegisterMonitor-1.2.6.0.elico)
配置-通用-IO,這里主要重命名信號(hào),如果不重新命名,在 IO 配置中無(wú)法選擇此信號(hào)
輸入信號(hào):

輸出信號(hào):如上圖
2.4 機(jī)器人接線
2.4.1 遠(yuǎn)程開(kāi)關(guān)機(jī)
機(jī)器人開(kāi)機(jī)步驟:1.控制柜電源打開(kāi)
2.點(diǎn)擊示教器上的開(kāi)機(jī)按鈕(可以通過(guò)接線實(shí)現(xiàn),如下圖)
B2

2.4.2 急停接線

2.4.3 網(wǎng)絡(luò)連接

2.4.4 遠(yuǎn)程模式
外部控制機(jī)器人啟動(dòng)需要將機(jī)器人模式改為遠(yuǎn)程模式。

2.4.5 啟動(dòng)時(shí)序
1.遠(yuǎn)程開(kāi)機(jī)或者示教器點(diǎn)擊開(kāi)機(jī)按鈕
2.PLC 給機(jī)器人發(fā)送自動(dòng)釋放抱閘信號(hào),等待機(jī)器人反饋抱閘已釋放信號(hào)
3.在機(jī)器人無(wú)急停無(wú)報(bào)錯(cuò)信號(hào)情況下,給機(jī)器人一個(gè)啟動(dòng)信號(hào),等待機(jī)器人運(yùn)行中信號(hào)反饋,如
果超過(guò) 2 秒,未收到機(jī)器人運(yùn)行中信號(hào),關(guān)閉啟動(dòng)信號(hào) 0.5 秒,再次啟動(dòng),循環(huán)直到收到啟動(dòng)信號(hào) 止如需要程序重新開(kāi)始,則給機(jī)器人停止信號(hào),機(jī)器人反饋停止中,關(guān)閉停止信號(hào),再給機(jī)器
人啟動(dòng)信號(hào),機(jī)器人反饋運(yùn)行中,再關(guān)閉啟動(dòng)信號(hào)
4. 如需暫停任務(wù),可配置暫停信號(hào)。
3.相機(jī)標(biāo)定
機(jī)器人要與相機(jī)進(jìn)行 9 點(diǎn)標(biāo)定或 3 點(diǎn)旋轉(zhuǎn)。若創(chuàng)建了坐標(biāo)系,則給相機(jī)的點(diǎn)位要在創(chuàng)建的坐標(biāo)
系下的點(diǎn)位
9 點(diǎn)標(biāo)定是為了建立相機(jī)坐標(biāo)系和機(jī)器人坐標(biāo)系之間的變換關(guān)系
3 點(diǎn)旋轉(zhuǎn)是為了旋轉(zhuǎn)中心與機(jī)器人工具 TCP 一致
標(biāo)定按照下圖順序進(jìn)行,即機(jī)器人依次到達(dá) 12 個(gè)點(diǎn)位,并把這 12 個(gè)點(diǎn)位坐標(biāo)給到相機(jī)不同廠家的相機(jī) 9 點(diǎn)標(biāo)定的順序可能不同,可按情況進(jìn)行調(diào)整

3.1 標(biāo)定程序
定義和 PLC 通信的兩個(gè)整形寄存器:
輸入:標(biāo)定位置編號(hào)
輸出:反饋位置編號(hào)
PLC 通過(guò)標(biāo)定位置編號(hào)賦值,讓機(jī)器人執(zhí)行對(duì)應(yīng)標(biāo)定位置,機(jī)器人到達(dá)位置后,并反饋位置標(biāo)
號(hào),反饋正確,讓相機(jī)記錄相關(guān)信息,此時(shí)可以執(zhí)行標(biāo)定。
注意:可以自定義 X 方向偏移距離(doffsetX),Y 方向偏移距離(doffsetY)和旋轉(zhuǎn)角度
(doffsetT),doffsetX 和 doffsetY 單位是米, CamNum 是相機(jī)標(biāo)定位置編號(hào),可以利用 PLC 往里面?zhèn)鬟f參數(shù),可以實(shí)現(xiàn)根據(jù)相機(jī)的需要自動(dòng)標(biāo)定,


4.機(jī)器人程序
4.1 機(jī)器人動(dòng)作流程
機(jī)器人搭配視覺(jué)的動(dòng)作流程如下圖 :

4.2 機(jī)器人收相對(duì)坐標(biāo)
機(jī)器人收到視覺(jué)發(fā)送過(guò)來(lái)的坐標(biāo)是相對(duì)值,也就是相對(duì)取料基準(zhǔn)位的偏移,機(jī)器人在取料
基準(zhǔn)位上加上視覺(jué)發(fā)過(guò)來(lái)的偏移量(dx,dy,rz),到達(dá)糾偏后的取料位。程序如下圖 。

網(wǎng)口通訊程序 socket_tcpip.script 如下圖 :

接收視覺(jué)坐標(biāo)腳本程序 receive.script 如下圖 6。視覺(jué)發(fā)過(guò)來(lái)的數(shù)據(jù)按照:"OK,1,2,3#"格式,第 1 位數(shù)代表標(biāo)志符,拍照成功發(fā)送"OK",拍照失敗發(fā)送"NG";第 2,3,4 位數(shù)分別是 X,Y,RZ 方向的偏移,數(shù)據(jù)用","隔開(kāi),末尾用"#"作為結(jié)束符。

4.3 機(jī)器人收絕對(duì)坐標(biāo)
機(jī)器人收到視覺(jué)發(fā)送過(guò)來(lái)的坐標(biāo)是相對(duì)值,也就是相對(duì)取料基準(zhǔn)位的偏移,機(jī)器人在取料基準(zhǔn)位上加上視覺(jué)發(fā)過(guò)來(lái)的偏移量(dx,dy,rz),到達(dá)糾偏后的取料位。程序如下圖 。

機(jī)器人接收數(shù)據(jù)腳本如下圖
