視頻融合在遙操作機(jī)器人系統(tǒng)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 系統(tǒng)總體結(jié)構(gòu)
針對(duì)以上情況,本文提出采用建立標(biāo)準(zhǔn)坐標(biāo)系使仿真機(jī)器人和反饋視頻在同一界面融合的方法,仿真模型預(yù)演作業(yè)任務(wù)而反饋視頻則跟蹤其軌跡進(jìn)行作業(yè),通過兩者對(duì)比及時(shí)發(fā)現(xiàn)機(jī)器人作業(yè)情況,一旦越界違規(guī)立刻停止。操作者也能根據(jù)兩者的比較了解現(xiàn)場環(huán)境,如出現(xiàn)障礙物或機(jī)器人傷人事件時(shí),立刻做出下一步命令以避免危險(xiǎn)發(fā)生。系統(tǒng)總體結(jié)構(gòu)如圖1所示。具體工作流程:攝像頭采集真實(shí)機(jī)器人的視頻數(shù)據(jù)傳送到服務(wù)器端圖像采集卡的靜態(tài)內(nèi)存中對(duì)其進(jìn)行H.263壓縮,視頻數(shù)據(jù)壓縮后經(jīng)網(wǎng)絡(luò)傳輸送到客戶機(jī)端。客戶機(jī)對(duì)數(shù)據(jù)進(jìn)行解壓、還原、顯示、在仿真模型界面顯示視頻使兩者融合,同時(shí)客戶機(jī)實(shí)現(xiàn)操作界面程序編寫。操作界面包括視頻融合模塊、視頻處理模塊和控制模塊。視頻融合模塊對(duì)視頻進(jìn)行相應(yīng)的坐標(biāo)變換后使其同仿真機(jī)器人在一個(gè)界面上重合顯示。視頻處理模塊包括視頻放大、視頻縮小、視頻保存、打開視頻、視頻截圖、存位圖、存JPEG圖、打開位圖、打開JPEG圖等功能。仿真三維立體模型采用3DSMAX建立,在OPENGL編程環(huán)境下對(duì)其進(jìn)行相應(yīng)的繪制及控制。反饋視頻數(shù)據(jù)經(jīng)壓縮、傳輸、解壓、相應(yīng)的坐標(biāo)變換及比例縮放后在客戶端顯示。服務(wù)器完成視頻采集、壓縮、存儲(chǔ)、傳輸??蛻魴C(jī)完成仿真模型控制、解壓、顯示視頻,以及對(duì)視頻進(jìn)行相應(yīng)的放大、縮小、截圖、保存。由于網(wǎng)絡(luò)傳輸存在延時(shí),而且這種延時(shí)除了傳輸指定距離所需的固定延時(shí)及指令執(zhí)行延時(shí)外,還有一些隨機(jī)擾動(dòng)延時(shí),如果這種延時(shí)不能夠及時(shí)發(fā)現(xiàn),操作者根據(jù)視頻反饋會(huì)做出錯(cuò)誤判斷。根據(jù)這種情況在客戶端繪制接收數(shù)據(jù)字節(jié)曲線,可形象直觀地觀察到網(wǎng)絡(luò)狀況對(duì)視頻傳輸?shù)挠绊?,如圖2所示。
控制模塊如圖3所示,包括每個(gè)關(guān)節(jié)的啟動(dòng)、停止按鈕、速度輸出及速度變量輸出顯示。
2 仿真模型建立及視頻融合實(shí)現(xiàn)
2.1 通信建立與視頻傳輸
網(wǎng)絡(luò)通信分為同步方式和異步方式。同步方式是發(fā)送方不等接收方響應(yīng),便接著發(fā)下一個(gè)數(shù)據(jù)包的通信方式;異步方式是發(fā)送方發(fā)出數(shù)據(jù)后,等收到接收方發(fā)回的響應(yīng),才發(fā)下一個(gè)數(shù)據(jù)包的通信方式。本系統(tǒng)開發(fā)的是客戶端/服務(wù)器(C/S)結(jié)構(gòu)的軟件,該軟件是異步非阻塞模式。此模式的優(yōu)點(diǎn)是既可以同步執(zhí)行,也可以重疊執(zhí)行。圖像在網(wǎng)絡(luò)中傳輸時(shí),不可避免地要牽涉到傳輸協(xié)議的問題。TCP/IP是一組協(xié)議,其中底層的協(xié)議TCP和UDP對(duì)于圖像的傳輸起著至關(guān)重要的作用。TCP是面向連接的,即在端與端的通信中,TCP協(xié)議建立一條端與端之間的虛電路。UDP是一種面向無連接的,它取消了重傳校驗(yàn)機(jī)制,能夠達(dá)到很高的通信效率,很適合于可靠性要求不高的數(shù)據(jù)傳輸。由于本機(jī)器人系統(tǒng)對(duì)視頻的丟幀情況要求不高,故采用客戶/服務(wù)器模式的UDP協(xié)議方式。視頻傳輸采用UDP傳輸,建立Socket類直接傳輸圖像數(shù)據(jù),客戶端調(diào)用自寫show函數(shù)在OPENGL編程環(huán)境下繪制反饋視頻,實(shí)現(xiàn)視頻再現(xiàn)。系統(tǒng)中,使用MFC來開發(fā)通信程序及操作界面。這是因?yàn)镸FC主要是基于窗口和文檔的應(yīng)用軟件編程,它集成了大量的數(shù)據(jù)和方法,將許多煩瑣的任務(wù),如應(yīng)用程序初始化、文檔處理和磁盤I/O封裝起來,為使用者的編程帶來了巨大的方便。
2.2 仿真機(jī)器人模型繪制
采用3DSMAX建立MOTOMAN機(jī)器人三維仿真機(jī)器人模型后,采用Deep Explortation轉(zhuǎn)換軟件轉(zhuǎn)換成VC代碼,在VC的工程設(shè)置中加入OPENGL的鏈接庫,建立工程并調(diào)用轉(zhuǎn)化的仿真機(jī)器人代碼。在創(chuàng)建、裝入、相乘模型變換和投影變換矩陣時(shí)都用到堆棧操作,一般來說,矩陣堆棧常用于構(gòu)造具有繼承性的模型,即由一些簡單目標(biāo)構(gòu)成的復(fù)雜模型。MOTOMAN機(jī)器人仿真模型中,復(fù)雜的機(jī)械手臂是由多個(gè)簡單的長方體依據(jù)繼承關(guān)系構(gòu)成的,而這種繼承關(guān)系由矩陣堆棧順序決定。機(jī)械手臂、關(guān)節(jié)、底座均按照實(shí)際機(jī)器人的比例進(jìn)行相應(yīng)縮放。規(guī)定好了底座的坐標(biāo)系后,其他關(guān)節(jié)、手臂則根據(jù)自身的立體尺寸就能計(jì)算出坐標(biāo)位置進(jìn)行繪制。本機(jī)器人模型由3層支撐底座、4個(gè)旋轉(zhuǎn)關(guān)節(jié)、1個(gè)橫梁、1個(gè)豎柱、手爪及其他一些零部件構(gòu)成,仿真機(jī)器人模型如圖4(a)所示。它的繼承性表現(xiàn)在當(dāng)末端執(zhí)行器手爪運(yùn)動(dòng)時(shí)(如垂直上升),首先是關(guān)節(jié)3向上啟動(dòng),然后關(guān)節(jié)2向手爪方向轉(zhuǎn)動(dòng),接著是關(guān)節(jié)1微轉(zhuǎn),整個(gè)機(jī)器人垂直平移,如此進(jìn)行下去,整個(gè)機(jī)器人協(xié)調(diào)配合保持末端執(zhí)行器(手爪)垂直上升。三維模型在OPENGL中的顯示流程是:世界坐標(biāo)系中的三維物體經(jīng)三維幾何變換后投影并進(jìn)行三維裁剪及視口變換,最后在屏幕坐標(biāo)系中顯示圖形。
2.3 視頻融合及控制實(shí)現(xiàn)
仿真機(jī)器人底座視點(diǎn)坐標(biāo)系確定后,視頻機(jī)器人根據(jù)仿真機(jī)器人的大小進(jìn)行縮放繪制,使底座同仿真機(jī)器人底座在一個(gè)坐標(biāo)位置。視頻中機(jī)器人的其他部分同底座一樣進(jìn)行相應(yīng)的映射,因此,初始時(shí)刻視頻和仿真模型的關(guān)節(jié)、視角位置是基本重合的。視頻融合界面通過VC控件SLIDER調(diào)節(jié)視頻透明度,操作者根據(jù)實(shí)際情況選擇清晰度,也可以將反饋視頻設(shè)置成完全透明(此時(shí)只能看到模型而看不到視頻)。本仿真機(jī)器人在OpenGL三維編程中實(shí)現(xiàn)3DSMAX數(shù)據(jù)模型的程序控制。3DSMAX是一種簡便快捷的建模軟件,比同類軟件進(jìn)一步完善了建模功能,更側(cè)重于復(fù)雜模型的建模,可以很容易地用C++和OpenGL結(jié)合實(shí)現(xiàn)圖形學(xué)算法,再把本算法作為插件嵌入3DSMAX環(huán)境中,而不用考慮物體模型的生成和處理的復(fù)雜代碼,利用3DSMAX的渲染計(jì)時(shí)器可以方便地檢驗(yàn)所編算法的效率和效果[12]。在仿真機(jī)器人制作時(shí)應(yīng)遵循一個(gè)原則:在能夠保證視覺效果的前提下,盡量采用比較簡單的模型,而且若能夠用參數(shù)化方法構(gòu)建的對(duì)象盡量用參數(shù)化方法構(gòu)建。同時(shí),在模型創(chuàng)作過程中,對(duì)模型進(jìn)行分割、獨(dú)立建模,以利于進(jìn)行操作和考察。仿真機(jī)器人視頻融合前后對(duì)比如圖4所示??刂瞥绦?qū)崿F(xiàn)仿真模型控制,控制過程是:按下相應(yīng)操作按鈕,2個(gè)線程同時(shí)運(yùn)行,1個(gè)線程將控制指令傳送到仿真模型使虛擬機(jī)器人運(yùn)動(dòng),另1個(gè)線程將控制命令通過網(wǎng)絡(luò)傳輸送到服務(wù)器控制真實(shí)MOTOMAN機(jī)器人完成一致作業(yè)。在仿真模型和視頻融合界面中,模型走過的軌跡在程序中用紅線標(biāo)定(為方便觀察者,紅色軌跡線采用10個(gè)像素的粗實(shí)線繪制),反饋視頻隨后跟蹤此軌跡運(yùn)行,操作者觀察視頻中機(jī)器人的運(yùn)行情況并判斷運(yùn)行是否達(dá)標(biāo)及決策下一步。
該視頻融合方法應(yīng)用于遙操作機(jī)器人系統(tǒng)中,能夠使控制者準(zhǔn)確判斷機(jī)器人作業(yè)精準(zhǔn)度,同時(shí)將傳統(tǒng)的遙操作機(jī)器人視頻監(jiān)控及仿真預(yù)測相結(jié)合,提出將視頻融合應(yīng)用于遙操作機(jī)器人技術(shù)中。實(shí)驗(yàn)結(jié)果表明,這種方法對(duì)于精準(zhǔn)度要求高的機(jī)器人系統(tǒng)非常實(shí)用,將來可以將該視頻融合方法拓展在搶險(xiǎn)救災(zāi)、災(zāi)情調(diào)查、工程運(yùn)行、水利監(jiān)測、城市調(diào)查中,除了能對(duì)現(xiàn)場完成監(jiān)測錄像、圖像傳輸?shù)裙δ芡?,還可以比較預(yù)測與實(shí)際的差異。
參考文獻(xiàn)
[1] 高永生.基于Internet多機(jī)器人遙操作系統(tǒng)安全機(jī)制的研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2008:15-19.
[2] 黃繼偉.遙操作機(jī)器人系統(tǒng)及其夾持器抓取算法研究[D].南京:東南大學(xué),2008:12-15.
[3] 王學(xué)謙,梁斌,李成,等.自由飛行空間機(jī)器人遙操作三維預(yù)測仿真系統(tǒng)研究[J].宇航學(xué)報(bào),2009(1):2-3.
[4] 蔣再男,劉宏,謝宗武,等.3D圖形預(yù)測仿真及虛擬夾具的大時(shí)延遙操作技術(shù)[J].西安交通大學(xué)學(xué)報(bào),2008(1):2-3.
[5] 鄭云輝,鄭偉,席寧,等.基于無線網(wǎng)絡(luò)的足球機(jī)器人遙操作系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2008(1):2-3.
[6] 譚明金.Visual C++圖形編程技巧與實(shí)例[M].北京:人民郵電出版社,2002.
[7] 張海燕,王東木,宋克歐,等.圖像壓縮技術(shù)[J].系統(tǒng)仿真學(xué)報(bào),2002,14(7):831-835.
[8] 沈潔,杜宇人,殷玲玲,等.基于DCT變換的圖像壓縮技術(shù)研究[J].信息技術(shù),2006(10).
[9] 郭海靜,葛萬成.基于DCT與SPIHT的數(shù)字圖像壓縮技術(shù)研究[J].信息技術(shù),2005(12):2.
[10] ABEYTA A M, FRANKLIN J. The accuracy of vegetation stand boundaries derived from image segmentaion in a desert environment[J]. Photogrammetric Engineering and Remote Sensing, 1998,64(1):60-64.
[11] AFEK Y, BRAND A. Mosaicking of orthorectified aerial images[J]. Photogrammetric Engineering and Remote Sensing, 1998,64(2):116-120.
[12] 王愛民,許志峰.基于3DSMAX和OpenGL的遙操作機(jī)器人圖形建模[J].工業(yè)儀表與自動(dòng)化裝置學(xué)報(bào),2007(4):2-3.