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