簡介
遠程操作是利用無線或電信號對遠端的設備進行操作,通常通過網路才能進行。位於本地的計算機是操縱指令的發出端,被控對象叫做被控端或伺服器端。遠“程”不等同於遠“距離”,主控端和被控端可以是位於同一區域網路的同一房間中,也可以是連入Internet的處在任何位置的兩台或多台計算機。
遠程操作技術可套用於網路的自動化管理、實時監控和計算機教學等方面。遠程操作軟體其實質是一個客戶/伺服器的應用程式。
機器人遠程操作
研究歷史
早在本世紀60 年代, 國外就有一些專家學者開始致力於機器人遠程操作的研究。那時主要是為了星際探險, 如有時需要在地面上操作空間機械手完成一些諸如修復空間站、回收衛星等任務。準確地講,這種操作是使用無線電的遙操作。由於信號傳輸速率的限制(電磁波速), 對於近地軌道(約6000km), 信號往返傳輸時延為0.4s , 而深空近月軌道時延達3s ,再加上其它因素的影響(如計算機處理時間、通信初始化等), 整個系統的時延約6 ~ 15s。而研究表明, 當延遲大於1/4s 時, 操作人員就能明顯感覺到延遲的存在, 而且操作性能也會顯著降低。
基於WWW 的機器人的遠程操作就是將機器人構建在Internet 的一個Web 站點上, 操作人員通過Web 瀏覽器(如Netscape Navigator 或Microsoft Internetexplorer)對其進行遠程操作。這種遠程操作與空間機器人的遠程遙控的最大共同點即在於都具有較大的傳輸時延。在傳輸速率為14.4kbps 的通信線路上, 傳輸時延約為6 ~ 11s。由此完全可以想到在Internet 上來模擬進行空間機器人試驗。而且對於同樣具有較大傳輸時延的深海機器人試驗也可以如此。實際上這只是基於WWW 的機器人的用途之一, 而且這也是其最初被廣泛研究的最主要原因。
當今Internet 幾乎無處不在, 它極其方便地為人們提供了各種各樣的信息和資源。基於WWW 的機器人的極大特點就是開放性。任何人在任何時候、任何地方, 只要能連上Internet , 就能實現對其的操作,而且普通用戶可以不必了解機器人複雜的操作原理也能進行操作。WWW 的支持協定是HTTP(Hyper-Text Transfer Protocol), 它支持各種格式檔案, 包括多媒體圖像、視頻等, 因此可以構造出生動友好的操作界面。另一方面, 由於Web 瀏覽器軟體比較便宜(如免費IE), 因此也降低了操作成本。
國外研究進展
1993 年美國國家航空航天局(NASA)Johnson 航天中心與德州的四所大學成功地進行了機器人遠程分散式操作試驗。該項試驗是通過Internet 在Johnson 航天中心操作位於Texas A&M 大學和Texas 大學Austin 分校的機器人, 並同時在Arlington分校和Rice 大學進行監測和性能分析。1994 年美國南加州大學完成Mercury 項目:該項目允許遠程用戶通過Web 瀏覽器操作一機械手進行文物挖掘。同時南加州大學在Internet 上已公開的另一個比較有趣的項目是“ TeleGarden” :Web 訪問者可以操作一個ADEPT 機械手進行種植, 灌溉花園等活動。
與此較類似的有英國Bradford 大學工業技術系(Dept .Industrial Tech.)於1996 年研製的名為BradfordRobotic Telescope 天文望遠鏡。該天文望遠鏡已在Internet 對外開放, 天文愛好者可以通過Web瀏覽器訪問其主頁, 操作望遠鏡的角度和焦距, 而且一般可以在第二天從你的E -mail 信箱裡收到觀測結果。
另外還有Berkeley 大學研製的Mechanical Gaze系統 , 西澳洲大學的Telerobot等。
基本操作方案
(1)直接操作(Direct Control):這種操作方式也被稱作木偶式(puppet approach)。即由操作人員完全操作遠程機器人, 對機器人某些設備、裝置直接傳送動作指令函式以完成某項任務。這顯然對操作人員的要求比較高, 操作人員需了解機器人底層指令或程式語言。其基本結構圖如下。
另一方面, 利用虛擬現實模型語言VRML(VirtualReality Model Language)構造的虛擬現實(Virtual Reality)環境也可以實現這種直接操作。
(2)監督操作(Supervisory Control):這種操作方式首先是由W.R.Ferrel 和T.B.Sheridan 於1967 年提出的。其最初是用以研究空間探險機器人的。在傳統的雙向力反應遙控機器人系統中, 當主從兩端存在明顯的通訊時延時, 直接主從操作不得不採取“走一走, 等一等” 的方式來保證操作過程的穩定性。這就增大了任務完成的時間, 也加大了任務的難度。因此提出了監督操作。其基本思想就是將遠程操作人員置於操作結構閉環之外, 從而努力減小傳輸時延對整個系統的影響。遠程操作人員只是傳送目標任務或很小一部分相關的必需指令給遠端, 而任務具體由遠端迴路自治完成;在操作人員方的監控迴路向操作員提示有關的感測器信息, 在存在通訊時延的情況下, 還可以進行預報遠端下一動作。其結構原理圖如下所示。
在遠程被控機器人端, 含有一上位緩衝器用於接收、存儲遠端發至的任務或指令, 並由它“二次”發指令給本地機器人。由於是處於本地, 故不存在時延和不穩定性的影響。這種方法充分利用了執行端的本地智慧型。這種方法一個典型的套用就是遠程機器人路徑規劃和避碰試驗。
(3)預測/預演操作(Predictive/Preview DisplayControl):這種方法是在將操作指令發給遠端之前, 先在本地模型對象上進行模擬預演指令執行效果, 並且遠端也將實際執行過程通過視頻或其他測量數據反饋回來, 這樣就大大提高了動作執行的可靠性和正確性。但這種方案比較複雜, 其結構原如下圖所示。
上述三法中顯然由於監督操作(SupervisoryControl)將遠程操作人員置於閉環之外, 其回響時延的影響也較小, 而且這種方法充分利用了執行端的本地智慧型, 具有較強的容錯和糾錯能力(如機器人可以忽略甚至自動改正一些錯誤指令), 同時它還可以使遠程操作人員不必持續監視機器人的工作, 從而可以減輕操作人員的工作強度。
套用前景
由於通信的延遲性和不穩定性, 在目前該項研究還只是處於試驗階段, 但從已有的成果我們可以看到它潛在的套用前途。利用基於WWW 的遠程機器人可以模擬進行空間或水下機器人試驗;同時對於具有較大延遲環節的工業過程作業系統, 也具有一定的套用價值。
另一方面, 若將這種技術思想推廣套用到工業領域中, 即可實現數據網路與操作網路的集成。並可實現虛擬工廠(Virtual Plant)和虛擬製造(Virtual Manufacture)。另可以實現機器人的遠程共享, 以進行遠程科學實驗, 這也符合VI(Virtual Instrument)和VL(VirtualLaboratory)的基本思想。
相信隨著通信技術和網路技術的不斷發展和進步, 通信傳輸的延遲性和不穩定性將逐漸地不再是束縛遠程操作的瓶頸, 這種基於Internet 的遠程操作技術將會有廣闊的套用前景。
遠程作業系統
遠程作業系統的實質是開發自身程式代替系統提供的程式。於是一個遠程作業系統的功能的強弱就與開發者對系統的深入了解程度而定。
基本原理和結構
結構 遠程操作軟體以“ 客戶機/ 伺服器” 形式存在, 包括一個客戶機程式(Client)和一個伺服器程式(Server或Systry)。伺服器程式安放在被操作的計算機端, 客戶機程式安裝在操作端。
運行原理 伺服器程式安裝成功之後便會自動收集目標計算機的資料, 包括IP 地址、網路環境、OS環境(甚至超級用戶口令)等, 然後將獲得的數據經加密處理後形成特殊的確認幀, 反覆發往客戶機程式所在計算機(或另一虛擬地址空間), 申請被控連線。
客戶機程式安裝成功之後會在網路上收集伺服器程式發回的確認幀信息, 並按照確認幀中的環境參數選擇和配置適當的網路協定, 最後向遠端計算機發出連線、操作指令。當兩台計算機連通之後客戶機程式根據操作員意圖向遠端計算機發出指令,並負責根據伺服器程式發回的數據信息在本機上再現遠端機螢幕狀態。伺服器程式則根據指令完成系列進程操作和數據傳輸。
具體網路實現
要進行網路通訊可以通過WinSock、使用命名管道和信箱、使用RPC等,。一般來講, 伺服器程式可以同時接受多個客戶端的連線請求和其它處理請求, 而客戶端也可以同時連線到幾個伺服器上。在交換數據報之前, 必須計算出數據源, 主機不但要檢查IP 報頭, 還要檢查TCP 和UPT 報頭中的兩個域:2 位元組的IP 源和2 位元組的連線埠號。
要完成網路連線, 另一個值得注意的問題是:對與採用PPP 方式連線的對等網, 每台計算機的IP 地址是隨機分配的, 所以在運用Socket 進行連線時, 應該模仿Windows 自身的網路連線方式——— 先進行網路地址掃描, 找到網上的所有計算機(同一域或者不同域)。