專利名稱:一種基于廣域網、應對帶寬受限的機器人遙在系統的制作方法
技術領域:
本發明涉及一種機器人遙操作系統,更具體的說,涉及一種應對帶寬受限狀況、基于廣域網的機器人遙在系統。
背景技術:
隨著時代的發展,機器人遙操作在越來越多的領域里發揮了不可替代的作用,如遠程的病房監控、核反應堆內部的管理等,都可以見到遙操作機器人的身影,而服務機器人也成為遙操作機器人中不可或缺的一員。針對無處不在的互聯網,世界范圍內出現了各種各樣的基于Web的遙在機器人設計方案,為客戶提供良好的控制和音視頻體驗。如何使機器人更好的融入互聯網為人類服務,就需要在網絡中為機器人提供完善 的控制策略和流暢清晰的音視頻傳輸策略。對于移動機器人的運動控制可以使用勢場法來實現。而基于TCP的SOCKET通信可以完全勝任在廣域網上控制信號和傳感器反饋信號的傳輸問題。對于流媒體傳輸,FLASH是現在廣域網上最常用的流媒體傳輸策略。但是,由于FLASH的傳輸方法并不包含網絡情況的監測,當實時流媒體傳輸不適應當前的網絡狀況時,就會給遙操作者帶來不好的音視頻體驗性。因此,需要根據機器人的場景和網絡情況的檢測,使得傳輸帶寬小于傳輸鏈路的可用帶寬。遙操作系統的設計是多種多樣的,MITRO利用ROS平臺搭建控制系統,實現了基于網頁的控制,而音視頻傳輸采用了第三方軟件,如skype (2002年IEEE機器人國際會議,任務一致性的避障和移動平臺的運動特性,2002年5月);Vgo利用自主開發的遙操作控制端軟件,實現了對遙操作機器人的控制和流媒體傳輸,并且實現了速度矢量的實時顯示及自充電、無線切換等功能(http://www. vgocom. com/productsandservices, VGO 產品服務);QB則利用開發的瀏覽器插件,實現了基于網頁的控制和音視頻傳輸(①http://www.1fanr.com/82573, QB :機器人,影分身,2012年4月12日②2011年IEEE會議機器人的實際應用,遙操作機器人的基本特性,2011年4月);PR2利用HTML5和JavaScript技術實現了基于網頁的控制信號和流媒體的傳輸,控制信號用WebSocket傳遞,流媒體傳輸使用的是HTML的視頻微件來實現(2012年IEEE機器人自動化國際會議,PR2遙操作實驗室一種遠程開發和實驗環境,2012年5月);PA-10robot實現了基于Web的遙操作機械臂系統,客戶端使用FLASH實現,獲取機器人端的視頻和力反饋信號,由于機械臂運動緩慢,沒有考慮機器人的運動對用戶的體驗性產生的影響,而且沒有考慮網絡情況(2012年IEEE加拿大會議電子和計算機工程,基于網頁的遙操作結構和H264編碼器,2012年5月);0T0R0B和DrRobotX80考慮了遙操作機器人的所處場景,根據機器人的速度或檢測到障礙物的距離來改變視頻分辨率或幀率,來達到節省帶寬和增強遙操作者體驗性的目的(①馬來西亞沙巴大學學術論文,基于因特網的非干預性移動機器人0T0R0B骨科手術的視頻傳輸和控制方法,2011年4月②2011年IEEE機器人和生體模仿學國際會議,基于事件的遙操作機器人動態帶寬調節方法,2011年12月)。
發明內容
本發明在借鑒現有的遙操作系統的基礎上,提出一種基于廣域網、應對帶寬受限的機器人遙在系統,該遙在系統是一種基于控制服務器和流媒體服務器的機器人遙在系統,控制服務器采用VC++搭建,實現控制信號、機器人傳感器反饋信號和可用帶寬信號的傳輸,流媒體服務器采用FMS (Flash流媒體服務器)搭建,實現機器人端和控制端的雙向音視頻傳輸,并在客戶端HTML中編寫Javascript腳本,獲取網絡參數RTT,再根據機器人的運動狀態和場景,調節流媒體傳輸帶寬,提高了流媒體傳輸的實時性和客戶端的體驗性。本發明的一種基于廣域網、應對帶寬受限的機器人遙在系統,主要由四部分組成機器人端、控制服務器、流媒體服務器、客戶端HTML。所述機器人端主要完成控制信號的執行、機 器人的運動控制和音視頻數據和傳感器數據采集、傳輸和顯示。機器人端程序用VC++搭建,采用基于FLASH的界面顯示。機器人端建立TCP的Server,接收控制服務器發送來的控制信號并驅動相應執行機構。在運動的同時,根據機器人本體上的傳感器采集環境信號,并進行機器人的運動速度控制,并將實時的傳感器信號發送給控制服務器。機器人界面采用FLASH搭建,實現音視頻信號的傳輸和顯示,并且根據機器人的運動和當前的網絡狀況調節視頻采集的分辨率和幀率。所述控制服務器主要完成控制信號、機器人傳感器反饋信號和可用帶寬信號的傳輸。它一方面監聽客戶端的控制信號,并將其發送給機器人;另一方面則監聽機器人端的傳感器的反饋信號,并將其發送給客戶端,并將可用帶寬信號傳遞給機器人端。所述流媒體服務器主要完成機器人端和客戶端的音視頻交互。機器人端和控制端分別向流媒體服務器獲取對端的音視頻數據。所述客戶端HTML主要由FLASH控制端程序、FLASH音視頻傳輸和顯示程序和Javascript網絡狀況監測程序組成。控制端程序主要完成控制信號的檢測與傳輸,傳感器信號和可用帶寬信號的顯示;FLASH音視頻傳輸主要完成音視頻的傳輸和解碼顯示;網絡狀況監測程序主要完成網絡狀況的檢測和可用帶寬信號的傳輸。所述可用帶寬、最佳分辨率和幀率的計算方法,采用網絡帶寬檢測和流媒體數據的自適應算法。由于客戶所處位置情況各異,而且帶寬檢測會受到客戶端防火墻的影響,所以本次帶寬檢測算法寫到客戶端的HTML中,用來獲取客戶端到控制服務器的網絡情況,作為帶寬調節的依據。客戶端下載HTML后通過Javascript加載控制服務器對象,來獲取客戶端到控制服務器的RTT,由吞吐量公式近似計算客戶端到服務器的可用帶寬,并將計算的數值通過SOCKET傳遞給服務器,再通過相同手段傳遞給機器人,根據機器人所處不同場景視頻數據壓縮比不同,近似判斷壓縮比,隨后得到在該場景下的最佳分辨率和幀率的數值,完成在可用帶寬之內的流媒體傳輸。本發明所公開的機器人遙在系統的設計方案采用模塊化的結構方式,根據機器人所處的不同場景和網絡情況進行帶寬調節,通過控制服務器和流媒體服務器實現了帶寬受限下的控制信號、傳感器反饋信號、音視頻信號和可用帶寬信號的傳輸,增強了服務機器人的控制和音視頻的體驗性。
圖1為本發明的結構模型和信號傳輸流程示意圖。
具體實施例方式以下結合附圖對本發明的技術方案作進一步描述。圖1是本發明的結構模型和信號傳輸流程示意圖。其中,客戶端和機器人端的界面、控制信號和音視頻流信號的捕捉和傳輸采用FLASH腳本語言編寫,機器人端的運動控制、最佳分辨率和幀率的計算和控制服務器程序采用VC++編寫,RTT的獲取和可用帶寬的計算采用Javascript編寫。客戶端的HTML由FLASH生成,主要包括以下幾個模塊(I)音視頻流的捕捉和傳輸模塊獲取客戶端的攝像頭和麥克風的媒體流,通過設定分辨率、幀率、最大帶寬和保真度,經壓縮后向流媒體服務器傳輸。(2)控制信號的捕捉模塊客戶登陸后,本地HTML與控制服務器建立SOCKET連 接,捕捉鍵盤和鼠標的控制輸入,轉化為機器人執行機構的運動矢量,并將這些控制信號傳輸給控制服務器。(3)傳感器反饋信號和流媒體數據的顯示模塊將傳感器反饋信號以餅狀圖的形式顯示出來,表示機器人離周圍障礙物的距離;同時將從流媒體服務器獲取的流媒體數據進行解碼顯示。(4)可用帶寬的計算模塊首先與控制服務器建立SOCKET連接,由獲取到的RTT計算出來當前到控制服務器的可用帶寬,將可用帶寬的數據傳輸給控制服務器。客戶端的HTML通過定時加載控制服務器端的對象,通過返回時間近似得到RTT,由帶寬的吞吐量公
式
權利要求
1.一種基于廣域網、應對帶寬受限的機器人遙在系統,其特征在于,主要由四部分組成機器人端、控制服務器、流媒體服務器、客戶端HTML ;其中機器人端采用VC++搭建,主要完成控制信號的執行、機器人的運動控制和音視頻數據和傳感器數據采集、傳輸和顯示;控制服務器采用VC++搭建,主要完成控制信號、機器人傳感器反饋信號和可用帶寬信號的傳輸,它一方面監聽客戶端的控制信號,并將其發送給機器人;另一方面則監聽機器人端的傳感器的反饋信號,并將其發送給客戶端,并將可用帶寬信號傳遞給機器人端;流媒體服務器采用FMS搭建,實現機器人端和控制端的雙向音視頻傳輸;在客戶端HTML中編寫Javascript腳本,獲取網絡參數RTT,再根據機器人的運動狀態和場景,調節流媒體傳輸帶寬,提高流媒體傳輸的實時性和客戶端的體驗性。
2.根據權利要求1所述的基于廣域網、應對帶寬受限的機器人遙在系統,其特征在于,所述客戶端HTML界面和機器人端的界面由FLASH編寫,完成客戶端控制信號的捕捉和雙向的音視頻傳輸。
3.根據權利要求2所述的基于廣域網、應對帶寬受限的機器人遙在系統,其特征在于,所述客戶端HTML主要由(I)音視頻流的捕捉和傳輸模塊;(2)控制信號的捕捉模塊;(3)傳感器反饋信號和流媒體數據的顯示模塊;(4)可用帶寬的計算模塊組成。
4.根據權利要求3所述的基于廣域網、應對帶寬受限的機器人遙在系統,其特征在于,所述可用帶寬的計算方法是首先客戶端HTML與控制服務器建立SOCKET連接,由獲取到的RTT計算出來當前到控制服務器的可用帶寬,將可用帶寬的數據傳輸給控制服務器,客戶端HTML通過定時加載控制服務器端的對象,通過返回時間近似得到RTT,由帶寬的吞吐量公 式.
5.根據權利要求3或4所述的基于廣域網、應對帶寬受限的機器人遙在系統,其特征在于,所述機器人端的程序主要由兩部分組成基于FLASH的音視頻傳輸和基于VC++的運動控制和最佳分辨率和幀率的計算,主要由(I)音視頻流的捕捉和傳輸模塊;(2)流媒體信號的顯示模塊;(3)最佳分辨率和幀率的計算模塊;(4)機器人的運動控制模塊組成。
6.根據權利要求5所述的基于廣域網、應對帶寬受限的機器人遙在系統,其特征在于,所述最佳分辨率和幀率的計算方法是客戶端HTML獲取到控制服務器的RTT并計算出來可用帶寬,通過控制服務器傳輸給機器人,再根據機器人的線速度、角速度或獲取攝像機圖像間的幀間像素差,來近似判斷壓縮比,計算出最適分辨率和幀率的乘積,然后在保證在可用帶寬下,確定最佳的分辨率和幀率的數值。
全文摘要
本發明公開一種基于廣域網、應對帶寬受限的機器人遙在系統,主要由四部分組成機器人端、控制服務器、流媒體服務器、客戶端HTML;基于Web搭建控制服務器和流媒體服務器,實現了基于網頁的控制信號、實時流媒體信號、可用帶寬信號和傳感器反饋信號的傳輸,并提出了一種根據可用帶寬和機器人所處場景的帶寬調節算法,提高了流媒體傳輸的實時性和客戶端的體驗性。
文檔編號H04L29/08GK103024030SQ20121052938
公開日2013年4月3日 申請日期2012年12月10日 優先權日2012年12月10日
發明者王景川, 陳衛東, 倪智 申請人:上海交通大學