基于遠程機器人系統的自動(dòng)控制平臺的研究與設計
摘要:論述了面向遠程機器人的自動(dòng)控制平臺的研究設計。對原有的控制系統進(jìn)行了簡(jiǎn)單介紹,從設計思想、一個(gè)專(zhuān)用的數據結構以及運行流程方面對新的自控平臺進(jìn)行了描述。
本文引用地址:http://dyxdggzs.com/article/149030.htm關(guān)鍵詞:遠程機器人自動(dòng)控制運行腳本
1自動(dòng)控制平臺概述
在網(wǎng)絡(luò )和多媒體技術(shù)飛速發(fā)展的今天,通過(guò)網(wǎng)絡(luò )傳輸的遠程機器人圖像對機器人進(jìn)行控制已經(jīng)成了一種可行的技術(shù)。利用這種技術(shù),可以對遠程機器人的活動(dòng)進(jìn)行檢測,從而獲得實(shí)時(shí)的信息,再據此向遠端的機器人發(fā)出某種命令。但如果由人直接在遠端進(jìn)行控制,就需要其長(cháng)時(shí)間地通過(guò)傳輸過(guò)來(lái)的圖像監測機器人的行為,同時(shí)還要不斷向遠端機器人發(fā)送相同的命令。顯然由電腦進(jìn)行智能化的自動(dòng)控制更合適。
遠程機器人的自動(dòng)控制平臺正是基于這種考慮而研制的。本課題組研制的原有的遠程機器人實(shí)時(shí)圖像傳輸和實(shí)時(shí)控制系統分為兩個(gè)部分:一是遠程機器人站點(diǎn),二是控制站點(diǎn)。其中遠程機器人站點(diǎn)負責圖像信息的采集、壓縮、傳輸,同時(shí)接收控制端發(fā)送的命令并執行;控制站點(diǎn)對圖像進(jìn)行解壓、顯示,同時(shí)向遠程機器人站點(diǎn)發(fā)送命令。自動(dòng)控制平臺就是在原有系統的基礎上,在控制站點(diǎn)的應用程序中加上了對遠端傳送過(guò)來(lái)的圖像進(jìn)行判斷、并依據判斷自動(dòng)發(fā)送命令的部分。
2相關(guān)技術(shù)
2。1圖像的采集與顯示
在遠程機器人站點(diǎn),需要對機器人現場(chǎng)進(jìn)行圖像采集;而在控制端,則需要對機器人的圖像進(jìn)行顯示。
在本系統的應用程序中,采集和顯示是通過(guò)對VFW的調用來(lái)實(shí)現的。VFW(VideoforWindowsSDK)是Microsoft公司于1992年推出的被稱(chēng)為AVICap窗口類(lèi)函數的系統調用接口。通過(guò)VFW的調用,可以通過(guò)發(fā)送信息或是設置屬性來(lái)采集或播放視頻剪輯。如在程序中,調用capCreateCaptureWindow就可以創(chuàng )建一個(gè)視頻采集窗口,調用capSetCallbackonFrame就可以設定采集到一幀圖像時(shí)的回調函數,在回調函數中可以進(jìn)一步作顯示或對圖像作其它處理。
VFW只有VC和VB版本,而本系統采用Delphi進(jìn)行開(kāi)發(fā),以便獲得Delphi優(yōu)良的界面功能和多線(xiàn)程機制。為此需要先用Pascal對vfw。h進(jìn)行改寫(xiě),得到在Delphi中可以直接調用的vfw。pas文件。
盡管在編程時(shí)使用的是VFW,但是由于程序運行在Windows2000下,實(shí)際上驅動(dòng)程序仍是使用WDM(WindowsDriverModel)。WDM也是由Microsoft公司推出的,相對于VFW,在視頻會(huì )議、PC/TV等方面有較大優(yōu)勢。
2。2圖像壓縮
本系統中采用了多種圖像壓縮算法,以適應多種網(wǎng)絡(luò )傳輸環(huán)境和實(shí)時(shí)性要求,其中包括顯示質(zhì)量好但開(kāi)銷(xiāo)大的MPEG4,以及開(kāi)銷(xiāo)小適用于遠程傳輸但網(wǎng)絡(luò )傳輸率低的H。26x。此外還有本課題組自行開(kāi)發(fā)的一個(gè)TsinghuaH。263壓縮算法,在系統使用時(shí)可以根據網(wǎng)絡(luò )的情況來(lái)進(jìn)行選擇。如果網(wǎng)絡(luò )情況好,則使用顯示質(zhì)量好的MPEG4,如果網(wǎng)絡(luò )不好,則使用開(kāi)銷(xiāo)小的H。263。
2。3網(wǎng)絡(luò )傳輸的自適應
除了壓縮算法可靈活選擇之外,本課題組還設計了兩種自適應的方法來(lái)對傳輸進(jìn)行調節,以便更好地適應網(wǎng)絡(luò )條件。一種是幀頻的自適應,通過(guò)調節機器人端視頻發(fā)送速率來(lái)實(shí)現對圖像質(zhì)量的自適應;另一種是通信帶寬的自適應,通過(guò)調節關(guān)鍵幀和非關(guān)鍵幀的質(zhì)量來(lái)調節單位時(shí)間發(fā)送的數據量,從而與網(wǎng)絡(luò )情況相適應。
2。4多進(jìn)程、多線(xiàn)程的使用
本系統可同時(shí)控制多個(gè)機器人站點(diǎn)。每當連接一個(gè)新的遠程機器人站點(diǎn)時(shí),控制站點(diǎn)會(huì )自動(dòng)產(chǎn)生一個(gè)新的進(jìn)程對該機器人站點(diǎn)進(jìn)行控制。在對一個(gè)機器人站點(diǎn)進(jìn)行控制的進(jìn)程中,同時(shí)會(huì )有幾個(gè)線(xiàn)程來(lái)分別實(shí)現幾方面的功能。ChatThread線(xiàn)程負責機器人站點(diǎn)和控制站點(diǎn)之間的文字通信,SyncThread線(xiàn)程則負責兩站點(diǎn)傳送和接收的同步性,最大的也是最主要的DrawThread線(xiàn)程負責圖像的接收、解壓縮以及顯示,同時(shí)實(shí)現自動(dòng)控制功能。
2。5自動(dòng)控制
如前所述,自動(dòng)控制包括兩方面:一是對傳送過(guò)來(lái)的圖像信息進(jìn)行分析,獲得機器人的實(shí)時(shí)狀態(tài)。二是依據機器人目前所處的狀態(tài)發(fā)出相應的命令。
對圖像信息進(jìn)行分析是通過(guò)與標準圖像進(jìn)行比較來(lái)實(shí)現的,以此來(lái)確定機器人是否已經(jīng)進(jìn)入了某種狀態(tài)。如果發(fā)現機器人當前處于某種標準圖像對應的狀態(tài),則控制站點(diǎn)會(huì )發(fā)出與該狀態(tài)相對應的命令。
由于目前機器人不可能有很靈活的細膩的動(dòng)作方式,所以只需要對幾個(gè)關(guān)鍵部位(例如頭部、手臂等)的圖像進(jìn)行比較,即可確定機器人當前的狀態(tài)。由此,為標準圖像的存儲和識別提供了有利條件,也為自動(dòng)控制平臺的設計和實(shí)現提供了前提。
3自動(dòng)控制平臺的設計與實(shí)現
3。1設計思想
機器人的某一個(gè)運動(dòng)過(guò)程一般可以分解為若干個(gè)關(guān)鍵狀態(tài)。當其處于某一狀態(tài)時(shí),需要通過(guò)向它下達某一種指令才能使之向下一個(gè)狀態(tài)轉換。因此,可以在某一個(gè)文件中存儲完成該運動(dòng)過(guò)程所需要的各個(gè)關(guān)鍵狀態(tài)的圖像信息,并存儲與該狀態(tài)相對應的指令。要執行該運動(dòng)過(guò)程時(shí),通過(guò)應用程序讀入該文件,獲得各狀態(tài)的信息,然后即可開(kāi)始將實(shí)時(shí)的圖像信息與關(guān)鍵狀態(tài)的圖像信息相比較,如果相符,則發(fā)出相應命令。實(shí)際上,這個(gè)文件就相當于一個(gè)運行腳本??梢栽谑謩?dòng)控制的過(guò)程中,制作好這樣的運行腳本。下次要執行同樣的操作時(shí),只需要把這個(gè)腳本讀入,就可以實(shí)現自動(dòng)控制功能。
3。2數據結構
在程序中,建立了一個(gè)名為scformat的數據結構,來(lái)描述和存放運行腳本。scformat的基本結構如圖1所示。

一個(gè)scformat即對應于一個(gè)完整的腳本文件。由于對數據文件采用鏈表方式來(lái)組織,所以其中可以含有任意多個(gè)標準圖像及其對應的命令。scformat中包含諸如色深/colordepth(1表示8位色,依此類(lèi)推)、圖像個(gè)數/framenum、圖像寬度/framewidth、圖像高度/frameheight等數據塊,datahead、datatail則是數據鏈表的頭尾指針。
一個(gè)data則對應于一幅圖像,除了fwidth、fheight、depth這些基本的信息之外,order是一個(gè)字符數組,用來(lái)存放對應的命令,segnum表示這幅圖像中所截取的幾個(gè)最重要的反映機器人基本運動(dòng)情況的關(guān)鍵部分,pnext則指向數據鏈表中的下一個(gè)data。對于一個(gè)data圖像中截取的各個(gè)部分,同樣采用鏈表結構來(lái)組織,seghead、segtail則分別指向鏈表的頭尾。
評論