袁 鑄, 馬 林, 申一歌
(河南工業(yè)職業(yè)技術(shù)學(xué)院,河南南陽473000)
隨著網(wǎng)絡(luò)技術(shù)和機器人技術(shù)的發(fā)展,人們提出了各種遠程控制的理論方法,用以實現(xiàn)對機器人的遠程控制以滿足人們的某種要求。這不僅擴展了機器人的應(yīng)用領(lǐng)域,同時通過遠程控制還可以使操作人員遠離機器人所處的危險作業(yè)環(huán)境,從而避免造成人身傷害。
機器人遠程控制按照不同的控制方法,大體上可以分為4類,即直接控制、監(jiān)督控制、預(yù)測/預(yù)演顯示控制和事件智能控制模式等[1]。所謂事件智能控制模式,就是把事件驅(qū)動思想引入到機器人遠程控制領(lǐng)域。它能夠避免時延的影響,要求服務(wù)器端有更強的智能控制能力,是機器人遠程控制系統(tǒng)中目前較有前景的控制模式,但是這種控制方式技術(shù)還很不成熟,理論體系也沒有建立。
在目標跟蹤的過程中,如果每次都在整個圖像范圍內(nèi)對目標進行搜索,必然會增大系統(tǒng)的計算量,影響系統(tǒng)的實時性[2]。為了提高算法的效率,減少計算量,人們常用濾波算法來預(yù)測目標的位置。在相對小的范圍內(nèi)搜索目標,目前常用的算法是Kalman濾波算法,但是當(dāng)目標運動狀態(tài)突然改變的時候,這種濾波算法很容易發(fā)散,導(dǎo)致跟蹤目標丟失[3]。為此,采用交互式多模型(Interacting Multiple Model,IMM)算法[4]來提高目標預(yù)測的精度。
本文基于事件智能控制理論,運用IMM算法建立了一個校園網(wǎng)內(nèi)簡單的機器人遠程控制的目標跟蹤系統(tǒng)。
本系統(tǒng)采用“B/S(瀏覽器/服務(wù)器)”模式實現(xiàn),包括一個客戶機瀏覽器,一個服務(wù)器和機器人服務(wù)器。客戶機瀏覽器就是遠程控制端,操作界面選擇了可以嵌入到Web頁面中的ActiveX控件技術(shù),實現(xiàn)控制指令和實時圖像的傳輸。Web服務(wù)器采用交互語言應(yīng)用平臺(Interactive Speech Application Platform,ISAP)技術(shù)構(gòu)建,實現(xiàn)一個交互的服務(wù)系統(tǒng),對用戶的操作進行處理。機器人服務(wù)器實現(xiàn)目標識別跟蹤,根據(jù)估計目標的狀態(tài),進行軌跡規(guī)劃,并通過機器人運動控制器控制機器人,與Web服務(wù)器安裝在同一臺電腦上。
用戶發(fā)出控制信息之后,機器人服務(wù)器經(jīng)Web服務(wù)器把遠程攝像頭采集的圖像傳給用戶,同時執(zhí)行本地跟蹤算法。在一幀幀的圖像中對目標進行識別,預(yù)測目標將要出現(xiàn)的位置和狀態(tài),最終控制機器人完成打擊或抓取的任務(wù)。
為實現(xiàn)基于Web的遠程控制,使用一個開發(fā)的ActvieX控件,將其嵌入到 Web服務(wù)器的頁面中,它負責(zé)用戶控制指令的傳輸以及視頻的顯示。
當(dāng)用戶訪問服務(wù)器時,瀏覽器就會自動下載這個ActvieX控件,為用戶提供一個遠程控制的操作界面。當(dāng)用戶登陸后,就進入控制界面。如果沒有其他用戶進行控制,系統(tǒng)就會把該用戶連接視頻時刻攝像頭采集的圖像保存下來,并發(fā)送至該用戶,等待其標定好需要跟蹤的目標區(qū)域后,用戶標定的坐標會以控制指令的形式發(fā)給Web服務(wù)器,同時開始接收實時視頻。Web服務(wù)器會把這些信息解釋后發(fā)給機器人服務(wù)器,其他登陸的用戶只能接收實時視頻,每次只允許一個用戶進行遠程控制。在機器人服務(wù)器端圖像的傳輸和控制指令的傳遞是分開的程序進程??刂浦噶畹膫鬟f是一個封裝了指令參數(shù)的結(jié)構(gòu)體,該結(jié)構(gòu)體能進行自身數(shù)據(jù)的網(wǎng)絡(luò)字節(jié)順序與機器字節(jié)順序的轉(zhuǎn)換。
通過編寫一個ISAP I服務(wù)器擴展程序來擴展互聯(lián)網(wǎng)信息服務(wù)(Internet Information Service,IIS)的Web服務(wù)器功能,為客戶端用戶提供遙控操作界面,并對注冊用戶信息進行管理。
在視頻傳輸方面,由于是在發(fā)送者和接收者之間實現(xiàn)一點對多點的網(wǎng)絡(luò)連接,故采用IP組播方式傳送圖像。IP組播的核心思想就是通過一個IP地址向一組主機發(fā)送數(shù)據(jù),發(fā)送者僅僅向一個組地址發(fā)送信息,接收者只需加入到這個分組就可以接收信息,所有的接收者接收的是同一個數(shù)據(jù)流,組員是動態(tài)的,可以自愿隨時加入或退出[5-6]。
在遠程控制中圖像的傳輸主要包括:圖像采集、圖像壓縮、圖像傳輸、圖像解碼和圖像顯示等幾個過程,其組成框架如圖1所示。
圖1 圖像傳輸組成框架
本系統(tǒng)通過一個安裝在機器人本體上方的固定USB攝像頭,使查看畫面的范圍比機器人本體所能到達的范圍稍大,這樣便于遠程觀測到機器人周邊環(huán)境。圖像采集有2個用途:① 把機器人執(zhí)行跟蹤的過程傳給過程控制的用戶以及觀看的用戶;② 用于機器人服務(wù)器進行目標的識別跟蹤。
采集到的原始圖像是不適合直接用來網(wǎng)絡(luò)傳輸?shù)?,因為一般原始圖像的數(shù)據(jù)量是龐大的,如果直接用來網(wǎng)絡(luò)傳輸,將會占用大量的網(wǎng)絡(luò)帶寬。為了提高網(wǎng)絡(luò)傳輸?shù)男剩涌炀W(wǎng)絡(luò)傳輸?shù)乃俣?,需要對原始圖像進行壓縮處理,去除圖像的冗余數(shù)據(jù)。圖像傳輸中圖像壓縮所采用的一般有靜態(tài)壓縮和動態(tài)壓縮兩種方式。靜態(tài)壓縮是對每一幀圖像進行獨立壓縮,不考慮前后兩幀圖像之間的關(guān)系。動態(tài)壓縮是對運動圖像序列進行壓縮,它不只是單獨針對一幀圖像,還考慮幀與幀之間的相互關(guān)系,但算法復(fù)雜。本系統(tǒng)采用了靜態(tài)的JPEG壓縮。為了保持數(shù)據(jù)的完整性,用于圖像處理采用了24位BMP格式。由于采用的是IP組播實現(xiàn)圖像的一對多傳輸,故采用的是用戶數(shù)據(jù)報協(xié)議(User Datagram Protol,UDP)協(xié)議[7]。
圖像解壓縮是圖像壓縮的逆過程,即將壓縮的圖像數(shù)據(jù)進行解碼,重現(xiàn)出圖像的原始內(nèi)容,以顯示給遠程用戶。解壓縮方式是與壓縮方式相對應(yīng)的。遠程用戶端將圖像解壓后,顯示給用戶。
由于本系統(tǒng)是一個簡單的基于事件的遠程控制系統(tǒng),所以對圖像的實時性要求并不是太高,不需要用戶在對圖像的觀看過程中根據(jù)圖像的狀態(tài)對機器人發(fā)送控制指令,所要做的就是觀察遠程機器人是怎樣執(zhí)行跟蹤的過程。
本系統(tǒng)一個重要的特點就是用戶把控制信息發(fā)送過去之后,執(zhí)行過程就不需要用戶進行干預(yù),而是由機器人服務(wù)器去自主完成跟蹤,這就需要機器人服務(wù)器有強大的跟蹤能力,故引入IMM算法,提高對目標未來運動狀態(tài)的預(yù)測能力。
假定目標有r種運動狀態(tài),如勻速運動、勻加速運動等,每種運動狀態(tài)對應(yīng)一種模型,即有r種運動模型,記為M1,M2,…,Mr。根據(jù)不同的運動狀態(tài)建立不同的模型濾波器,各模型濾波器通過估計狀態(tài)的組合實現(xiàn)交互作用,其輸出結(jié)果之間用馬爾可夫鏈進行切換,實現(xiàn)機動目標的混合狀態(tài)估計,即目標的運動狀態(tài)預(yù)測,這一算法稱為IMM算法。IMM算法是一種遞推的算法結(jié)構(gòu),其每一個循環(huán)過程大體上分為4步:輸入交互、各濾波器并行濾波、模型概率更新和輸出交互。
2.1.1 輸入交互
預(yù)測模型概率:
式中,Mj為系統(tǒng)模型;Zk-1為量測序列;pij為從模型i轉(zhuǎn)移到模型j的轉(zhuǎn)移概率。在k時刻
式中,Mi(k)為目標模型Mi發(fā)生的后驗概率。
濾波器初始狀態(tài)輸入:
濾波器初始協(xié)方差輸入:
2.1.2 各濾波器并行濾波
把式(3)和(4)的估計作為與模型Mj相匹配的濾波器的輸入,并對各濾波器分別進行卡爾曼濾波,得到各自的估計狀態(tài)X^j(k/k)和協(xié)方差矩陣Pj(k/k)。
2.1.3 模型概率更新
在每一個模型完成上一步更新之后,利用似然函數(shù)Λj(k)計算新的模型概率μj(k),其中似然函數(shù)Λj(k)由2.1.2節(jié)中卡爾曼濾波中得到的測量殘差υj和殘差協(xié)方差Sj更新量計算得出:
模型概率μj(k)更新由貝葉斯定理給出:
2.1.4 輸出交互
在計算出各模型的后驗概率之后,就可以對各濾波器的狀態(tài)估計進行概率加權(quán)求和,得到最終的狀態(tài)估計和協(xié)方差:
本文采用基于特征差異的彩色目標識別方法[8]識別目標。在應(yīng)用IMM算法時,設(shè)定運動目標具有勻速運動和勻加速運動兩種狀態(tài),每種運動狀態(tài)對應(yīng)一種模型,即有兩種運動模型。用于模型切換的馬爾可夫過程的轉(zhuǎn)移概率矩陣:
對于一個具有高斯噪聲的離散時間跟蹤系統(tǒng),設(shè)采樣周期為T,其離散化后的運動和量測的數(shù)學(xué)模型可用以下狀態(tài)方程描述:
故,可以使用IMM算法估計出目標當(dāng)前的狀態(tài),并根據(jù)濾波殘差序列的統(tǒng)計特性[2],構(gòu)造目標下一時刻的矩形預(yù)測門。
本系統(tǒng)由校園網(wǎng)內(nèi)的計算機做為遠程端,一個PentiumIV計算機作為機器人服務(wù)器和Web服務(wù)器,并與微型CCD攝像頭和機器人運動控制器相連,加上控制對象機器人本體和一個需要跟蹤的運動目標組成。其中,從攝像頭采集的圖像為320×240的分辨率,10幀/s。機器人為一個GRB—400型SKARA機器人,有一個固定的多關(guān)節(jié)機械手,具有4個自由度。
在坐標系選取上,以機器人工作臺坐標作為基準,其遠程控制的操作界面如圖2所示。
圖2 機器人遠程控制操作界面
當(dāng)遠程標定目標后,機器人跟蹤目標的圖像就實時傳送過來,由于是在校園網(wǎng)內(nèi)進行實驗,采用靜態(tài)壓縮,丟幀現(xiàn)象也明顯,所以圖像依然很流暢。
在機器人服務(wù)器端,可獲得目標的位置信息。從用戶登陸時保存的那幀圖像中找到目標,用顏色特征集法提取目標的特征,然后開始順序選取前3幀圖像,確定目標的起始速度、加速度。以后處理每一幀圖片時,都先由IMM濾波算法給出目標的預(yù)測位置,在以此為中心的一定區(qū)域內(nèi)構(gòu)造預(yù)測門,在該范圍內(nèi)進行搜索,與特征值有最大相似度矩形的位置就認定為目標位置。同時,IMM算法能給出運動目標的狀態(tài)估計,經(jīng)過軌跡規(guī)劃,由運動控制器控制機器人實時跟蹤目標。實驗取得了預(yù)期的效果,機器人跟蹤上了目標,并且圖像也回傳給登陸用戶。
本系統(tǒng)實現(xiàn)了在遠程標定跟蹤目標位置,通過Web服務(wù)器把信息發(fā)送給機器人服務(wù)器,驅(qū)動機器人進行目標跟蹤,并進行打擊,同時把視頻回傳給登陸用戶。引入IMM濾波算法,通過對連續(xù)的圖像中運動目標位置的預(yù)測,由原來的全局搜索改為局部搜索,極大地縮小了搜索空間,提高了跟蹤的效率;通過對目標運動狀態(tài)的估計,能快速準確的控制機器人跟蹤上目標。同時,采用了IP組播方式實現(xiàn)一對多的視頻傳輸。本文只是一個簡單的遠程智能事件控制機器人自主跟蹤遠程標定的目標系統(tǒng),可實現(xiàn)遠程控制的功能,當(dāng)控制信息發(fā)送以后,網(wǎng)絡(luò)時延等對于系統(tǒng)的影響就變得不再明顯。系統(tǒng)加強了機器人服務(wù)器端的執(zhí)行能力,遠程控制端在傳出跟蹤信息后就不再控制,只是觀看,所以本系統(tǒng)暫時對圖像的傳輸質(zhì)量沒什么控制,在校園網(wǎng)內(nèi)圖像流暢,但是若在互聯(lián)網(wǎng)上圖像就可能不夠流暢。
[1]劉振寶,辛洪兵,王文靜.網(wǎng)絡(luò)機器人技術(shù)及其控制系統(tǒng)的研究狀況[J].北京工商大學(xué)學(xué)報:自然科學(xué)版,2006,(5):32-36.
[2]陳東炎,張 玘,王艷玲,等.圖像跟蹤系統(tǒng)中機動目標預(yù)測的實現(xiàn)[J].應(yīng)用光學(xué),2007(1):33-37,57.
[3]蘇建峰,吳海濤,邊玉敬.自適應(yīng)濾波技術(shù)的研究[J].飛行器測控學(xué)報,2006(2):71-74.
[4]李 輝,趙 敏,張 安,等.交互式多模型算法在機動目標跟蹤中的應(yīng)用[J].彈箭與制導(dǎo)學(xué)報,2005,25(3):234-237.
[5]陸其明.DirectShow實務(wù)精選[M].北京:科學(xué)出版社,2004.
[6]董興娥,遲學(xué)芬,周仁貴,等.基于IP組播視頻會議系統(tǒng)的研究與實現(xiàn)[J].吉林大學(xué)學(xué)報:信息科學(xué)版,2007(7):385-390.
[7]陳 洋,陸宇平.機器人實時遠程控制系統(tǒng)及其開發(fā)庫的設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2006(2):7-11.
[8]屠文柯,閻保定,楊海濤.基于影射·特征·知識的辨識復(fù)雜彩色目標的方法[J].計算機工程與應(yīng)用,2005(25):54-56.