王明明,李世其,朱文革,盧亞夫
(華中科技大學(xué)機(jī)械科學(xué)與工程學(xué)院工業(yè)及制造系統(tǒng)工程系,武漢430074)
借助計(jì)算機(jī)網(wǎng)絡(luò)、傳感器以及機(jī)械電子技術(shù)、信息技術(shù)等方面的進(jìn)步,把機(jī)器人與計(jì)算機(jī)網(wǎng)絡(luò)相連,實(shí)現(xiàn)基于計(jì)算機(jī)網(wǎng)絡(luò)的機(jī)器人遙操作,使得機(jī)器人遙操作技術(shù)成為工業(yè)控制、航空航天、軍事和遠(yuǎn)程醫(yī)療等眾多領(lǐng)域的研究熱點(diǎn)。特別在載人航天領(lǐng)域,美國(guó)、加拿大、歐盟、日本和俄羅斯等國(guó)都對(duì)遙操作技術(shù)進(jìn)行廣泛研究和應(yīng)用。我國(guó)對(duì)遙操作的研究起步較晚,但隨著我國(guó)成功實(shí)現(xiàn)神舟六號(hào)多人多天飛行、神舟七號(hào)航天員順利出艙活動(dòng),以及首次空間交會(huì)對(duì)接任務(wù)圓滿(mǎn)完成,我國(guó)的載人航天事業(yè)取得重大進(jìn)展,但未來(lái)空間任務(wù)越來(lái)越復(fù)雜,傳統(tǒng)技術(shù)已經(jīng)不適合未來(lái)空間探索,引入空間遙操作技術(shù)已經(jīng)是必然趨勢(shì)。因此,對(duì)遙操作關(guān)鍵技術(shù)的研究,可以為未來(lái)我國(guó)的載人航天事業(yè)發(fā)展提供必要的理論指導(dǎo)和技術(shù)支撐。
遙操作的特點(diǎn)是能將人所在的主端命令和行為傳到并作用在從端,實(shí)現(xiàn)對(duì)從端期望的操作和控制。其優(yōu)越性在于,可以極大地提高操作者的安全性和工作效率,降低成本,更高效合理地利用人力和物質(zhì)資源,實(shí)現(xiàn)遙規(guī)劃和控制及遠(yuǎn)程信息互動(dòng)等。而將互聯(lián)網(wǎng)作為遙操作系統(tǒng)信號(hào)傳輸?shù)拿浇椋到y(tǒng)的低成本、高效率、易操作、可重構(gòu)性等特點(diǎn)將更加明顯。圖1為網(wǎng)絡(luò)遙操作模型。
圖1 網(wǎng)絡(luò)遙操作模型
但由于目前的網(wǎng)絡(luò)環(huán)境,特別是Internet上,傳輸速率隨傳輸數(shù)據(jù)量和網(wǎng)絡(luò)負(fù)載變化而變動(dòng)很大,同時(shí)也與Internet自身工作機(jī)制及網(wǎng)絡(luò)帶寬有關(guān),會(huì)導(dǎo)致不確定時(shí)延、大時(shí)延、數(shù)據(jù)包丟失等問(wèn)題。
網(wǎng)絡(luò)時(shí)延的存在為遙操作系統(tǒng)感知和控制帶來(lái)了許多問(wèn)題:一方面,時(shí)延的存在使現(xiàn)場(chǎng)的各種信息到達(dá)主端時(shí)已是幾秒前的信息,從而使操作者不能及時(shí)地感知從端環(huán)境當(dāng)前的信息;另一方面,操作者基于這些信息發(fā)出的控制命令傳送到遠(yuǎn)端時(shí)同樣也被延時(shí),而此時(shí)機(jī)器人和環(huán)境狀態(tài)又發(fā)生了新的變化,這些延時(shí)的控制命令極易導(dǎo)致控制系統(tǒng)的不穩(wěn)定[1]。因此,時(shí)延的存在不僅影響了操作者對(duì)遠(yuǎn)端環(huán)境的正確感知,而且更重要的是可能導(dǎo)致系統(tǒng)的不穩(wěn)定,從而嚴(yán)重地降低了系統(tǒng)的操作性能。
目前解決時(shí)延問(wèn)題存在幾種具有代表性的方法,如監(jiān)督控制、共享控制、預(yù)測(cè)控制、基于事件的控制等。其中應(yīng)用最廣泛的是預(yù)測(cè)控制,三維圖像預(yù)測(cè)仿真被認(rèn)為是目前較好的解決傳輸時(shí)延的方法。利用操作者發(fā)出的命令及傳感器反饋的信息預(yù)測(cè)從端機(jī)器人的狀態(tài),在本地以三維圖形的形式顯示出來(lái),使操作者可以進(jìn)行連續(xù)的操作。操作者在本地實(shí)時(shí)地操作機(jī)器人模型就等效于延時(shí)地操作從端機(jī)器人,從而減小通訊時(shí)延對(duì)系統(tǒng)帶來(lái)的不利影響。因此本文采用基于人工神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)方法,對(duì)遙操作從端機(jī)器人狀態(tài)進(jìn)行預(yù)測(cè),并在虛擬場(chǎng)景中以三維圖形進(jìn)行運(yùn)動(dòng)仿真。
在虛擬仿真環(huán)境下,控制命令分別向兩處傳遞:一方面實(shí)時(shí)地傳遞給虛擬現(xiàn)實(shí)環(huán)境中的機(jī)器人,另一方面經(jīng)通信環(huán)節(jié)傳遞給遠(yuǎn)地真實(shí)環(huán)境中的機(jī)器人,并分別控制各自的運(yùn)動(dòng)[2]。當(dāng)虛擬環(huán)境和機(jī)器人交互時(shí),其臨場(chǎng)信息無(wú)時(shí)延地反饋到操作者。這樣操作者就可以產(chǎn)生實(shí)時(shí)的虛擬的視覺(jué)、力覺(jué)、觸覺(jué)等臨場(chǎng)感。而遠(yuǎn)地真實(shí)環(huán)境和機(jī)器人的交互經(jīng)通信時(shí)延后反饋到本地計(jì)算機(jī)以修正3D虛擬環(huán)境和機(jī)器人模型。若虛擬環(huán)境和虛擬機(jī)器人等效于遠(yuǎn)地真實(shí)環(huán)境和機(jī)器人,則操作者實(shí)時(shí)地操縱虛擬機(jī)器人同虛擬環(huán)境交互作用就等效于操作者時(shí)延地操縱遠(yuǎn)地真實(shí)的機(jī)器人同環(huán)境的交互作用,而系統(tǒng)的穩(wěn)定性及透明性不受到時(shí)延的影響。因此,遠(yuǎn)地機(jī)器人所需完成的作業(yè)任務(wù)就可由操作者控制虛擬機(jī)器人與虛擬環(huán)境的作用來(lái)完成。
但信號(hào)經(jīng)過(guò)傳輸,在從端被執(zhí)行時(shí),由于有時(shí)延等原因,從端的真實(shí)狀態(tài)不一定能到達(dá)預(yù)想的狀態(tài),故要充分利用從端反饋回來(lái)的以前的真實(shí)狀態(tài)和發(fā)送的指令來(lái)對(duì)現(xiàn)時(shí)刻從端機(jī)器人的狀態(tài)進(jìn)行預(yù)測(cè),對(duì)將要發(fā)出的指令起指導(dǎo)作用,縮小主端機(jī)器人模型與從端機(jī)器人狀態(tài)的差異。
人工神經(jīng)網(wǎng)絡(luò)是理論化的人腦神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)模型,是基于模仿大腦神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和功能而建立的一種信息處理系統(tǒng)。它實(shí)際上是由大量簡(jiǎn)單元件相互連接而成的復(fù)雜網(wǎng)絡(luò),具有高度的非線(xiàn)性,能夠進(jìn)行復(fù)雜的邏輯操作和非線(xiàn)性關(guān)系實(shí)現(xiàn)的系統(tǒng)[3]。
人工神經(jīng)網(wǎng)絡(luò)處理單元大體可以分為3類(lèi):輸入單元、輸出單元和隱單元。輸入單元接受外部環(huán)境的信號(hào)和其他系統(tǒng)模型處理的數(shù)據(jù),輸出單元將系統(tǒng)處理后的信息進(jìn)行輸出,隱單元是位于輸入和輸出單元間外部系統(tǒng)不可見(jiàn)單元。神經(jīng)元間相互連接,并存在一定連接強(qiáng)度,信息的表示和處理體現(xiàn)在網(wǎng)絡(luò)處理單元的連接機(jī)制中。人工神經(jīng)網(wǎng)絡(luò)的功能由處理單元的活動(dòng)函數(shù)、模式和網(wǎng)絡(luò)的相互連接機(jī)制確定。層次型神經(jīng)網(wǎng)絡(luò)如圖2所示。
圖2 層次結(jié)構(gòu)的神經(jīng)元網(wǎng)絡(luò)
圖2中,I、J、K表示神經(jīng)元類(lèi)型,即輸入層神經(jīng)元、中間層神經(jīng)元、輸出層神經(jīng)元,i表示輸入層神經(jīng)元I的第i個(gè)神經(jīng)元,j、k有相同含義。由于傳輸時(shí)延的存在,主端向從端發(fā)送的指令不可能立刻到達(dá)從端并被執(zhí)行。因此,引入人工神經(jīng)網(wǎng)絡(luò)模型,根據(jù)主端發(fā)送的指令預(yù)測(cè)從端執(zhí)行指令的狀態(tài),與返回的從端經(jīng)時(shí)延后執(zhí)行指令的真實(shí)狀態(tài)進(jìn)行對(duì)比,根據(jù)誤差調(diào)整人工神經(jīng)網(wǎng)絡(luò)中的權(quán)值,使預(yù)測(cè)值不斷接近真實(shí)值。
網(wǎng)絡(luò)權(quán)值采用反向傳播算法更新。將輸入信號(hào)(主端發(fā)送的數(shù)據(jù))輸入網(wǎng)絡(luò),經(jīng)過(guò)中間層傳向輸出層。輸出層的神經(jīng)元輸出和教師信號(hào)(從端返回的數(shù)據(jù))的平方誤差和定義為:
式中,ok表示輸出層神經(jīng)元k的輸出,dk為從端返回的數(shù)據(jù),netk表示輸出層神經(jīng)元k的輸入和,分別為:
應(yīng)用最小二乘平均原理,先求中間層和輸出層間的權(quán)值的更新量:
式中,η為正的常數(shù),δok為輸出層神經(jīng)元的值。
當(dāng)yj為中間層神經(jīng)元j的輸出,netj為中間層神經(jīng)元j的輸入和時(shí),輸入層與中間層間的權(quán)值更新量有:
同樣,可求得:
算法中的神經(jīng)元輸入輸出函數(shù)應(yīng)該滿(mǎn)足的條件為單調(diào)增函數(shù),最常用的是下面的雙彎曲函數(shù):
在預(yù)測(cè)模型初始化之前,首先需要定義一些變量:如模型輸入向量矩陣Model_p、模型目標(biāo)向量矩陣Model_t、首次輸入向量矩陣First_p、首次目標(biāo)向量矩陣First_t、預(yù)測(cè)的輸入向量(主端發(fā)送的指令)矩陣Forcast_in、預(yù)測(cè)的輸出向量矩陣Forcast_out、實(shí)際返回的目標(biāo)向量矩陣(從端返回)Forcast_t。
在初始化的時(shí)候,將首次需要的向量矩陣與模型的向量矩陣對(duì)應(yīng),然后訓(xùn)練網(wǎng)絡(luò),進(jìn)行滾動(dòng)輸入,用新數(shù)據(jù)取代模型的最后一段數(shù)據(jù),再次進(jìn)行滾動(dòng)輸入,這時(shí)的數(shù)據(jù)就往前移了一段,最后一段仍由最新的數(shù)據(jù)補(bǔ)充,一直循環(huán)滾動(dòng)。示意圖如3所示。
圖3 滾動(dòng)預(yù)測(cè)示意圖
實(shí)驗(yàn)過(guò)程如下:建立武漢至哈爾濱遙操作系統(tǒng),操作人員在武漢控制哈爾濱機(jī)械臂遠(yuǎn)程作業(yè),完成推太陽(yáng)能帆板任務(wù)。以第二關(guān)節(jié)為研究對(duì)象,記錄主端發(fā)送和從端反饋回來(lái)的關(guān)節(jié)角度數(shù)據(jù),共201個(gè),為方便計(jì)算與滿(mǎn)足映射關(guān)系,取前200個(gè)數(shù)據(jù)。由于網(wǎng)絡(luò)原因,造成數(shù)據(jù)丟包現(xiàn)象,因此實(shí)際返回?cái)?shù)據(jù)共計(jì)181個(gè),同理取前180個(gè)。
控制命令由主端發(fā)送到從端后,從端會(huì)反饋回來(lái)所執(zhí)行狀態(tài)的數(shù)據(jù)信息。發(fā)送數(shù)據(jù)及反饋數(shù)據(jù)如圖4所示。
圖4 發(fā)送與反饋數(shù)據(jù)曲線(xiàn)
預(yù)測(cè)模型采用三層反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)由一個(gè)輸入層、一個(gè)隱含層和一個(gè)輸出層組成。輸入層與隱含層之間的傳遞函數(shù)為sigmoid函數(shù),隱含層與輸出層之間的傳遞函數(shù)為線(xiàn)性函數(shù)。計(jì)劃輸入神經(jīng)元為20個(gè),輸出神經(jīng)元為17個(gè),為進(jìn)行比較,依經(jīng)驗(yàn)公式,隱含層神經(jīng)元分別取41、45、50個(gè)。預(yù)測(cè)效果如圖5所示。
最終預(yù)測(cè)的誤差曲線(xiàn)如圖6所示。
由圖可見(jiàn),隨著要預(yù)測(cè)的數(shù)據(jù)增多,誤差的趨勢(shì)也會(huì)慢慢變大,這是因?yàn)檩斎霐?shù)據(jù)與教師信號(hào)不一定是嚴(yán)格對(duì)應(yīng)的。從圖中可以看出,當(dāng)隱層神經(jīng)元為41、45、50時(shí),隱含層神經(jīng)元為41個(gè)的預(yù)測(cè)效果最好,并且當(dāng)預(yù)測(cè)數(shù)據(jù)不多于30個(gè)時(shí),預(yù)測(cè)結(jié)果接近真實(shí)值。
圖5 實(shí)際值、預(yù)測(cè)值的比較曲線(xiàn)
圖6 預(yù)測(cè)實(shí)際誤差曲線(xiàn)
虛擬現(xiàn)實(shí)本質(zhì)上是客觀世界的仿真或折射,虛擬現(xiàn)實(shí)的模型則是客觀世界中物體或?qū)ο蟮拇?。在遙操作中引入虛擬現(xiàn)實(shí)技術(shù),可以使操作者對(duì)從端的操作環(huán)境有逼真、詳盡的了解,增加其臨場(chǎng)感,控制過(guò)程也更簡(jiǎn)單有效。
利用虛擬現(xiàn)實(shí)技術(shù),構(gòu)造一個(gè)能夠逼真地模擬現(xiàn)實(shí)世界的虛擬環(huán)境,不但可以顯示遙操作機(jī)器人本身的結(jié)構(gòu)特點(diǎn)及運(yùn)動(dòng)細(xì)節(jié),而且還可以模擬機(jī)器人所處的環(huán)境狀況,使遙操作機(jī)器人的運(yùn)動(dòng)更直觀。
本遙操作機(jī)器人采用的是Staubli TX40機(jī)器人,末端操作器采用HIT-DLR靈巧手。該機(jī)器人一共有6個(gè)自由度,每個(gè)關(guān)節(jié)都是轉(zhuǎn)動(dòng)關(guān)節(jié)。根據(jù)D-H方法[4],建立其連桿參數(shù)如表1所示。
表1 Staubli TX40機(jī)器人連桿參數(shù)
在虛擬現(xiàn)實(shí)場(chǎng)景中,機(jī)器人模型的組成單元是節(jié)點(diǎn)。每個(gè)場(chǎng)景圖都是由根節(jié)點(diǎn)開(kāi)始,處于同一層的節(jié)點(diǎn)稱(chēng)為兄弟節(jié)點(diǎn),上一層的節(jié)點(diǎn)稱(chēng)為父節(jié)點(diǎn),下一層的節(jié)點(diǎn)稱(chēng)為子節(jié)點(diǎn)。沒(méi)有子節(jié)點(diǎn)的節(jié)點(diǎn)稱(chēng)為葉節(jié)點(diǎn)。
考慮到機(jī)器人各關(guān)節(jié)的運(yùn)動(dòng)繼承關(guān)系,在向虛擬場(chǎng)景導(dǎo)入模型時(shí),模型里的各個(gè)關(guān)節(jié)中,將上一關(guān)節(jié)定義為下一關(guān)節(jié)的父節(jié)點(diǎn),子節(jié)點(diǎn)繼承父節(jié)點(diǎn)的運(yùn)動(dòng),而父節(jié)點(diǎn)不受子節(jié)點(diǎn)運(yùn)動(dòng)的影響。當(dāng)機(jī)器人的上層關(guān)節(jié)運(yùn)動(dòng)時(shí),其所有的子節(jié)點(diǎn),包括其子節(jié)點(diǎn)的子節(jié)點(diǎn)等,都會(huì)隨之發(fā)生相應(yīng)的變化,這樣就實(shí)現(xiàn)了機(jī)器人各關(guān)節(jié)的運(yùn)動(dòng)。其虛擬現(xiàn)實(shí)模型如圖7所示。
圖7 機(jī)器人虛擬現(xiàn)實(shí)模型
從端機(jī)器人狀態(tài)經(jīng)人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)出來(lái)后,在本地就可以用虛擬現(xiàn)實(shí)環(huán)境以三維圖形的形式直觀地表現(xiàn)出來(lái),實(shí)現(xiàn)遙操作機(jī)器人的運(yùn)動(dòng)仿真。根據(jù)機(jī)器人連桿參數(shù),在每個(gè)連桿上固接一個(gè)坐標(biāo)系,建立各連桿坐標(biāo)系如圖8所示。
(1)繞 xi-1軸轉(zhuǎn) αi-1角;
(2)沿 xi-1軸移動(dòng) ai-1;
(3)繞 zi軸轉(zhuǎn) θi角;
圖8 Staubli TX40機(jī)器人各連桿坐標(biāo)系
(4)沿 zi軸移動(dòng) di。
因?yàn)檫@些子變換都是相對(duì)于動(dòng)坐標(biāo)系描述的,按照“從左向右”的原則,得到=Ro(tx,αi-1)Trans(x,αi-1)Ro(tz,θ)iTrans(z,di);即:
利用此公式和連桿參數(shù)可以計(jì)算出各個(gè)連桿變換矩陣:
將各個(gè)連桿變換矩陣相乘,便得到Staubli TX40機(jī)器人的“手臂變換矩陣”:
與圖7所示的情況完全一致。
因此,可以根據(jù)人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的結(jié)果作為輸入,傳遞給機(jī)器人仿真模型,根據(jù)運(yùn)動(dòng)學(xué)方程可以計(jì)算機(jī)器人末端的位姿,并在虛擬場(chǎng)景中將機(jī)器人狀態(tài)直觀顯示給操作者。
由于網(wǎng)絡(luò)堵塞、帶寬大小和傳輸距離等因素造成的網(wǎng)絡(luò)時(shí)延對(duì)遙操作的感知和控制帶來(lái)了很多問(wèn)題,為了減小時(shí)延對(duì)系統(tǒng)的影響,本文構(gòu)建了人工神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)了基于人工神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)方法,并在虛擬場(chǎng)景中以三維圖形進(jìn)行運(yùn)動(dòng)仿真。試驗(yàn)結(jié)果表明,此預(yù)測(cè)方法具有一定的可行性。
[1]Monferrer,A.,Bonyuet,D..Cooperative robot teleoperation through virtual reality interfaces,Proceedings of the Sixth International Conference on Information Visualization,2002.
[2]Goldberg k.the robot in Garden:Telerobotics and Telepistemology in the Age ofthe Internet, The MIT Press Cambridge,Massachussets,2000.
[3]閻平凡,張長(zhǎng)水.人工神經(jīng)網(wǎng)絡(luò)與模擬進(jìn)化計(jì)算.北京:清華大學(xué)出版社,2000.
[4]熊有倫,丁漢,劉恩滄.機(jī)器人學(xué).北京:機(jī)械工業(yè)出版社,1993.