遠(yuǎn)程機(jī)器人監(jiān)控系統(tǒng)的研制
摘 要: 分析了利用遠(yuǎn)程網(wǎng)絡(luò)對(duì)機(jī)器人進(jìn)行遙操作控制的主要技術(shù)關(guān)鍵,在此基礎(chǔ)上介紹了遙操作控制系統(tǒng)的設(shè)計(jì)思想和總體結(jié)構(gòu),并闡述了視頻圖像壓縮的流程,其中所采用的幀間壓縮方式是當(dāng)前的創(chuàng)新技術(shù),最后給出了系統(tǒng)性能的定量分析結(jié)果。
本文引用地址:http://m.butianyuan.cn/article/242395.htm關(guān)鍵詞: 遠(yuǎn)程機(jī)器人 離散余弦交換 哈夫曼編碼
隨著計(jì)算機(jī)網(wǎng)絡(luò)的迅速發(fā)展和機(jī)器人應(yīng)用的逐步推廣,對(duì)遠(yuǎn)程機(jī)器人進(jìn)行實(shí)時(shí)的控制和監(jiān)測(cè),已經(jīng)越來越受到人們的關(guān)注。我們所承擔(dān)的國(guó)家863項(xiàng)目“利用遠(yuǎn)程網(wǎng)絡(luò)技術(shù)的機(jī)器人遙操作研究”正是在這樣的背景下展開的。
1 總體結(jié)構(gòu)和模塊劃分
通過Internet網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)遠(yuǎn)程機(jī)器人的監(jiān)控,是指用戶在本地發(fā)送控制命令給遠(yuǎn)端的機(jī)器人,由遠(yuǎn)端機(jī)器人的控制系統(tǒng)對(duì)控制命令加以解釋、執(zhí)行,從而控制機(jī)器人完成相應(yīng)的動(dòng)作。同時(shí),由遠(yuǎn)端的攝象機(jī)把現(xiàn)場(chǎng)的圖像加以采集。由于視頻圖像信息的數(shù)據(jù)量非常大,不可能在Internet網(wǎng)絡(luò)上實(shí)時(shí)傳輸,因此,必須先對(duì)圖像信息進(jìn)行壓縮,然后通過網(wǎng)絡(luò)傳送到用戶站點(diǎn)。用戶站點(diǎn)把接收到的已壓縮的圖像信息進(jìn)行解壓縮,還原成原來的圖像。隨后,用戶可根據(jù)總的調(diào)度程序給遠(yuǎn)端機(jī)器人發(fā)出新的控制命令,遠(yuǎn)端機(jī)器人再完成相應(yīng)的動(dòng)作。同樣,又通過網(wǎng)絡(luò)把機(jī)器人的動(dòng)作情況傳送到用戶站點(diǎn)。于是,遠(yuǎn)端機(jī)器人的一舉一動(dòng)都能及時(shí)地呈現(xiàn)在用戶的面前,這就是所謂的現(xiàn)場(chǎng)感。
為了把控制命令和運(yùn)動(dòng)過程都記錄下來,為以后的分析、研究提供準(zhǔn)確的數(shù)據(jù),有必要建立控制命令和運(yùn)動(dòng)過程數(shù)據(jù)庫(kù)。按這樣的設(shè)想,該系統(tǒng)的總體結(jié)構(gòu)如圖1所示。
系統(tǒng)采用客戶機(jī)/服務(wù)器(client/Server)體系結(jié)構(gòu)。對(duì)于控制命令來說,客戶機(jī)接受用戶提供的機(jī)器人控制命令,然后形成相應(yīng)的命令幀格式,發(fā)送到網(wǎng)絡(luò)上。服務(wù)器對(duì)接收到的控制命令進(jìn)行分析解釋,并通過機(jī)器人的控制系統(tǒng)驅(qū)動(dòng)機(jī)器人執(zhí)行相應(yīng)的命令。對(duì)于視頻圖像來說,首先由客戶機(jī)采集視頻圖像,然后進(jìn)行數(shù)據(jù)壓縮,再發(fā)送到網(wǎng)絡(luò)上。服務(wù)器則把從網(wǎng)絡(luò)上接收到的圖像數(shù)據(jù)進(jìn)行組合,完成相應(yīng)的解壓工作,恢復(fù)視頻圖像的本來面目。
從整個(gè)系統(tǒng)的工作過程可以看出,從對(duì)控制命令的處理這一角度來看,本地是客戶機(jī),遠(yuǎn)端是服務(wù)器,而從對(duì)視頻圖像的處理這一角度來看,遠(yuǎn)端是客戶機(jī),本地是服務(wù)器。也就是說,客戶機(jī)/服務(wù)器結(jié)構(gòu)不是從物理上的本地或遠(yuǎn)端來劃分的,而是從邏輯上的不同功能來劃分的。之所以這樣劃分,是因?yàn)樵谠撓到y(tǒng)中,視頻圖像的處理和傳輸過程是相對(duì)獨(dú)立的,而不是控制命令的簡(jiǎn)單應(yīng)答和反饋信息??傊?,客戶機(jī)主動(dòng)發(fā)出各種信息,而服務(wù)器則被動(dòng)地接收來自客戶機(jī)的信息,并進(jìn)行相應(yīng)的處理。
2 視頻圖像壓縮傳輸?shù)幕玖鞒?/b>
系統(tǒng)首先建立獲取窗口,然后指定回調(diào)函數(shù)。系統(tǒng)獲取的圖像存放在一段連續(xù)的內(nèi)存中,以回調(diào)函數(shù)的形式傳送給編程人員。在回調(diào)函數(shù)中,先進(jìn)行壓縮處理,然后把大數(shù)據(jù)塊打包,再把數(shù)據(jù)包按序號(hào)依次發(fā)送到Internet網(wǎng)絡(luò)上。本地站點(diǎn)接收到數(shù)據(jù)包以后,按序號(hào)組合成數(shù)據(jù)塊,然后解壓縮,最后在給定窗口上重現(xiàn)視頻圖像。視頻圖像壓縮傳輸過程如圖2所示。
我們采用的是混合編碼方案,其視頻圖像壓縮的基本流程如圖3所示。首先判斷是否為關(guān)鍵幀,若是關(guān)鍵幀,則先進(jìn)行離散余弦變換DCT(Discrete Cosine Transform),然后對(duì)DCT系數(shù)作量化處理,再對(duì)量化后的交流(AC)系數(shù)以Z形路徑進(jìn)行行程編碼RLE(Run-Length Encoding),最后進(jìn)行哈夫曼編碼;若不是關(guān)鍵幀,則采用幀間壓縮。
對(duì)于幀間壓縮,我們比較了兩種不同的方式。
第一種方式以象素為基礎(chǔ),首先將其與上一幀作差,得到一個(gè)稀疏的矩陣。在作差的過程中,采用小范圍匹配的方法去掉一部分噪聲,然后采用改進(jìn)的行程編碼得到最后結(jié)果。再把當(dāng)前幀圖像保存在指定的內(nèi)存區(qū)內(nèi),作為下一幀作差的參考幀。
第二種方式是以宏塊為基礎(chǔ)的運(yùn)動(dòng)補(bǔ)償方式,首先計(jì)算運(yùn)動(dòng)矢量,然后采用行程編碼RLE和哈夫曼編碼。由于機(jī)器人的運(yùn)動(dòng)主要是平移和轉(zhuǎn)動(dòng),而缺少局部的細(xì)微變化,用運(yùn)動(dòng)補(bǔ)償可以達(dá)到較高的壓縮比和相當(dāng)好的圖像質(zhì)量。
由于與遠(yuǎn)程站點(diǎn)之間通過Internet網(wǎng)進(jìn)行傳輸時(shí),信道的數(shù)據(jù)傳輸率不是固定的,因此,系統(tǒng)中通過信道測(cè)試反饋信息來改變量化時(shí)的步長(zhǎng),從而調(diào)節(jié)視頻信息的數(shù)碼率,以便更好地適應(yīng)信道傳輸率的變化。
3 實(shí)驗(yàn)數(shù)據(jù)和性能分析
我們對(duì)幾種不同的壓縮算法進(jìn)行了比較。為了接近Internet網(wǎng)的數(shù)據(jù)傳輸率,采用的數(shù)據(jù)流量為10kb/s。具體的實(shí)驗(yàn)數(shù)據(jù)如表1所示。
由上述數(shù)據(jù)可畫出使用IC壓縮器(IC Compressor)進(jìn)行定流量壓縮時(shí),幀頻和壓縮比隨圖像格式而變化的曲線如圖4所示。
從圖中曲線可以看出,隨著圖像的變大,壓縮比大大提高,而幀頻則隨之下降。這是因?yàn)?,?dāng)圖像變大時(shí),背景相應(yīng)變大,而在背景幾乎不變的情況下,幀間壓縮的壓縮比會(huì)相當(dāng)大,從而使總的壓縮比明顯提高;隨著圖像的增大,數(shù)據(jù)量將成倍增加,在數(shù)據(jù)傳輸率一定的條件下,幀頻必然會(huì)下降。
使用定質(zhì)量(Fix Quality)壓縮時(shí),幀頻和壓縮比隨質(zhì)量而變化的曲線圖5所示。
從如上曲線可以看出,隨著對(duì)圖像質(zhì)量要求的提高,幀頻和壓縮比均呈下降趨勢(shì)。這是因?yàn)椋瑢?duì)于特定的壓縮算法,要提高圖像質(zhì)量必須要增加壓縮后的數(shù)據(jù)量,壓縮比自然會(huì)下降;而在網(wǎng)絡(luò)數(shù)據(jù)傳輸率一定的條件下,傳輸一幀的圖像數(shù)據(jù)所用的時(shí)間就會(huì)增加,從而在單位時(shí)間內(nèi)能傳輸?shù)膸瑪?shù)必然要減少。
對(duì)于實(shí)驗(yàn)的第一種混合編碼方式,其結(jié)果明顯優(yōu)于以上方式,在圖像質(zhì)量一定的情況下,幀頻和壓縮比均有明顯提高。
對(duì)于采用的第二種混合編碼方式,在數(shù)據(jù)傳輸率較低的情況下,達(dá)到了較高的壓縮比、較好的圖像質(zhì)量和基本實(shí)時(shí)的視頻效果。
實(shí)驗(yàn)數(shù)據(jù)中給出的幀頻和壓縮比計(jì)算如下:記錄圖像采集開始和結(jié)束的時(shí)刻,在播放過程中統(tǒng)計(jì)幀數(shù),用幀數(shù)除以時(shí)間差即為幀頻:
幀頻=幀數(shù)/(結(jié)束時(shí)間-開始時(shí)間)
用圖像信息應(yīng)傳輸?shù)淖止?jié)數(shù)除以實(shí)際傳輸?shù)淖止?jié)數(shù)即為壓縮比:
壓縮比=應(yīng)傳字節(jié)數(shù)/實(shí)傳字節(jié)數(shù)
評(píng)論