田錦秀
(西安城市建設(shè)職業(yè)學院 機電信息學院,西安 710114)
移動機器人是指能夠在空間中自主移動的機械設(shè)備,主要通過機械或電子控制系統(tǒng)實現(xiàn)移動和導航,可以根據(jù)任務(wù)需求裝配不同的功能模塊[1]。移動機器人廣泛應(yīng)用于工業(yè)、醫(yī)療、家庭服務(wù)、安保等領(lǐng)域,可以自主執(zhí)行任務(wù),提高效率和安全性。隨著人工智能和機器人技術(shù)的不斷發(fā)展,移動機器人的應(yīng)用范圍和任務(wù)也越來越廣泛,但是在復雜和不確定的環(huán)境中,移動機器人的運動控制和路徑規(guī)劃仍是一個難以解決的問題。視覺伺服控制可以通過機器視覺技術(shù)實現(xiàn)對移動機器人姿態(tài)和位置的實時檢測和估計,從而實現(xiàn)移動機器人的精確控制和路徑規(guī)劃。除此之外,視覺伺服控制還可以幫助機器人克服環(huán)境中的障礙物,在特定的環(huán)境中進行定位和導航,提高移動機器人的工作效率和精確度。為此,研究移動機器人視覺伺服控制具有重要意義。
目前相關(guān)領(lǐng)域?qū)W者針對機器人視覺伺服控制系統(tǒng)進行研究,文獻[2]設(shè)計了工業(yè)機器人手眼視覺伺服控制系統(tǒng)。采用Kalman濾波器對復合圖像雅克比矩陣進行在線估計,利用Lyapunov原理,構(gòu)建視覺伺服控制器,從而有效跟蹤圖像運動目標,并通過平面二連桿機器人仿真實驗分析驗證了該系統(tǒng)的可行性。文獻[3]設(shè)計了基于雅克比矩陣的高壓帶電作業(yè)機器人視覺伺服控制系統(tǒng)。采用雅可比矩陣,計算作業(yè)機器人執(zhí)行器操作空間和關(guān)節(jié)速度間的關(guān)系,以及執(zhí)行速度和視覺圖像特征變化間的關(guān)系,將其結(jié)合得到復合雅克比矩陣,再利用PID控制器,構(gòu)建機器人視覺伺服控制系統(tǒng),實現(xiàn)參數(shù)自適應(yīng)調(diào)整,該系統(tǒng)具有較好的控制性能。但上述兩種系統(tǒng)仍存在控制效果較差、控制精度低的問題。
虛擬現(xiàn)實技術(shù)是一種通過計算機生成的模擬環(huán)境,使用戶能夠與虛擬環(huán)境進行交互和沉浸式體驗的技術(shù),其核心目標是提供一種逼真的、交互性強的虛擬體驗,虛擬現(xiàn)實技術(shù)在許多領(lǐng)域都有廣泛的應(yīng)用,如游戲和娛樂、教育和培訓、醫(yī)療保健、建筑和設(shè)計、航空航天、軍事仿真等。為此,設(shè)計一種基于虛擬現(xiàn)實技術(shù)的移動機器人視覺伺服控制系統(tǒng),以期能夠提升系統(tǒng)的視覺伺服控制精度。
虛擬現(xiàn)實技術(shù)的運行需要以真實環(huán)境作為參考樣本,并利用輸入設(shè)備將真實環(huán)境中的圖像信號和姿態(tài)信號輸入到虛擬環(huán)境中,并通過輸出設(shè)備輸出虛擬成像結(jié)果。虛擬現(xiàn)實技術(shù)選擇三維視覺傳感器作為虛擬環(huán)境的輸入設(shè)備,該設(shè)備由成像芯片和鏡頭等部分組成,其中成像芯片選用的是CMOS芯片,設(shè)置三維視覺傳感器的運行速度與圖像刷新的速度一致。利用三維跟蹤器,可以使虛擬現(xiàn)實用戶的運動與視覺系統(tǒng)進行再匹配與追蹤。將虛擬環(huán)境的輸入設(shè)備與移動機器人相連接,虛擬環(huán)境輸入設(shè)備的連接電路如圖1所示。
圖1顯示了虛擬現(xiàn)實技術(shù)中所使用的三維視覺傳感器的連接方式,系統(tǒng)中設(shè)置的虛擬環(huán)境輸入設(shè)備共兩個,用來模擬移動機器人的雙目視覺。虛擬現(xiàn)實環(huán)境的輸出設(shè)備選擇立體顯示器和音響設(shè)備,用兩個顯示器分別顯示圖像,這兩塊屏幕上的影像是由計算機控制,屏幕上的影像有細微的差異。移動機器人合成兩幅影像,從而得到更好地沉浸式視覺效果。
位姿傳感器用來對控制移動機器人實時運動狀態(tài)進行檢測,為控制量的計算提供初始數(shù)據(jù)。為保證傳感器能夠?qū)崿F(xiàn)對多維度姿態(tài)數(shù)據(jù)的采集,采用多傳感器組合的方式形成位姿傳感器,其結(jié)構(gòu)如圖2所示。
設(shè)計系統(tǒng)使用的傳感器包括三軸加速度傳感器、三軸角速度傳感器和三軸磁力計三個部分,將傳感器采集的原始數(shù)據(jù)傳送至嵌入式板上,然后對其進行姿態(tài)分析,從而獲得當前模塊的俯仰角、橫滾角、航向角、氣壓、高度和溫度等數(shù)據(jù),系統(tǒng)位姿傳感器通常都會保留一個通信接口,它可以將分析到的數(shù)據(jù)信息發(fā)送到PC、單片機等設(shè)備中[4]。為了滿足系統(tǒng)的功能需求,在機器人移動時,必須要對其進行實時的偏航角信息進行檢測,以4~7 V為電源,工作電流大約40 mA,同時還保留了2個UART接口,數(shù)據(jù)傳輸率為115 200 bps,可以用USB轉(zhuǎn)TTL模塊將數(shù)據(jù)發(fā)送至PC機上[5]。通過選取合適的傳感器,可以獲得被測機器人的位姿數(shù)據(jù),然后再由位姿資料處理裝置STM32F103T8進行位姿數(shù)據(jù)的處理,從而獲得可用的位姿數(shù)據(jù)。
在移動機器人視覺伺服控制過程中,需要采集大量的視覺圖像,為視覺圖像處理工作提供硬件支持。首先需要確定采集的圖像類型、分辨率、幀率以及采集頻率等參數(shù),然后采用Sony IMX219圖像傳感器采集圖像信號,最后選擇一臺工業(yè)控制計算機,對圖像序列進行處理和分析,其使用Inteli3處理器,最高主頻1.6 GHz,8 GB的內(nèi)存,確保了圖像處理的速度,并且保留2個網(wǎng)口,2個USB3.0接口,4個COM接口,4個COM接口,這使工業(yè)控制計算機能夠與大量的外設(shè)進行連接。
伺服控制器是移動機器人視覺伺服控制系統(tǒng)控制功能的執(zhí)行元件,控制器由驅(qū)動設(shè)備、處理器等部分組成。由于虛擬現(xiàn)實環(huán)境的構(gòu)建,使得移動機器人的運動不受空間環(huán)境的限制,擴大了移動機器人的活動范圍[6]。選用直流電機作為移動機器人的動力執(zhí)行機構(gòu),機器人對運動速度的控制處于開環(huán)狀態(tài),需要根據(jù)姿態(tài)傳感器反饋的機器人實時運動速度,完成機器人運動速度的閉環(huán)控制。在載荷作用下,能夠維持恒定的速度,從而實現(xiàn)了對機械臂相對高精度的運動控制。伺服驅(qū)動電機具備完備的電流保護,可有效防止因過流或過溫而導致的硬體損壞。伺服控制器內(nèi)部的處理器選擇AT91SAM7S256芯片,該芯片使用32位RISC架構(gòu),可快速實現(xiàn)比較復雜的控制算法。芯片具有256 kB的片上FLASH和64 kB的RAM存儲器空間,具備運行嵌入式實時操作系統(tǒng)μc/OS-II的能力[7]。芯片中有大量的周邊元件,如USART、SPI、TWI等,同時還提供了多種可編程的時鐘,便于對回路進行定時操作??刂菩酒捎肔QFP封裝,僅有64個管腳,許多管腳用作供電和信號線,可用于一般I/0接口較少[8]。針對這一缺陷,采用可編程邏輯器件EPM570T144I5來進行輸入輸出擴展。ARM7通過串行的接口,能夠控制CPLD上的一組通用I/O接口,并且能夠?qū)⒚總€端口與內(nèi)部的脈沖發(fā)生器連接,使其發(fā)出設(shè)定寬度和相應(yīng)的脈沖,來控制伺服驅(qū)動電機的運作。伺服控制器元件連接如圖3所示。
圖3 伺服控制器元件連接示意圖
另外,在實際控制過程中,控制器、傳感器以及移動機器人之間采用網(wǎng)絡(luò)進行通信發(fā)送命令。
在硬件設(shè)備的支持下,對移動機器人的視覺伺服控制功能進行設(shè)計,從位姿、運動參數(shù)等方面實現(xiàn)對移動機器人的控制,保證機器人能夠在虛擬現(xiàn)實環(huán)境中按照指定方式完成相應(yīng)的移動任務(wù)。以立體標定方法、視覺圖像成像原理、圖像預處理方法、圖像拼接與三維重構(gòu)方法、虛擬現(xiàn)實技術(shù)的碰撞檢測技術(shù)、伺服控制邏輯為主要設(shè)計方法,實現(xiàn)移動機器人視覺伺服控制系統(tǒng)軟件功能設(shè)計。
在設(shè)計系統(tǒng)控制功能之前,首先需要確定移動機器人的基本運動原理,因此,從運動學和動力學兩個方面,構(gòu)建機器人的數(shù)學模型。假設(shè)移動機器人存在純滾動無滑動運動,則移動機器人的運動學模型可以表示為:
(1)
式中,(x(t),y(t))為t時刻的移動機器人位置坐標,θ(t)表示移動機器人的姿態(tài)角,υ(t)為移動機器人在t時刻的線速度[9],ω(t)為移動機器人在t時刻的角速度,Q為機器人載荷總重量,M為機器人慣性量度,?line(t)和?horn(t)分別為機器人的線轉(zhuǎn)矩和角轉(zhuǎn)矩[10]。在移動狀態(tài)下,移動機器人的動力學特性滿足如下規(guī)律:
(2)
式中,F(xiàn)Drive-Front和FDrive-Rear分別為驅(qū)動電機對前輪和后輪的驅(qū)動力,F(xiàn)f為移動機器人與地面之間的摩擦力,m為移動機器人的質(zhì)量,d為前輪與后輪之間的距離[11]。通過運動學和動力學模型的融合,得出移動機器人數(shù)學模型的搭建結(jié)果。
(3)
式中,Jleft表示雙目視覺相機的左側(cè)旋轉(zhuǎn)矩陣,Uleft表示左側(cè)平移矩陣,Jright表示右側(cè)旋轉(zhuǎn)矩陣,Uright表示右側(cè)平移矩陣。進行立體標定時,利用視覺相機提取包含標定板的圖像并進行識別,可以得到空間中點與其對應(yīng)的攝像機成像平面上點的對應(yīng)關(guān)系,從而得出矩陣Z和U的求解結(jié)果[12]。根據(jù)左、右視覺相機之間的實際位置距離,確定矩陣Z和U的實際值,并與求解出的矩陣結(jié)果進行比對,判斷當前視覺相機的成像結(jié)果是否存在偏差,通過偏差的校正實現(xiàn)對移動機器人視覺相機的標定。
利用標定完成的視覺傳感器設(shè)備根據(jù)移動機器人的移動情況,生成實時視覺圖像。視覺圖像的成像原理如圖4所示。
圖4 移動機器人實時視覺圖像成像原理圖
利用圖4表示成像原理,假設(shè)實際空間中任意一點(xtrue,ytrue,ztrue)在成像空間中的成像結(jié)果可以表示為:
(4)
式中,f為視覺傳感器的成像焦距。在考慮視覺相機標定結(jié)果的情況下,可以將視覺相機的成像結(jié)果表示為:
(5)
式中,Lx和Ly分別為任意點在成像平面上物理長度在水平和豎直方向上的分量,φ為成像角度,(xc,yc)表示像素坐標系中相機感光板的中心坐標,Aw表示設(shè)定相機外參矩陣[13]。移動機器人的成像視場為:
(6)
式中,R和dthing分別為視野寬度和物距。在實際的成像過程中,設(shè)置視覺傳感器的更新速度、采集頻率等參數(shù),得出移動機器人實時視覺圖像的生成結(jié)果。
為保證移動機器人視覺伺服控制效果,以提升圖像質(zhì)量為目的,針對移動機器人初始采集的圖像,采取一系列預處理步驟,包括灰度化、圖像濾波、畸變校正等。將RGB圖像轉(zhuǎn)化成灰度圖像可以有效減少數(shù)據(jù)量。對一幅彩色圖像進行灰度處理,即將一幅彩色圖像中的一幅圖像轉(zhuǎn)化為一幅灰度圖像[14]。灰度圖像是用來量化亮度的,一般分為0~255的256個等級,其中 0 最暗,255 最亮。初始視覺圖像的灰度化處理結(jié)果為:
IGrayscale=W(0.299×IR+0.587×IG+0.114×IB)
(7)
式中,IR、IG和IB分別為圖像中紅、綠、藍色彩分量[15]。設(shè)計系統(tǒng)中采用高斯濾波處理方式,其處理過程如下:
(8)
式中,σ為高斯濾波同性擴散系數(shù)。初始視覺圖像中的畸變可以分為徑向畸變和切向畸變兩個部分,其中徑向畸變是因為光線經(jīng)過鏡頭時,在透鏡的邊緣附近的光會比在透鏡的中央附近的光扭曲得更厲害。因此,當光線到達像面時,其初始位置發(fā)生了偏差,從而引起像面上物體的坐標發(fā)生了改變。透鏡的徑向失真往往導致影像出現(xiàn)“枕狀”或“桶狀”的失真。視覺圖像徑向畸變的校正過程為:
(9)
式中,κcheck1、κcheck2和κcheck3分別為畸變校正系數(shù),j為旋轉(zhuǎn)矩陣向量。另外,切向畸變的產(chǎn)生通常是由于攝像機中鏡頭和成像平面不能保持完全平行,根據(jù)切向畸變的形成原理,確定相應(yīng)的校正系數(shù),并得出相應(yīng)的切向畸變校正處理結(jié)果。將初始采集的機器人視覺圖像中的所有像素代入到上述公式中,通過上述環(huán)節(jié)的處理得出移動機器人視覺圖像的預處理結(jié)果。
以移動機器人實時生成的視覺圖像及其處理結(jié)果為處理對象,生成相應(yīng)的虛擬現(xiàn)實環(huán)境,虛擬現(xiàn)實環(huán)境構(gòu)建流程如圖5所示。
圖5 虛擬現(xiàn)實環(huán)境構(gòu)建流程圖
為保證構(gòu)建的虛擬現(xiàn)實環(huán)境與機器人移動環(huán)境一致,采用圖像拼接與三維重構(gòu)的方式構(gòu)建虛擬環(huán)境。在圖像拼接過程中,由于移動機器人的采樣頻率較高,因此連續(xù)兩個時刻采集的圖像之間存在較大程度的重復,因此可以根據(jù)圖像之間的重疊情況進行拼接處理。利用公式(10)提取視覺圖像中任意一點的特征向量。
(10)
式中,β為視覺圖像中的像素點的亮度值,τ(x,y)為像素點的位置坐標,那么整幅視覺圖像的全局特征可以表示為:
τ(I)=gdet[τ(x,y)]-0.04(gtrace[τ(x,y)])2
(11)
式中,gdet和gtrace分別為局部極大值和極小值的檢索函數(shù)。按照上述方式可以得出所有視覺圖像的特征提取結(jié)果,并將其代入到公式(12)中,計算任意兩幅視覺圖像之間的特征匹配度。
(12)
若公式(12)的計算結(jié)果高于閾值s0,則認為視覺圖像i和k之間存在重疊情況,通過調(diào)整圖像特征區(qū)域?qū)μ卣髌ヅ涠冗M行反復計算,當計算得出s(i,k)取值為1時,說明當前區(qū)域為兩幅視覺圖像的重疊區(qū)域,將兩者進行重合處理,完成二者的拼接工作。若計算得出s(i,k)的值低于s0,則表示兩幅圖像之間不存在重疊情況,則直接進入下一組圖像的匹配工作[16]。反復執(zhí)行上述操作,直至移動機器人采集的視覺圖像全部拼接完成為止。在二維拼接視覺圖像的基礎(chǔ)上,通過對成像點距離的分析,確定圖像像素點的深度值。移動機器人對圖像中任意一點實際感知深度的計算公式如下:
(13)
式中,dcamera和dperpendicular分別表示的是移動機器人中左右兩視覺傳感器之間的距離以及主視傳感器與目標物體之間的垂直距離,而ξvision代表圖像視差。公式(13)的計算結(jié)果即為當前圖像像素點在虛擬現(xiàn)實環(huán)境中的深度坐標。將視覺圖像中各個物體的二維坐標與求解的深度坐標相結(jié)合,即可得出該物體在虛擬環(huán)境中的三維坐標,通過多像素的三維重構(gòu),得出機器人移動環(huán)境中所有物體結(jié)構(gòu)的虛擬模型生成結(jié)果,將紋理圖片貼在物體模型表面[17]。由于移動機器人處于實時運動的狀態(tài),因此相應(yīng)的虛擬現(xiàn)實環(huán)境需要根據(jù)機器人的移動位置進行動態(tài)更新,將移動機器人車體的絕對坐標轉(zhuǎn)換為參考坐標,根據(jù)虛擬現(xiàn)實環(huán)境中的物體與機器人之間的距離,確定對應(yīng)虛擬場景是否顯示,進而驅(qū)動虛擬現(xiàn)實場景實時更新。最終對虛擬現(xiàn)實場景進行渲染輸出,得出機器人虛擬移動環(huán)境的搭建結(jié)果。
2.6.1 目標物體的視覺定位與跟蹤
通過對視覺圖像特征的提取,實時檢測移動機器人抓取目標的位置。根據(jù)抓取目標狀態(tài)可以將其分為靜態(tài)目標和動態(tài)目標,靜態(tài)目標位置不會隨時間變化而發(fā)生變化,定位結(jié)果如下:
(14)
式中,γi為視覺圖像的邊緣特征,Ibackground表示的是視覺圖像中的背景區(qū)域,求解結(jié)果表示目標空間位置,可以進一步展開成坐標形式。而動態(tài)目標的定位與靜態(tài)目標一致,但需要定期重復定位操作,并用最新的定位結(jié)果與原始結(jié)果進行覆蓋。
2.6.2 生成機器人初始移動路線
假設(shè)移動機器人的初始位置為(x0,y0,z0),目標位置為(xstop,ystop,zstop),則初始生成的機器人移動路線可以表示為:
(15)
在初始移動路線下,機器人所經(jīng)過的空間路徑長度為:
(16)
在此基礎(chǔ)上,由機器人的初始位置至終止位置所插補步數(shù)可以表示為:
(17)
式中,ΔL為等距直線插補時的步長。那么在已知虛擬環(huán)境下移動機器人目標位置的情況下,即可生成移動機器人在虛擬環(huán)境中的初始移動路線。
2.6.3 利用虛擬現(xiàn)實技術(shù)檢測碰撞狀態(tài)
利用虛擬現(xiàn)實技術(shù)中的碰撞檢測功能,判斷初始生成的機器人移動路線與虛擬環(huán)境靜態(tài)物體之間是否存在碰撞現(xiàn)象。采用層次包圍盒方法執(zhí)行碰撞檢測任務(wù),包圍盒的每一條直線都是與其坐標軸線相平行的,它是一個最小的矩形平面[18]?;谂鲎矙z測的應(yīng)用,常采用的基本思路是將復雜的幾何體用一個簡單的包圍盒進行圍合。設(shè)置包圍盒的中心位置為:
(18)
式中,b1(i)、b2(i)和b3(i)表示物體表面三角形面片三個頂點的矢量,nplane為包圍盒包圍的三角面片數(shù)。當檢測兩個物體的碰撞時,先判斷盒周圍根節(jié)點的相交情況,不能相交,那么就不會有物體與之碰撞,若相交,就會遍歷根節(jié)點之下的子節(jié)點,若有相交,就會對包圍盒中的兩個多邊形進行精確地檢驗。
2.6.4 機器人移動路線調(diào)整與更新
若檢測得出初始生成的機器人移動路線與虛擬現(xiàn)實環(huán)境之間存在碰撞行為,則需要利用公式(18)調(diào)整碰撞點的位置。
(19)
式中,(xcollide(i),ycollide(i),zcollide(i))和(xnew(i),ynew(i),znew(i))表示的是調(diào)整前后碰撞路徑節(jié)點的坐標值,參數(shù)λx、λy和λz對應(yīng)的是三個空間方向上的調(diào)整量[19]。按照上述方式對初始移動路線中的所有碰撞節(jié)點進行調(diào)整,并將調(diào)整后的節(jié)點接入到初始路線中,并與碰撞節(jié)點的前后節(jié)點進行連接與插補。根據(jù)機器人的實時移動位置,調(diào)整移動路線的初始位置,實現(xiàn)對移動路線的實時更新。
在視覺伺服控制器的支持下,按照伺服控制邏輯,生成視覺伺服控制指令,如圖6所示。
視覺伺服控制的目標就是減小移動機器人實際運動中的移動機器人參數(shù)和預期間誤差,從姿態(tài)、移動速度、位置三個方面執(zhí)行伺服控制任務(wù),以移動速度控制為例,具體控制量可以表示為:
Δv=(xnew(i),ynew(i),znew(i))(vtarget-vt)
(20)
式中,vtarget和vt分別表示移動機器人的目標移動速度和t時刻的實際移動速度,利用硬件系統(tǒng)中的位姿傳感器可以直接得出變量vt的具體取值。若公式(20)計算結(jié)果為負數(shù),則執(zhí)行減速控制操作,若速度控制量Δv取值為正,則執(zhí)行加速控制操作[20]。同理可以得出移動機器人位置與姿態(tài)的伺服控制結(jié)果。在虛擬現(xiàn)實環(huán)境下,通過對視覺圖像的分析,確定控制目標參數(shù),并將伺服控制器輸出的控制指令直接作用在移動機器人上,直至移動機器人到達目標位置或完成目標任務(wù)。
針對移動機器人運動控制精度低的問題,基于其運動學和動力學特征,建立移動機器人數(shù)學模型,采用立體標定方式標定移動機器人的視覺相機,提高圖像采集的精準度,以此為基礎(chǔ)生成實時視覺圖像,并對取向進行灰度化、圖像濾波、畸變校正等預處理,提高圖像的質(zhì)量。根據(jù)高質(zhì)量圖像生成相應(yīng)的虛擬現(xiàn)實環(huán)境,在此環(huán)境下規(guī)劃移動機器人行動路線,并及時更新移動路線,提高機器人的伺服控制能力,最后按照伺服控制邏輯,生成視覺伺服控制指令,指導移動機器人完成目標任務(wù),實現(xiàn)移動機器人視覺伺服控制系統(tǒng)設(shè)計。
為了驗證設(shè)計的基于虛擬現(xiàn)實技術(shù)的移動機器人視覺伺服控制系統(tǒng)中控制功能能否滿足預期,進行系統(tǒng)測試。此次實驗分別從控制精度和控制效果兩個方面進行驗證,其中控制精度測試就是測試移動機器人位置、姿態(tài)角、移動速度等運動參數(shù)與控制目標之間的誤差,而控制效果就是測試在控制系統(tǒng)作用下,移動機器人與外界環(huán)境之間的碰撞情況。
實驗選擇Dr Robot型號的移動機器人作為系統(tǒng)的控制對象,該機器人帶有一個可移動底盤和四個自由度鉸接手臂,能夠執(zhí)行多種抓取任務(wù)。Dr Robot移動機器人自重35 kg,與地面之間的最大摩擦力為30 N,因此可以在坡度為45°以下的地面上自由移動。在開始試驗之前,需要對移動機器人樣機的各個功能進行檢測,判斷移動機器人各個元件之間是否能夠協(xié)同運行、移動機器人是否能夠成功接收相關(guān)控制信息、移動機器人是否能夠根據(jù)控制指令執(zhí)行相應(yīng)任務(wù),在確定移動機器人樣機調(diào)試成功的情況下,執(zhí)行系統(tǒng)測試實驗的下一步操作。
為支持設(shè)計視覺伺服控制系統(tǒng)中虛擬現(xiàn)實技術(shù)的運行,設(shè)置虛擬現(xiàn)實場景的開發(fā)工具為Multigen creator三維建模軟件,Multigen creator具有建模、變換、動畫及物體運動模糊等功能,其可以與Visual C++等編程工具一起工作,還能夠快速地生成一個具有真實效果的大型三維場景模型,并使用Open Flight作為圖形數(shù)據(jù)描述格式。Open Flight用于告知圖像生成者繪制出實時3D場景的時間,是一種對場景數(shù)據(jù)進行組織的方式。將Multigen creator工具下載至主測計算機中,通過解碼、解壓等步驟,保證虛擬現(xiàn)實場景實現(xiàn)工具能夠在主測計算機中正常運行。
在虛擬環(huán)境中隨機生成虛擬目標,結(jié)合移動機器人樣機在虛擬環(huán)境中的初始位置,規(guī)劃移動機器人的視覺伺服控制路線,移動機器人的視覺伺服位置控制路線如圖7所示。
圖7 移動機器人的視覺伺服位置控制路線
在此基礎(chǔ)上,標記移動機器人移動過程中的實時姿態(tài)角和速度參數(shù)。按照上述方式,生成6個虛擬目標,并形成相應(yīng)的6組視覺伺服控制任務(wù)。在控制效果測試過程中,在相同的虛擬環(huán)境下,生成隨機障礙物,隨機障礙物可以分為靜態(tài)障礙物和動態(tài)障礙物兩種,在有障礙環(huán)境下調(diào)整初始控制任務(wù),得出有障礙物場景下的任務(wù)生成結(jié)果。
將硬件系統(tǒng)中的相關(guān)元件設(shè)備安裝到移動機器人內(nèi)部,將視覺傳感器幀速率設(shè)置30FPS,分辨率設(shè)定為640×480。通過實時圖像的采集與虛擬現(xiàn)實技術(shù)的運行,輸出移動機器人的虛擬現(xiàn)實活動環(huán)境,如圖8所示。
圖8 移動機器人虛擬現(xiàn)實活動環(huán)境生成結(jié)果
將基于虛擬現(xiàn)實技術(shù)的移動機器人視覺伺服控制系統(tǒng)的軟件功能部分以程序代碼的方式輸入到主測計算機中,得出控制結(jié)果。移動機器人視覺伺服控制系統(tǒng)運行界面如圖9所示。
圖9 移動機器人視覺伺服控制系統(tǒng)運行界面
當系統(tǒng)檢測到移動機器人與目標位置相同時,判定移動機器人完成視覺伺服控制任務(wù),自動退出控制程序,并記錄機器人移動過程中的所有數(shù)據(jù)。此次系統(tǒng)測試實驗中設(shè)置文獻[2]系統(tǒng)(基于改進BP神經(jīng)網(wǎng)絡(luò)的機器人視覺伺服控制系統(tǒng))和文獻[3]系統(tǒng)(基于Udwadia-Kalaba方法的機器人伺服控制系統(tǒng))作為對比系統(tǒng),按照上述方式完成對比系統(tǒng)的開發(fā),并得出相應(yīng)的控制結(jié)果。
設(shè)置位置、姿態(tài)角和移動速度控制誤差作為系統(tǒng)控制誤差的量化測試指標,其中位置控制誤差的測試結(jié)果如下:
εseat=|xcontrol-xtarget|+|ycontrol-ytarget|+|zcontrol-ztarget|
(21)
式中,(xcontrol,ycontrol,zcontrol)和(xtarget,ytarget,ztarget)分別表示控制系統(tǒng)下移動機器人的實際位置和虛擬目標位置。
姿態(tài)角和移動速度控制誤差的數(shù)值結(jié)果為:
(22)
式中,θcontrol、θtarget、vcontrol和vtarget分別為移動機器人姿態(tài)角和移動速度的控制值與目標值。另外,控制效果的量化測試指標為碰撞次數(shù),其測試結(jié)果為:
Ncollide=Nobstacle+NFixed objects
(23)
式中,Nobstacle和NFixed objects分別為移動機器人與障礙物以及固定物體之間的碰撞次數(shù)。最終計算得出位置、姿態(tài)角和移動速度控制誤差越小,表明系統(tǒng)的控制精度越高,而碰撞次數(shù)越少,表明系統(tǒng)的控制效果越好。
3.6.1 控制精度
采集控制系統(tǒng)作用下移動機器人實時位置數(shù)據(jù),并將其與位置控制目標數(shù)據(jù)輸入到公式(21)中,獲得移動機器人位置控制誤差測試對比結(jié)果如圖10所示。
圖10 移動機器人位置控制誤差測試對比結(jié)果
從圖10中可以看出,與文獻[2]系統(tǒng)和文獻[3]系統(tǒng)相比,所設(shè)計系統(tǒng)的移動機器人位置控制誤差較小。由此可知,所設(shè)計系統(tǒng)的移動機器人視覺伺服控制精度較高。
根據(jù)上述數(shù)據(jù),利用公式(22)計算得到移動機器人姿態(tài)角和移動速度控制誤差測試數(shù)據(jù)如表1所示。
表1 移動機器人姿態(tài)角和移動速度控制誤差測試數(shù)據(jù)表
根據(jù)表1中的數(shù)據(jù)可知,文獻[2]系統(tǒng)和文獻[3]系統(tǒng)的平均姿態(tài)角控制誤差分別為0.43°和0.55°,平均移動速度控制誤差均為0.48m/s,而所設(shè)計系統(tǒng)的平均姿態(tài)角和移動速度控制誤差分別為0.05°和0.12m/s。由此可知,所設(shè)計系統(tǒng)的移動機器人姿態(tài)角和移動速度控制誤差較小,能夠有效提高移動機器人視覺伺服控制精度。
3.6.2 控制效果
在此基礎(chǔ)上,進一步進行移動機器人的碰撞檢測,通過公式(23)的計算得出碰撞次數(shù)的測試結(jié)果,如表2所示。
表2 移動機器人碰撞次數(shù)測試結(jié)果
根據(jù)表2中的數(shù)據(jù)可知,在靜態(tài)障礙物場景和動態(tài)障礙物場景下,與文獻[2]系統(tǒng)和文獻[3]系統(tǒng)相比,所設(shè)計系統(tǒng)的移動機器人碰撞次數(shù)較少,表明所設(shè)計系統(tǒng)具有較好的移動機器人視覺伺服控制效果。
為實現(xiàn)移動機器人的精確控制和路徑規(guī)劃,設(shè)計了基于虛擬現(xiàn)實技術(shù)的移動機器人視覺伺服控制系統(tǒng)。通過虛擬環(huán)境的I/O設(shè)備、位姿傳感器、視覺圖像處理器以及伺服控制器元件,設(shè)計系統(tǒng)硬件部分。搭建移動機器人數(shù)學模型,標定移動機器人視覺相機,生成移動機器人實時視覺圖像并進行預處理,構(gòu)建機器人虛擬移動環(huán)境,完成目標定位、路線生成、碰撞檢測、路線調(diào)整等,實現(xiàn)視覺伺服控制。通過系統(tǒng)測試驗證了該系統(tǒng)能夠為機器人的移動提供虛擬環(huán)境,并在一定程度上提升控制精度。