涂勝倩
(安徽三聯(lián)學院 基礎(chǔ)實驗教學中心,合肥,230601)
當前,人工智能、傳感設(shè)備及計算機技術(shù)迅猛發(fā)展,機器人系統(tǒng)智能化程度更高。作為非接觸式傳感設(shè)備,視覺傳感器在生活或工業(yè)生產(chǎn)中廣為應(yīng)用。視覺傳感器與機器視覺技術(shù)相結(jié)合,獲取精準的信息目標或識別肉眼沒法看清的物體,解決傳統(tǒng)技術(shù)留置的問題。機器視覺伺服系統(tǒng)是一非線性極復(fù)雜系統(tǒng),具強耦合性。機器視覺伺服系統(tǒng)涉及多領(lǐng)域技術(shù),含自控原理、機器人學、機器視覺、伺服控制、操作實時系統(tǒng)等。因此,視覺伺服系統(tǒng)是當今機器人智能化研究領(lǐng)域的熱點。
大量機器視覺法都運用于某些設(shè)備的控制。常見機器視覺任務(wù)是目標定位[1]。可用簡單二值分割進行目標定位,如對比度、顏色、紋理分割,或用模板匹配法,此法適于某較固定場景。
視覺立體系統(tǒng)包含自標定攝像機、三維立體重建、圖像配準等。特殊視覺伺服機器需選特征圖像,圖像魯棒性越穩(wěn)定越適合選為視覺特征。視覺伺服特征研究是當今熱點之一。點、線特征較為常見,整幅圖像和點密度也可作為特征。
雅可比矩陣在視覺伺服圖像中有重要內(nèi)涵,是對攝像機全部參數(shù)的另一種表達形式。像機內(nèi)參有景深、畸變、焦距、孔徑等,外參指像機焦點與目標之距離。若得知參數(shù),此視覺即能標定;如已知參數(shù)部分,從廠家知攝像機內(nèi)參,某些深定場景外參數(shù)可粗略計算得出,此系統(tǒng)為部分標定。若全然不知則為無標定。也可視部分標定屬無標定。早期的視覺伺服多為標定型,直接通過已知參數(shù)計算雅可比矩陣,人工標定成本較高;另自然中攝像機內(nèi)參數(shù)會不斷變化,如自然退化或人為影響等。若標定人工反復(fù)進行,成本高又費時。為獲較強魯棒系統(tǒng),研究無標定視覺伺服法受到重視。
傳統(tǒng)視覺伺服,需精確計算標定,標定方式有兩種,一為固定安裝攝像機于機械臂,精確標定轉(zhuǎn)換矩陣;二是安裝攝像機,機械臂末端標算出攝像機到其末端的轉(zhuǎn)換齊次矩陣X。從本質(zhì)上看,兩種標定方式一致,計算Ax=xB得矩陣X。但計算較復(fù)雜,需在實驗中得出大量數(shù)據(jù),求解迭代使誤差減小得精確標定結(jié)果,且操作環(huán)境復(fù)雜X矩陣出現(xiàn)變化,要重新標定過程。因而無標定視覺伺服備受關(guān)注。無標伺服系統(tǒng)用估算矩陣X和雅可比矩陣提高系統(tǒng)性能。性能依賴于估算在線噪聲處理和優(yōu)良特性,在線估算法分狀態(tài)估計法和非線性優(yōu)化法兩類。無標定視覺無需標定機器運動模型和攝像頭參數(shù),用平面圖像特性偏差得到指令信號,預(yù)先設(shè)定方向和位置,驅(qū)動機械運動完成任務(wù)。比需標定參數(shù)的伺服更具應(yīng)用前景。無標定視覺調(diào)節(jié)需要的函數(shù)e(s*-s(m(t),a))到最小,s,*s各為伺服所需值,m(t)表圖形消息,a表焦距參數(shù)。結(jié)構(gòu)系統(tǒng)圖如圖1所示。
圖1 無標定視覺伺服構(gòu)造圖
無標定視覺伺服不需對三維目標重建,用圖像對運動驅(qū)動,使伺服結(jié)構(gòu)得到簡化,比起標定伺服,無標定的魯棒性提高。
在圖像領(lǐng)域分類中,強化神經(jīng)網(wǎng)絡(luò)應(yīng)用逐步擴展,得以發(fā)展用于多種視覺領(lǐng)域系統(tǒng)中[2]。傳統(tǒng)方法需提取視覺特征以設(shè)計控制律對機器控制。為解決強化學習視覺控制找出了方法,此法直接對比目標和當前圖像,并非是對圖像特征匹配和比對,據(jù)此法做大量改進得豐富成果。強化技術(shù)學習在應(yīng)用中可操作性強,用卷積網(wǎng)抓取機械目標點計算,獲得目標點精確,用信息視覺對復(fù)雜定位抓取,攝像機信息及工作環(huán)境未知時,用強化學習完成機械抓取任務(wù)。在視覺系統(tǒng)中目標物和相機自運動應(yīng)用得到普及。卷積神經(jīng)網(wǎng)絡(luò)設(shè)計PoseNet,據(jù)相機單目視野視覺獲6自由度相機運動信息,用不同神經(jīng)網(wǎng)絡(luò),目標圖像視野及轉(zhuǎn)換作數(shù)據(jù)訓(xùn)練,可輸入視野圖像訓(xùn)練得模型預(yù)測得轉(zhuǎn)換矩陣。神經(jīng)網(wǎng)絡(luò)訓(xùn)練,預(yù)測兩圖片間輸入光流信息獲相機幀和幀間轉(zhuǎn)換視覺矩陣。卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于分類中,把圖片至目標矩陣作數(shù)據(jù)訓(xùn)練標簽,訓(xùn)練好的模型可預(yù)測轉(zhuǎn)換矩陣。
利用強化學習訓(xùn)練機械視覺控制器,達到無標定視覺目標。設(shè)計了無標定算法,利用強化學習訓(xùn)練機械器。找到無標定圖像特性方案,用卡爾曼濾波圖像和雅克比矩陣估計二者結(jié)合對系統(tǒng)設(shè)計。
(1)強化學習的無標定視覺伺服
強化學習無標定視覺伺服控制結(jié)構(gòu)和設(shè)計詳細方案如圖2所示。
圖2 基于強化學習的無標定視覺伺服控制框圖
從控制框圖得知,無標定機械視覺伺服控制,用固定的設(shè)計雙目攝像頭,兩攝像頭在機械運動時對圖像信息實時采集,利用的是小孔成像模型原理,可得末端機械位姿4個特征圖像點P11、P12、P21、P22。 攝像機1由P11、P12兩點產(chǎn)生,攝像機 2由P21、P22兩點產(chǎn)生,為減少計算量,轉(zhuǎn)換圖像特征點為目前圖像特征fc=(μ1,u1μ1,u1,μ2μ2,u2u2,θ1θ1,θ2θ2)T,P11=(μ1,u1μ1,u1),P21=(μ2μ2,u2u2),θ1θ1,θ2θ2分別是P11、P12點與攝像機1圖像u軸間夾角和P21、P22點與像機2 之u軸夾角。無標定伺服使圖像特性期望值fd與圖像特性當前值fc進行偏差運算得Δf,收到運算Δf下一步執(zhí)行動作Δq,關(guān)節(jié)器控制機械器至目標位置q,由運動學可得機械器位信息空間T,再由雙目攝像頭得到機械器運動后圖像,生成偏差信息,循環(huán)執(zhí)行此過程,直至機械器達期望目標位。機械器完成任務(wù)起作用的是圖像特性與機械器運動兩者變化關(guān)系成非線性,雅克比矩陣用于控制機械器運動,機械器運動關(guān)節(jié)變化微小時[3],雅克比圖像擬合近似非線性關(guān)系,使用濾波Kalman在線算法,遞推估計圖像雅克比矩陣,但在空間對機械器運動軌跡未達理想化,本研究提出強化學習視覺,將學習系數(shù)乘給圖像偏差,在線聯(lián)合濾波Kalman算法,使機械器運動變化與圖像變化間效果逼近,產(chǎn)生空間運動軌跡較優(yōu)。
應(yīng)用本研究算法中強化學習差分無模型時序算法Sarsa,原理如圖3所示?,F(xiàn)學習訓(xùn)練無標定視覺伺服控制器程序,圖像離散化特性Δf偏差構(gòu)成Agent環(huán)境中S態(tài),系數(shù)偏差離散化運算k獲環(huán)境Agent行動A,依圖像特性Δf偏差確立Agent環(huán)境狀態(tài)st,再用貪心s-greedy算法選Agent行動操作at,得到系數(shù)k,產(chǎn)生機械器動作伺服后得獎值R,再對當前狀態(tài)-動作值Q(st,at)更新,為后面用貪心算法施展動作作好準備。機械器各周期得特征偏差,按圖像大小偏差設(shè)Agent態(tài),A學習gent操作動作得系數(shù)k,機械器控制作用產(chǎn)生,據(jù)反饋環(huán)境得Agent現(xiàn)在態(tài)下操作動作獎賞。反復(fù)進行,至機械方達期望位。讓機械器再用此法在空間工作中多次以初始位運動至期望位,機械器因?qū)W習在空間軌跡運動得逐步改進。
圖3 強化學習原理
微操作器多和任務(wù)關(guān)聯(lián),每臺微機器有特有的操作任務(wù)。系統(tǒng)裝備為微裝配機器,可執(zhí)行常規(guī)靶裝ICF配操作,把圖4(a)(b)中兩柱腔及圖4(c)中靶球配備成一ICF靶常規(guī)(見圖4(d))。腔柱典型長是1 mm,靶球典型直徑是200~500 μm。圖4(a)(b)灰線橫向的背景為一切槽成V形,放置的作用是防柱腔受震發(fā)生位移,還可防靶球陷坑。
圖4 ICF常規(guī)靶裝備零件圖
圖5 系統(tǒng)結(jié)構(gòu)圖
4.2.1 整體概述
整體硬件系統(tǒng)有: 含視覺高清攝像機兩臺;含六自由度運動系統(tǒng)機械器2臺,四自由度機械器1臺,旋轉(zhuǎn)升降平臺1個;系統(tǒng)含陶瓷壓電微夾持雙晶片器2個、吸附真空微夾持器1個;上位控制主機及下位運動多軸控制機等。系統(tǒng)實物圖如圖6所示。
4.2.2 視覺系統(tǒng)
原始系統(tǒng)圖像由兩臺單彩高清像機獲得,3個視覺垂直、水平和立體構(gòu)建正交體系,如圖7所示。再經(jīng)計算機對目標算法定位并獲取目標坐標。
圖7 水平視覺與垂直視覺
4.2.3 操作手和升降旋轉(zhuǎn)平臺
操作左右手均達六自由度,自由度包含三平移x,y,z與繞x,y,z三自由旋轉(zhuǎn)度。中操作手是四自由度,包含三個x,y,z平移和一繞z旋轉(zhuǎn)度[4]。旋轉(zhuǎn)升降平臺為兩自由度即繞z旋轉(zhuǎn)和z軸平移。平臺建構(gòu)高精度位移,配備精度高電機。以單元控制多軸運動器,主機控制PCI插槽。
4.2.4 末端執(zhí)行器
末端執(zhí)行器由實驗室研發(fā),為壓電雙晶片陶瓷微夾持器和真空吸附微夾持器。先一個對較硬金屬柱腔夾持,后一個吸附輕且塑料或易碎玻璃靶球。
4.3.1 軟件系統(tǒng)結(jié)構(gòu)
為滿足模塊化設(shè)計和升級硬件需求,軟件分層設(shè)計,分層有接口、硬件、應(yīng)用和機器人層,如圖8所示。
圖8 四層運動控制器軟件系統(tǒng)
(1)硬件層。硬件層為廠家開發(fā)軟件包,若是開發(fā)包功能不達標,需廠家編寫功能且燒入控制器中,像停止限位、自動回零等。
(2)接口層。接口層提供上層硬件接口,解耦上層硬件。接口層部分屬運動抽象類[5],任務(wù)是對下層進行封裝,對上層提供運動器連接斷開、多軸運動、單軸聯(lián)動、緊急停止、回零、解除鎖定等共有的功能。各控制器執(zhí)行不同大小緩沖區(qū)指令,執(zhí)行隊列緩沖命令,統(tǒng)一提供緩沖指令。另包含一類連接,負責維護主機控制接口之間的連接,接口發(fā)生損壞得更換,無需改動任意代碼,只改動文件設(shè)置。
(3)機器人層。接口層控制輸出軸,選擇平動軸和旋轉(zhuǎn)軸及連接次序即軸類型無關(guān)。這些全由機器人層維護,此層含人類機器,可用下層連接類設(shè)置機器各軸關(guān)節(jié),及關(guān)節(jié)連接種類和順序,各關(guān)節(jié)相對位置量給出就行,可依運動機器人學得各關(guān)節(jié)末端和絕對兩位置。
(4)應(yīng)用層。此層不需維護具體類,全部機器人算法控制及界面都可由此層管理。
4.3.2 靶裝配ICF關(guān)鍵技術(shù)
(1)準備期用分割法分割彩色視野內(nèi)不同部分目標,獲大致范圍和位置,再為加快速度處理切換至灰度圖像。
(2)壓電陶瓷雙晶片微夾持器夾取柱腔
要使定位精度高,此系統(tǒng)用多級定位由粗至細法。先使用前以示教法,獲陶瓷壓電微夾持器雙晶片應(yīng)達位置,在配置文件中記錄下來。粗定位后發(fā)指令[6],讓微夾持器運行至所定位置,因為人工放置的柱腔沒法十分準確,還需靠圖像對陶瓷壓電微夾持器雙晶片定位精確。按精定位階段算法獲雙晶片壓電陶瓷微夾持器和柱腔位置,再用伺服算法控制壓電執(zhí)行器末端對柱腔夾取。
(3)吸附真空微夾持器和靶球
壓電雙晶片陶瓷微夾持器,對真空微夾持器定位吸附是從粗至細兩個階段。依位置示教,真空末端吸附操作器移至附近靶球陷阱。依據(jù)所提算法定位靶球和末端玻璃吸管位置,據(jù)此視覺信息,用視覺伺服算法移動末端精確吸取靶球。
(4)靶球和柱腔的伺服微裝配
先直接移靶球與柱腔至示教位置,定位靶球與柱腔,其它3臺操作器末端不用定位識別。用右柱腔作基準,移左柱腔與靶球完成裝配任務(wù)。
(1)預(yù)準備。放置人工柱腔于V形槽兩側(cè)臺,在臺左下方陷坑內(nèi)放入靶球。再對中央轉(zhuǎn)盤進行旋轉(zhuǎn)。
(2)柱腔拾取。移陶瓷壓電雙晶片微夾持器至兩端V形槽處,再據(jù)定位算法定位微夾持器與柱腔,移伺服驅(qū)動微夾持器對柱腔拾取。如圖9所示。
圖9 拾取柱腔
(3)靶球拾取。移微夾持器至圓形陷坑處,自動地靶球定位并對微夾持器進行吸附,伺服算法吸附驅(qū)動微夾持器移至靶球旁。如圖10所示。
圖10 靶球拾取
(4)靶球與靶腔配準。靶球移動、左右柱腔到示教位置,再對三者的位置定位,基準為右柱腔,以伺服算法驅(qū)動靶球與左柱腔移動和配準。如圖11所示。
圖11 靶球與靶腔配準
(5)靶球與靶腔對接。監(jiān)視柱腔人工緊壓度,撤去吸管。等粘膠干了,張開雙晶片左壓電陶瓷末執(zhí)行器。如圖12所示。
圖12 靶球與靶腔對接
(6)制備完成。置備制好的常規(guī)靶于載物臺上?;謴?fù)全部設(shè)備于準備位。位移平臺用高精度、運動控制器、高清顯微鏡、吸附真空微夾持器、雙晶片壓電陶瓷微夾持器等設(shè)備建構(gòu)了一裝配微機器人系統(tǒng),四層軟件設(shè)計了框架。在靶微ICF裝配任務(wù)中此系統(tǒng)驗證了算法有效性,應(yīng)用實際中得到好的效應(yīng)。