張 楊,何新君
(1.上海城建職業(yè)學(xué)院 機電工程與信息學(xué)院,上海 201415;2.上海發(fā)那科機器人有限公司 上海發(fā)那科技術(shù)學(xué)院,上海 201906)
工業(yè)機器人的機器視覺就能夠為工作過程中的機器人獲取并提供圖像,便于分析生產(chǎn)流水線與環(huán)境,提高其自主性和穩(wěn)定性,因此工業(yè)機器人的視覺跟蹤控制系統(tǒng)成為了近些年的主要研究內(nèi)容。
國內(nèi)有學(xué)者作出一定的研究成果。如文獻(xiàn)[1]中,為了解決焊接機器人在工作過程中受到弧光干擾的問題,引入了與焊縫相關(guān)的核濾波跟蹤算法,在焊縫跟蹤的過程中保證跟蹤效果實時、精確、可靠。在設(shè)計過程中采用大量正負(fù)樣本進(jìn)行訓(xùn)練,完成高斯核函數(shù)空間的映射后進(jìn)行計算,構(gòu)建樣本循環(huán)矩陣,通過傅里葉變換簡化計算,并在系統(tǒng)中嵌入算法,提高焊接過程中的跟蹤和糾偏的實時性。文獻(xiàn)[2]中首先訓(xùn)練深度卷積神經(jīng)網(wǎng)絡(luò),然后去計算視頻圖像中的每個傳輸圖像,得到圖像深度信息以及相關(guān)估計,完成機器人在工作區(qū)域中目標(biāo)區(qū)域的識別,還能夠?qū)δ繕?biāo)的運動跟蹤方向完成標(biāo)記。文獻(xiàn)[3]中利用顏色特征確定圓形光點,在利用雙目視覺獲取靶點特征圖像,并代入OpenCV技術(shù)函數(shù)庫中,光流法進(jìn)行函數(shù)匹配后,二值化閾值處理并分割背景與目標(biāo),實現(xiàn)了目標(biāo)的視覺跟蹤定位。以上用于工業(yè)機器人的視覺跟蹤控制的系統(tǒng)都在實際應(yīng)用中取得了良好的效果,但是這些跟蹤控制系統(tǒng)在輸入控制信號后存在滯后響應(yīng),由此導(dǎo)致的時間延遲會造成機器人在實際應(yīng)用中抓取精度較低,因此本文設(shè)計一種基于時延補償機理的工業(yè)機器人視覺跟蹤控制系統(tǒng)。
對于工業(yè)機器人視覺跟蹤控制系統(tǒng)來說,系統(tǒng)中所帶有的攝像機視覺系統(tǒng)是重要的信息獲取工具。通過攝像機采集到目標(biāo)物體的運動信息,對于工業(yè)機器人的識別、抓取是重要的依據(jù)。因此在系統(tǒng)的硬件設(shè)計中對于攝像機的參數(shù)進(jìn)行標(biāo)定,能夠給系統(tǒng)提供更可靠的目標(biāo)信息,對于提高機器人的抓取成功率也有一定幫助[3]。本文的系統(tǒng)在硬件設(shè)計中,需要通過一系列的計算對攝像機的外部參數(shù)進(jìn)行標(biāo)定。標(biāo)定的依據(jù)主要是依靠攝像機、工業(yè)機器人各自所在的坐標(biāo)系之間存在的關(guān)系進(jìn)行研究和確定,兩坐標(biāo)系之間的關(guān)系如下圖所示。
在兩個坐標(biāo)系相互轉(zhuǎn)換的過程中,涉及攝像機的內(nèi)部參數(shù),在忽略由于環(huán)境導(dǎo)致的攝像機畸變問題時,參數(shù)可以表示為:
上式中,M表示內(nèi)部參數(shù),u0、v0是圖像中的中心坐標(biāo),ax是u方向上的尺度因子,ay是v方向上的尺度因子。在兩坐標(biāo)的轉(zhuǎn)換過程中,經(jīng)過旋轉(zhuǎn)矩陣的計算,將兩個坐標(biāo)系的標(biāo)記結(jié)果歸一化[4],對于攝像機參數(shù)的標(biāo)定有指導(dǎo)意義。至此完成系統(tǒng)中的硬件設(shè)計。
2.2.1 工業(yè)機器人運動建模
根據(jù)工業(yè)機器人的結(jié)構(gòu)和參數(shù),在連桿變化及其運動方程的基礎(chǔ)上,構(gòu)建機器人的參考坐標(biāo)系及各關(guān)節(jié)的坐標(biāo)系,而其自身具有的獨立坐標(biāo)軸運動的數(shù)量決定了機器人的運動自由度,通常工業(yè)機器人采用六個自由度,對精度、速度、穩(wěn)定性等要求很高。工業(yè)機器人的轉(zhuǎn)動關(guān)節(jié)和連桿在工作過程中,會涉及相對坐標(biāo)的變換,例如平移、旋轉(zhuǎn)、齊次變換等[5]。對于平移和旋轉(zhuǎn)變換來說,是坐標(biāo)的整體變換,在此不一一敘述。針對齊次變換來說,假設(shè)一組關(guān)節(jié)點p,且該點存在的直角坐標(biāo)系中的位置描述寫作下式:
在經(jīng)過齊次變換后,得到的該關(guān)節(jié)在齊次坐標(biāo)系中的坐標(biāo)描述為:
上式中,a,b,c分別表示坐標(biāo)系中三條坐標(biāo)軸上的相應(yīng)矢量,Trans表示的是坐標(biāo)系之間的平移齊次變換。對于建立的工業(yè)機器人運動模型來說,需要表示出機械臂中運動連桿部分的運動機理以及內(nèi)在聯(lián)系,對于機械臂在運動過程中活動的連桿,其坐標(biāo)系之間的變換可以視為齊次坐標(biāo)變換[6],此時可以通過得到的齊次坐標(biāo)變換矩陣進(jìn)行描述。由此,通過一個4×4 的齊次變換矩陣描述了相鄰的兩個連桿之間的關(guān)系。
假設(shè)齊次坐標(biāo)變換矩陣A1對工業(yè)機器人的第一個連桿進(jìn)行描述,A2對工業(yè)機器人的第二個連桿進(jìn)行描述,那么第二個連桿在基坐標(biāo)系中的位姿就可以表示為:
同理,可以推出工業(yè)機器人若干個連桿位姿的表示公式,即工業(yè)機器人的正運動學(xué)公式為:
式中,ALi表示第i個連桿模塊的輸出坐標(biāo)系相對輸入坐標(biāo)系的變換矩陣表示第i個關(guān)節(jié)模塊的輸出坐標(biāo)系相對輸入坐標(biāo)系的旋轉(zhuǎn)變換矩陣;表示第i個關(guān)節(jié)模塊的輸出坐標(biāo)系相對輸入坐標(biāo)系的初始旋轉(zhuǎn)變換矩陣;φi表示第i個關(guān)節(jié)在自身坐標(biāo)系中的運動旋量;qi表示第i個關(guān)節(jié)模塊輸出坐標(biāo)系相對輸入坐標(biāo)系的旋轉(zhuǎn)角度。公式(6)主要描述了連桿和關(guān)節(jié)之間相對于極坐標(biāo)系的位姿計算,根據(jù)各連桿模塊和關(guān)節(jié)模塊的矩陣連乘即可得到運動學(xué)正解的指數(shù)積公式。
2.2.2 引入時延補償算法
通過上述構(gòu)建了工業(yè)機器人的運動學(xué)模型,可通過雙目視覺系統(tǒng)控制運動點的位移、速度和加速度,規(guī)劃機器人的運動軌跡,實現(xiàn)工業(yè)機器人的作業(yè)控制。但在工業(yè)機器人視覺跟蹤控制系統(tǒng)中,存在通信過程,不可避免會出現(xiàn)時延問題。網(wǎng)絡(luò)時延是影響工業(yè)機器人在抓放作業(yè)、弧焊和曲面加工作業(yè)等方面成功率的主要影響因素。因此,本文提出引入時延補償算法,補償工業(yè)機器人關(guān)節(jié)控制時間,使關(guān)節(jié)在運動起點到終點的過程能夠平滑過渡[7]。
在當(dāng)前時刻k之前,工業(yè)機器人的關(guān)節(jié)控制共發(fā)生了n次網(wǎng)絡(luò)時延,其中最大值和最小值為tmax和tmin,平均時延為,△t表示當(dāng)前時刻時延tk與平均時延的差值,該差值的最大值和最小值分別為△tmax和△tmin。由此可以推算將區(qū)間均勻劃分為l個子區(qū)間,將區(qū)間[△tmin,△tmax]均勻劃分為m個子區(qū)間,經(jīng)過模糊控制的工業(yè)機器人關(guān)節(jié)控制補償輸出為:
式中,A,B,C表示一定維數(shù)的常數(shù)矩陣,xk表示當(dāng)前時刻關(guān)節(jié)狀態(tài)變量,uk表示當(dāng)前時刻關(guān)節(jié)控制輸入變量,ri表示第i條模糊規(guī)則,i=1,2,…,lm。
該補償算法對于工業(yè)機器人這種非線性時變的系統(tǒng)來說,更加適用。
2.2.3 視覺跟蹤控制
在對工業(yè)機器人進(jìn)行模糊時延補償后,能夠以較優(yōu)越的實時性進(jìn)行工業(yè)機器人控制信號傳輸,在接受控制信號后,需要對信號進(jìn)行處理,實現(xiàn)機器人視覺跟蹤的控制輸出。
在工業(yè)機器人的模糊時延補償中,模糊控制的結(jié)構(gòu)主要是雙輸入單輸出。對于輸入變量來說,一個是參考信號,另一個是輸出信號的變差變化情況。本文設(shè)計的工業(yè)機器人模糊控制示意圖如圖2所示。
對于偏差以及偏差的變量來說,可以利用其語言值的模糊子集進(jìn)行表示[8],其子集為{NB,NM,Z,PM,PB},得到的工業(yè)機器人模糊判斷的規(guī)則矩陣為:
在工業(yè)機器人視覺跟蹤模糊控制中,為了簡化過程,對于模糊控制器來說,得到模糊輸出量,經(jīng)過解模糊轉(zhuǎn)化為清晰量,實現(xiàn)機器人視覺跟蹤的控制輸出。其中,輸入端和輸出端的增益量j設(shè)置為3 個,在系統(tǒng)的跟蹤控制過程中,可以對這3 個增益量進(jìn)行調(diào)節(jié)來控制隸屬度函數(shù),得到機器人視覺跟蹤控制輸出如下:
式中,wj表示各模糊子集組成元素的權(quán)重,w'表示模糊輸出量。
為了驗證本文設(shè)計的基于時延補償機理的工業(yè)機器人視覺跟蹤控制系統(tǒng)在實際應(yīng)用過程中具有較好的性能,需要搭建合適的系統(tǒng)仿真測試環(huán)境,進(jìn)行抓取試驗驗證。設(shè)計的機器人視覺跟蹤控制系統(tǒng)的測試環(huán)境主要分為控制部分與交互部分。對于上位交互系統(tǒng)來說,系統(tǒng)架構(gòu)中主要包括用戶層、應(yīng)用層和數(shù)據(jù)庫,并通過不同的實現(xiàn)方式對不同的機器人作業(yè)請求進(jìn)行處理,搭建的系統(tǒng)測試中上位交互結(jié)構(gòu)如下圖所示。
在性能測試實驗中,主要是對機器人的視覺跟蹤控制性能進(jìn)行測試,跟蹤控制性能可以依靠識別和抓取兩部分進(jìn)行評價。在識別過程中,主要是發(fā)現(xiàn)、識別、測距,設(shè)計的識別與定位的物體詳細(xì)信息如表1所示:
表1 識別與定位目標(biāo)信息描述
計算出Hu不變矩和相應(yīng)的長軸,完成對運動物體的形狀識別和姿態(tài)跟蹤。
在以上的環(huán)境和數(shù)據(jù)參數(shù)下,首先進(jìn)行數(shù)據(jù)預(yù)處理,利用幀間差分法檢測運動物體。在整體的檢測過程中,在識別、測量過程中對不同角度的圖像進(jìn)行處理。在抓取過程中,當(dāng)目標(biāo)運動物體移動出視覺范圍,跟蹤控制系統(tǒng)開始進(jìn)行抓取,機器人在完成運動物體的測量之后,將得到的運行速度視為初始速度,并沿著相同方向運動,實時獲取目標(biāo)物體的質(zhì)心位置與期望位置進(jìn)行對比,控制工業(yè)機器人作出相應(yīng)的動作,當(dāng)?shù)竭_(dá)期望圖像的質(zhì)心位置后進(jìn)行抓取。為驗證本文系統(tǒng)的性能,在相同實驗環(huán)境下,選擇無時延補償?shù)南到y(tǒng)進(jìn)行對比,將結(jié)果進(jìn)行統(tǒng)計和分析。
在上述的實驗環(huán)境下,對兩種系統(tǒng)的抓取誤差進(jìn)行統(tǒng)計,隨機選取相同時間下的兩系統(tǒng)在不同方向上的抓取誤差對比圖,結(jié)果如圖4所示。
圖4中,圖(a)為x方向上的實時誤差,圖(b)為y方向上的實時誤差,為了保證實驗的可靠性,兩系統(tǒng)對不同的定位目標(biāo)分別進(jìn)行了1 000次抓取試驗,得到的抓取成功次數(shù)結(jié)果如表2所示。
從表2的性能測試結(jié)果可知,本文提出的基于時延補償機理的工業(yè)機器人視覺跟蹤控制系統(tǒng)中,由于考慮到了時延補償,因此在抓取過程中的成功率比較穩(wěn)定,基本能夠維持在910 次以上,但是無時延補償?shù)目刂葡到y(tǒng)中,抓取成功的次數(shù)與本文系統(tǒng)相比較少,且性能不穩(wěn)定。綜上所述,本文設(shè)計的基于時延補償機理的工業(yè)機器人視覺跟蹤控制系統(tǒng)在提高抓取成功率方面具有一定有效性。
表2 抓取成功次數(shù)統(tǒng)計結(jié)果
為了解決工業(yè)機器人在實際工作過程中的延遲問題,提出了應(yīng)用于工業(yè)機器人視覺跟蹤控制系統(tǒng)的時延模糊補償方法,并對時延補償機理的工業(yè)機器人視覺跟蹤控制系統(tǒng)進(jìn)行了硬件和軟件兩方面的設(shè)計。硬件設(shè)計中主要通過攝像機與機械臂之間的坐標(biāo)系關(guān)系標(biāo)定攝像機的外部參數(shù),軟件設(shè)計中,對工業(yè)機器人的運動情況進(jìn)行建模,機器人機械臂在運動過程中產(chǎn)生坐標(biāo)系變換,利用齊次坐標(biāo)變換矩陣描述機械臂連桿運動位姿,引入模糊時延補償算法來提高控制精度。本文設(shè)計的系統(tǒng)取得了一定的研究進(jìn)展,但是還有很多細(xì)節(jié)需要進(jìn)行研究與探討。