謝 苗,李佩達(dá)
(遼寧工程技術(shù)大學(xué) 機械工程學(xué)院,阜新 123000)
隨著國家工業(yè)革命進程的不斷深入,工業(yè)自動化的程度也逐漸提高,機械臂的使用也更加普遍化,機械臂的應(yīng)用可以代替工人做一些重復(fù)的工作,降低工人的勞動強度,保證工作人員在一些危險環(huán)境中的生命安全,同時也大大降低產(chǎn)品的生產(chǎn)成本。大多數(shù)的機械臂在工作過程中的運動路徑都是一成不變的,通過精確記錄運動軌跡來實現(xiàn)機械臂的整套動作。如果機械臂的周圍環(huán)境參數(shù)發(fā)生變化,比如光線、目標(biāo)物體距離和位置發(fā)生改變,或者機械臂出現(xiàn)新的任務(wù)等待完成,就必須要重新對機械臂進行軌跡計算和規(guī)劃。這樣就需要增加很多成本,需要更多的時間花費在研發(fā)上,這就大大增加了產(chǎn)品的生產(chǎn)成本。因此,需要研發(fā)自動化程度更高的機械臂控制系統(tǒng)[1]。
目前出現(xiàn)可以自動識別機器人末端執(zhí)行器與目標(biāo)位置之間距離的技術(shù),該方法通過使用激光雷達(dá)或立體攝像機等敏感視覺傳感器,計算RGB-D數(shù)據(jù)獲得三維位置。但是開發(fā)該自動化系統(tǒng)十分困難,加之該技術(shù)對工作環(huán)境變化過程中產(chǎn)生的噪聲十分敏感。雖然在模擬過程中從傳感器框架移動到機器人框架很容易,但是在實際的環(huán)境中測量傳感器和機器人之間的距離很困難,在實際環(huán)境中傳感器框架和機器人框架的匹配需要非常高的技巧。所以在實際的工作環(huán)境中需要更加簡單、穩(wěn)定的控制方法[2]。
針對目前機械在實際的作業(yè)環(huán)境中出現(xiàn)的問題,本文提出一種將六自由度機械臂與RGB攝像頭相結(jié)合的方法。將末端執(zhí)行機構(gòu)的速度作為輸入變量,執(zhí)行機構(gòu)的速度是通過雅可比矩陣與圖像平面中目標(biāo)的特征誤差的乘積得到。首先,RGB攝像頭獲得目標(biāo)物體圖像,從而計算出圖像中的特征點[3]。然后機械臂在任意位姿下,開始伺服運動,從攝像機得到的圖像中獲得相應(yīng)的數(shù)據(jù),得出手臂在目標(biāo)位置和當(dāng)前位置的偏差。最后,生成特征平面的點與攝像機速度映射的逆雅可比矩陣,并將其與目標(biāo)物體的特征誤差相乘。作為該控制系統(tǒng)輸入的結(jié)果[4-6]。該系統(tǒng)是一種新的基于機器人系統(tǒng)的姿態(tài)估計方法。本文闡述該視覺伺服系統(tǒng)與映射相機空間和圖像空間的原理,設(shè)計了獲取目標(biāo)特征點和攝像機與目標(biāo)物體相對姿態(tài)的方法。最后通過實驗,得出該機械臂視覺伺服控制系統(tǒng)具有良好的控制精度[7]。
為了解決井下砌磚過程中,磚塊位置不固定導(dǎo)致井下砌磚機器人的機械臂無法正常抓取的問題,本研究將從視覺伺服的數(shù)學(xué)模型進行分析,并針對機械臂的雅可比矩陣進行求解,最終設(shè)計機械臂末端執(zhí)行器姿態(tài)估計方法[8]。
本文所研究的六自由度砌筑機械臂視覺伺服控制方法的主要目的是提高機械臂在運動時的精度,有效的減小其誤差值的大小,用e(t)表示:
s為t時刻下輸入圖像的特征向量;
s*為輸入圖像在期望位置的特征向量;
m(t)為圖像坐標(biāo)系中一組圖像的測量向量;
a為攝像機內(nèi)部系統(tǒng)的參數(shù)。
因為目前s*數(shù)值的大小是恒定不變的,s數(shù)值大小的變化只和配備攝像機的具體運動過程有關(guān),而且攝像機的位置是被安裝在六自由度砌磚機械臂末端的執(zhí)行器上的,六自由度砌磚機械臂控制著攝像機的動作,其結(jié)構(gòu)簡圖如圖1所示[9]。
圖1 六自由度砌磚機械臂結(jié)構(gòu)簡圖
首先,本文描述基于圖像的視覺伺服控制(IBVS),即s*,將實時測量到的圖像信號與目標(biāo)位置/姿態(tài)的圖像信號直接進行比較,利用所獲得的圖像誤差進行閉環(huán)反饋控制,它由一組可以立即在圖像數(shù)據(jù)中獲得的特征組成[10]。然后,提出了基于位置的視覺伺服控制(PBVS),其利用相機的參數(shù)建立圖像信號與機器人的位置/姿態(tài)之間的映射關(guān)系,在伺服過程中,借助圖像信號提取機器人的位置/姿態(tài)信息,并將它們與目標(biāo)位置/姿態(tài)比較,形成閉環(huán)反饋控制,其中s是確定的一組三維參數(shù),必須從圖像測量中估計[11]。根據(jù)不同的相機安裝方式,(IBVS)也有兩種不同的類型,(以電容插入PCB為例),object(電容針腳)與target(孔洞)的位置變化與否也不一樣,包括eye in hand和eye to hand,前者相機安裝在機械手上,與機械手位置相對固定[12];object電容綁定在tool上,相對于相機的位置不變;target孔洞是圖像視野中要去的目標(biāo)位置,隨著機械手移動而改變[13]。后者相機安裝在機械手外的固定位置;object電容綁定在tool上,在相機所拍的圖片中位置是變化的;target孔洞是已經(jīng)確定了的目標(biāo)位置,因為相機位置固定,所以位置不變。(以上條件為假設(shè)PCB板放在固定的平臺上,若PCB位于流水線上,則object與target都是位置可變化的實體)[14]。
設(shè)定六自由度砌磚機械臂執(zhí)行機構(gòu)上相機的空間速度為vc=(vc wc),vc是相機框架原點的瞬時線速度,ωc是相機框架的瞬時角速度[15]。
其中Le=Ls。
如果機械臂運動時的誤差值e(t)表示為:
得到下面的微分方程:
E(S)進行拉普拉斯變換e(t),E(S)則由下式給出:
在中值定理中,得到如下方程:
在式(6)中,通過計算得出,機械臂運動精度的誤差值e(t)最終可以收斂到最終值0,說明該視覺伺服控制系統(tǒng)是穩(wěn)定的。利用式(3)和式(4),得出下式:
其中Le+=-(LeTLe)-1LeT。
在圖2中,相機空間的幾何關(guān)系的坐標(biāo)為X=(X Y Z)的3D點,在圖像中投影為坐標(biāo)的X=(x y)的2D點,可以得出[16]:
圖2 相機空間的幾何關(guān)系
m=(μ,v)給出了以像素單元表示目標(biāo)物體圖像點的坐標(biāo),a=(cu,cv,f,α)表示一組攝像機的固有參數(shù):cu和cv表示主點坐標(biāo),f表示焦距,α表示圖像平面坐標(biāo)的比率。
取方程(11)時間的導(dǎo)數(shù)可以得到:
通過方程將三維點的速度與攝像機的空間速度聯(lián)系起來:
從式(13)中得:
將式(14)導(dǎo)入式(12),得到:
在雅可比行列式Lx中,Z表示點相對于相機深度。因此,任何視覺伺服控制必須估計Z值[17]。
控制六自由度砌磚機械臂的6個自由度,至少需要通過3個特征點來設(shè)計六自由度砌磚機械臂的控制方案。通過特征向量x=(x1x2x3),可以通過簡單地疊加三個點的雅可比矩陣,得出如下結(jié)果:
為了在六自由度砌磚機械臂中計算點Z到相機幀的深度,在圖3中表達(dá)了六自由度砌磚機械臂末端執(zhí)行機構(gòu)的位姿計算策略。通過AR設(shè)備標(biāo)記目標(biāo)對象[15]。首先,通過以下過程檢測出目標(biāo)對象的4個頂點[18]。
圖3 三維物體的幾何關(guān)系
1)首先對輸入的圖像進行二進制處理,提取出暗區(qū)。
2)其次將頂點1是封閉區(qū)域中外部矩形的第一個點進行設(shè)置。
3)再次設(shè)置頂點2是頂點1在閉合區(qū)域的輪廓線中的最遠(yuǎn)點。
4)通過遞歸搜索等高線中頂點1和頂點2的最遠(yuǎn)點。
在得到4個頂點的坐標(biāo)數(shù)值后,估計物體的姿態(tài),具體仿真過程如圖4(a)~圖4(b)所示。
圖4 仿真過程
若定義六自由度砌磚機械臂上的攝像機坐標(biāo)系的單位向量是i,j,k,其中,i是x軸的單位向量,j是y軸的單位向量,k是z軸的單位向量,得到方程:
通過在井下砌磚機器人的機械臂執(zhí)行機構(gòu)上安裝RGB攝像頭來進行具體的仿真試驗,通過機器人編程的標(biāo)準(zhǔn)軟件ROS工作空間,進行程序的開發(fā),在實驗過程通過使用POSIT算法作為姿態(tài)估計方法,具體如圖5所示。
圖5 視覺伺服實驗過程
運用控制變量法分別討論當(dāng)上文的λ和E被賦予不同的值時,觀察機械臂誤差值e(t)的收斂曲線的變化,具體仿真結(jié)果如圖6(a)~圖6(i)所示。
圖6 機械臂位姿誤差參數(shù)化仿真分析
實驗過程中對圖6(a)~圖6(i)的關(guān)鍵數(shù)據(jù)做了參數(shù)化分析,結(jié)果如表1和表2所示。
表1 機械臂視覺伺服運動精度仿真結(jié)果
表2 機械臂視覺伺服運動精度實驗結(jié)果
通過上述井下砌磚機器人的機械臂視覺伺服實驗的仿真結(jié)果,可以得出最合理的閾值E和λ。通過對表1和表2的分析得出,當(dāng)λ的數(shù)值從0.1上升到0.5時,視覺伺服控制系統(tǒng)處理的時間減少到原來的五分之一;而當(dāng)λ值從0.5上升到0.8時,減少的數(shù)值不再呈線性關(guān)系。視覺伺服增益與視覺伺服控制系統(tǒng)處理的時間不存在線性關(guān)系。當(dāng)與圖4相比較時,可以得出如果λ值更大,瞬時的運動速度也會更大,因此就可以得到需要更多的時間,來收斂到特征點誤差值為零的結(jié)論。
對三組當(dāng)λ分別為0.1、0.5和0.8時,E=1mm、E=5mm和E=10mm的結(jié)果進行比較時,發(fā)現(xiàn)當(dāng)λ的值不變時,使閾值變小,特征點誤差會更接近零,所以井下砌磚機器人的機械臂視覺伺服控制精度結(jié)果會更好是不正確的。因為關(guān)聯(lián)二維圖像點和三維姿態(tài)時所使用的相機參數(shù)的誤差影響了精度的結(jié)果。在仿真分析和實驗過程中,通過進行多組試驗仿真,得出設(shè)置E值在5左右是十分合理的。
在模擬器環(huán)境和實際環(huán)境中比較井下砌磚機器人的機械臂的位姿精度發(fā)現(xiàn),在表1的絕對平均值中,兩者的位姿誤差沒有明顯差異。雖然機器人的尺度、光照、攝像機的參數(shù)在模擬器和真實之間存在差異,但對于視覺伺服控制來說,這些影響很小。因此,視覺伺服對變化的條件具有一定的魯棒性[19]。
本文針對井下砌磚機器人的控制系統(tǒng)的姿態(tài)估計問題,提出一種根據(jù)目標(biāo)位置的視覺伺服機械臂姿態(tài)估計方法。該方法僅需RGB攝像機獲得圖像并數(shù)據(jù)處理,無需標(biāo)定,將以往的機械臂控制方法簡單化。采用視覺伺服實現(xiàn)井下砌磚機器人的機器人控制,并在仿真環(huán)境和實際環(huán)境中進行了有效驗證。通過仿真數(shù)據(jù)與實驗數(shù)據(jù)可以得出,該視覺伺服控制方法具有良好的姿態(tài)估計精度和有效的機器人執(zhí)行效果。與此同時,分析確定合理的增益和誤差閾值,進一步提高了視覺伺服控制系統(tǒng)的穩(wěn)定性和效率,具有很好的控制精度[20]。