摘 要:針對Internet遙操作中的變時延問題,介紹現有的解決方法,并在分析目前普遍采用的單TCP連接控制方式局限性的基礎上,提出基于多連接的時延控制方案。該方法避免了單連接控制方式產生的時延連鎖累積問題,能在一定程度上減小平均時延和最大時延,并能保證其在一定范圍內平穩波動。最后,通過控制單向變時延的實驗,證明了該方法的有效性和可行性。
關鍵詞:遙操作; 變時延; 多連接
中圖分類號:TP393 文獻標志碼:A
文章編號:10013695(2008)09279404
Research on variable timedelay control in Internet teleoperation based on multijoin
JIA Yunyi, XU Bugong, WANG Shihua
(Lab of Realtime Control through Internet Fieldbuses, College of Automation Science Engineering,South China University of Technology, Guangzhou 510640, China)
Abstract:This paper addressed the problem of variable time delay in Internet based teleoperation. The currently existing schemes were introduced firstly. Based on the limits analysis of the singleTCPjoin scheme which was used widely currently, a time delay control scheme based on multijoin was proposed. It facilitated to avoid the chainaccumulated time delay stemming from the singlejoin scheme. To some extent, it could also reduce average and maximal time delay and make it fluctuate smoothly. Finally, via the experiment of controlling oneway variable time delay, the feasibility and effectiveness of the scheme were testified.
Key words:teleoperation; variable time delay; multijoin
0 引言
隨著計算機網絡技術的迅速發展,網絡遠程遙操作已被廣泛應用到工業生產及人民生活的各個領域。尤其是隨著Internet的飛速發展,基于Internet的網絡遙操作也成為目前研究的熱門課題之一。基于Internet的網絡遠程遙操作系統主要是在控制端和機器人端之間采用了基于Internet網絡通信方式。在目前的Internet網絡環境下,網絡通信狀況隨傳輸數據量的大小和網絡負載變化而變動很大,加上Internet自身工作機制及網絡帶寬問題,往往會導致時延的不確定性;同時,這種不確定時延問題也導致網絡控制中的丟包、亂序等問題。這些都會對遙操作的控制性能產生非常大的影響。因此解決Internet通信中的時延問題是研究基于Internet網絡遙操作系統的首要核心內容之一。
至今為止,針對Internet不確定性時延的問題,國際國內都已經有了不少進展和成果。基于時延預測的控制方法是目前用得非常多的處理Internet遙操作中時延問題的方案。尤其是對Smith預估方法改進[1]和對狀態預測等預見控制方法[2]的使用,在一定條件下可以保證系統的穩定性和透明性,成為近年來解決遙操作機器人時延問題的熱門方法之一,并取得了一定的控制效果。Huang等人[3]采用對機器人線性化,用Smith預估控制解決常值延遲問題。劉曙光等人[4]利用神經網絡對Internet的變時延進行預測的基礎上,采用了改進型Smith預估器,并通過仿真證明該方案能達到較好的控制效果。在此基礎上,時延緩沖器方法[5]也被引入到遙操作中處理變時延問題:在接收端加入時延緩沖器,將變時延固定為常值;然后用解決常時延問題的方法解決變時延問題。Wang Shihua等人[6]提出了動態緩沖器管理方法,對網絡時延問題進行了較好的處理。但這類方法的缺點是人為增大了網絡時延,并且這一時延常值也很難確定。另外,基于無源性理論的控制方法以其可以保證系統穩定性的特性,也已經被廣泛應用在解決基于Internet網絡遙操作的時延問題上。Anderson等人[7]利用二端口網絡的散射理論,提出了一套能保證系統在任何時延下都具備穩定性的無源控制算法。Niemeyer等人[8]又提出波變量的概念,利用能量流理論來解決傳輸線的有源性,從而保證系統在任何時延下的穩定性。Yokokohji Y等人[9]利用基于散射理論和波變量理論的二端口網絡的無源性對系統進行分析和設計,并注重對系統控制策略和系統性能進行深入研究,以求解決通信時延問題。Xi等人[10,11]提出的基于事件的規劃與控制方法被用于機器人遙操作系統中,取得了可喜的成果。除了以上介紹的方法之外,其他控制方法(如H∞控制理論[12]、現代控制理論[13]、基于滑模控制方法[14]以及內模控制理論[15]等)都被應用在處理變時延的問題上,并取得了一定的成果。
以上方法都是從研究Internet的基本特征和先進控制策略出發來緩解時延問題控制系統的影響,并且取得了一定的效果。但目前大部分的方法都是基于一個連接來研究網絡遠程控制問題。然而通過實驗發現,采用單連接通信方式存在著時延連鎖累積增大的問題;同時也發現,在同一時間,不同的網絡連接的時延是不同的,一些網絡連接時延較大時,同一時間的其他連接可能時延并不大,甚至要小很多。目前針對常時延系統,已經可以使用Smith及其各種改進算法較好地消除常時延對控制系統的影響。而基于Internet的網絡遠程控制最大的時延問題就是時延的多變性與不穩定。如果可以通過一定算法將此變時延轉換成相對穩定的時延,那么也可以較好地減小Internet變時延對網絡遠程控制研究的影響。
1 基于Internet遙操作系統
基于Internet網絡遙操作系統主要由操作者、機器人、Internet網絡、操作處理相關設備以及反饋虛擬相干設備組成。系統各個部分的運作關系如圖1所示。操作者通過操縱設備,將控制指令通過Internet發送給機器人端,在到達機器人端前需要先經過接收處理環節對接收到的數據進行提取、分析等處理,然后再發送到機器人的相應執行環節取執行控制指令。同時在機器人現場環境中,可以通過紅外、超聲、溫度等傳感器獲取機器人的位置、速度、現場環境等信息,甚至可以通過相關視頻設備獲取直接的現場圖像信息;然后再通過Internet發送到操作者端,在操作者端通過虛擬重構來重現機器人運行情況以及現場的環境狀況。
從整個基于Internet網絡遙操作系統的運行過程可以看到,無論是操作者端的控制指令發送過程,還是機器人端現場反饋信息發送過程,都需要通過Internet網絡進行傳輸,但是由于Internet通信自身的特性,將會產生不確定性和較大的網絡傳輸時延,這些勢必導致系統的不穩定。因此解決傳輸過程的變時延問題是研究基于Internet遙操作的首要核心問題之一。
2 基于單連接的網絡時延控制方法
針對基于Internet網絡遙操作系統中的不確定時延問題,國內外已經有不少理論和方法被提出,如前面提到的基于預估的方法、基于波變量無源性理論的方法、基于事件的控制方法、基于滑模控制方法等,都被引入到遙操作系統的穩定性分析上,并克服變化時延對系統穩定性的影響。這些方法都是從研究Internet的基本特征和先進控制方法出發來緩解時延問題控制系統的影響。從實際操作上來看,這些方法都是基于一個連接來研究網絡遠程控制問題。但是,通過實驗發現,基于單連接的控制存在著不小的局限性,它會造成網絡時延的連鎖累積增大,并導致時延的不穩定。
遙操作中的時延問題主要是由基于Internet的網絡通信產生的。目前,基于Internet的網絡通信主要有TCP和UDP通信兩種方式。UDP通信為不可靠的數據傳輸,它沒有確認重傳機制,無法保證數據的可靠到達,在網絡條件不好的情況下經常出現丟包,并且它沒有滑動窗口機制,很容易導致接收數據包的亂序;而TCP通信則具備這兩種機制,可以保證數據可靠并且按序到達。雖然TCP通信由于其確認重傳機制會導致產生更多的數據通信量,并且有可能導致網絡擁塞,但在通常的網絡控制中,控制數據一般都是非常小的數據,同時控制上需要保證數據的可靠和有序,在目前的網絡控制中,大多都采用TCP通信的方式來傳輸控制數據。也有在網絡時延比較好的情況下采用UDP通信方式,但在采用UDP的同時,通常也會采用類似TCP確認重傳機制的方式和編號處理來保證數據的可靠和有序到達。由于在目前基于Internet的遙操作控制中基本上都采用TCP通信方式,下面主要通過分析采用TCP通信方式的控制方法,來分析單連接控制方法存在的局限性。
在目前采用TCP通信方式的單連接控制方法中,其通信過程模型如圖2所示。S1…S5為發送端等間隔發送序列的發送時刻;R1…R5為接收端收到對應數據包的時刻;D1…D5為五個發送過程分別對應的時間延遲。由于TCP通信的確認重傳機制和滑動窗口機制,在前一發送窗口中最早發送的數據包為確認到達之前,滑動窗口并不會向前滑動,而是一直在超時等待后重傳此數據包,導致后面在發送緩沖區中的數據包一直處于等待狀態,這樣務必導致時延的整體加大。如圖2中所示,當第三個發送序列的時延D3增大時,同樣導致了其后面發送序列時延D4和D5的增大,直至后面出現比發送間隔更小時延將之前發生的大時延補償回來,這種時延的累積增大現象才會停止。同時這種時延連鎖累積增大也直接導致了時延的較長時間出現尖峰時刻,并恢復緩慢,造成了時延的不穩定。可見,這種時延連鎖累積增大對于遙操作控制來說是非常有害的。然而,對于基于單TCP連接的通信方式下,這種現象卻是不可避免的。
同時需要注意,如果采用UDP方式則會有一些不同。由于UDP屬于不可靠的傳輸協議,它沒有確認重傳機制和滑動窗口機制,并不確保傳輸數據能安全到達接收端,因此如果采用UDP通信方式,從通信機制本身上來看,并不會產生前文提到的時延連鎖累積增大。但是,在通常的控制系統中,如果采用UDP通信方式,對于重要的控制數據一般也都會在應用層通過算法來實現類似于TCP的確認重傳機制,以保證數據的可靠到達,因此在這種情況下,前文提到的時延連鎖累積問題是依然存在的。同時,正是由于UDP傳輸的不可靠性,在目前的網絡遙操作中,對于控制過程中的數據傳輸基本都采用TCP通信方式。因此研究基于TCP通信方式的遙操作控制的意義要遠大于基于UDP通信方式,本文的分析和研究都是基于TCP方式來進行的。
3 基于多連接的網絡時延控制方法
針對單連接出現的時延連鎖累積增大問題,本文提出了多連接的控制方法。其基本思想就是通過建立多個TCP連接來克服以上的時延連鎖增大,致力于保證時延的最可能小和一定范圍的穩定。基于多連接的通信過程如圖3所示。S1…S3為發送端等間隔發送序列的發送時刻,每一時刻通過n個不同的連接同時發送n個數據包;Rji為接收到第i個發送序列對應的第j個連接發送的數據包時刻;Dji為第i個發送序列的第j個連接的發送過程對應的時間延遲。從圖3中可以看出,在每一個發送序列對應的多個連接的發送過程中,總會有一個最小的時延,而這個時延正是最需要的時延,對于其他比它大的時延將會導致該連接對應的后面的發送過程時延增大。因此應該制止這種狀況的發生。
結合以上分析,本文提出了基于多連接的時延控制算法。其基本流程如下:
a)在發送端和接收端開始通信之前,首先在兩者之間建立n個TCP連接。其中,n>0且n∈N。同時在發送端和接收端設置計數器TS和TR,取初始值TS=TR=0,并在接收端設置連接接收計數器TRi(i=1,…,n ),取初始值TRi=0。
b)在發送端每發送一次數據時,通過這n個網絡連接來發送數據,取TS=TS+1,并在這些發送數據的標記中同時包含TS。
c)在接收端接收到數據包時,首先提取其標記TS。判斷當TS>TR時,獲取并使用此時的數據,取TR=TR+1,并取其對應的接收連接的接收計數器TRj=TRj+1;如果TS<TR,則不使用此數據,只需取其對應的接收連接的接收計數器TRj=T
d)依次判斷|TR-TRi|<γ(i=1,…,j-1,j+1,…,n)并且γ∈N。如果成立,則不作任何處理;如果不成立,重啟其對應的第i個連接。
通過之前對TCP通信機制的分析可以得知,當TS>TR時,此時兩者間存在的關系即為TS=TR+1,算法可以保證收到的數據包有序;同時,在超時重傳的超過設定的閾值γ,則通過重啟其對應連接來制止此連接繼續重復地確認重傳,防止其時延的連鎖增大。
4 實驗驗證
在遙操作控制中,主要的時延問題是控制數據和信息反饋數據從發送到接收過程中所經歷的單向時延,而一般常用的雙向時延對于控制本身來說并沒有多大意義。因此本文中的實驗都主要針對單向時延。
41 單向時延測量
測量單向時延的前提是需要進行端對端時鐘同步。目前較為普遍的方法有網絡時鐘協議NTP[16]、全球定位系統GPS[17]和無線電信號[18],但這些方法的精度都只能達到一般水平。文獻[19]中提出了一種端對端時鐘精確同步算法,該算法的原理是:當預測的前向時延和后向時延的差值足夠小,則可認為預測的前向時延和后向時延都近似等于實際的前向和后向時延,且都等于回程時延的一半,從而獲得單向時延而實現兩端主機的同步;在同步以后,可以通過轉換兩臺主機的時鐘來獲取網絡傳輸的單向時延。結合以上分析,本文采用的測量單向時延的過程如圖4所示。測量算法的基本步驟如下:
a)在主機1的第n時刻,由主機1向主機2發送報文,并預測前向時延Δt1,初始值取Δt1=0。
b)主機2接收到報文后立即向主機1回發報文,并在回發報文中附帶主機2的實際時間T′(2,n)。
c)主機1收到主機2的回發報文,記錄此時主機1的時間T(1,n+1),并計算預測的前向時延和后向時延之差:|Δt|=|Δt2-Δt1|=|(T(1,n+1)-T(1,n)-Δt1)-Δt1|=|T(1,n+1)-T(1,n)-2Δt1|。
d)判斷|Δt|<γ,γ>0是否成立。如果不成立,則取n=n+1,返回步驟a),并取計算預測前向時延的公式為Δt1=(T(1,n+1)-T(1,n))/2;如果成立,則認為此時兩臺主機同步,記錄此時主機1相對主機2的同步時鐘差:ΔT12syn=(T(1,n)+T(1,n+1))/2-T′(2,n)。
e)同步后的傳輸過程中,主機1發送時刻為T1S,主機2的接收時刻為T2R,那么主機1到主機2通信的單向時延計算方法為:D12=T2R-T1S+ΔT12syn。
當取γ=2 ms時,不計測量誤差,按此算法所測出的時鐘漂移誤差基本可以保證在毫秒級。圖5即為取γ=2 ms時,使用此算法測量的廣州到成都的單向時延曲線。
4.2 多連接網絡時延控制
在獲取了單向時延后,下面實驗通過采用基于多連接的時延控制算法來控制單向時延。同樣對廣州到成都的單向時延進行控制,采用三個TCP連接,廣州作為發送端,成都作為接收端,實驗的結果如圖6所示。
實驗的發送間隔為1 s,重啟閾值λ=5,總共連續發送1 000個數據包。Delay1為單連接1的單向時延數據;Delay2為單連接2的單向時延數據;Delay3為單連接3的單向時延數據;Minimum delay為使用多連接控制的單向時延數據。實驗結果的數據對比如表1所示。整個測試過程經歷的時間接近2 h,每次發送的控制命令數據包的大小為40 KB。經過統計,在采用三連接控制的整個過程中,總的數據通信量為118KB。可見采用三連接控制方法,其通信數據量并不足以對控制系統性能產生影響。
從這些數據中可以發現,與普遍采用的單連接方式相比,使用多時延控制可以明顯減小通信過程中的單向時延,同時可以保證較小的方差,保證時延在一定范圍內平穩波動。這樣就有利于利用傳統的常時延控制方法和策略來對網絡遠程控制系統進行控制,可以簡化基于Internet遠程控制中時延多變的復雜性。同時采用多連接控制方式也可以進一步考慮利用多連接來對時延進行多重綜合控制,以達到更好的控制效果。
采用多連接控制方式與單連接相比,勢必會導致控制過程中通信數據量的增加,然而在遙操作系統中,控制過程的主要數據量一般都是非常小的。通常對于發送一次控制指令或者現場數據反饋信息而言,其數據量一般都不會超過100 Byte,按照每100 ms發送一次數據的發送間隔,采用三個連接來進行控制,1 h內的通信量最多也不會超過180 KB,如在前文采用三連接的實驗中,接近2 h的數據通信也僅為118 KB。網絡遙操作控制過程中,最主要的傳輸數據就是控制指令和現場數據反饋信息,并且一般對于遙操作的研究也是基于這兩類數據來進行的。因此,對于網絡遙操作而言,采用較少數量的多連接控制方法與單連接相比,雖然會增加系統通信的數據量,但其本身較小的通信數據量,并不會對系統的控制性能產生影響。
5 結束語
在基于Internet的遙操作中,變時延控制問題是實現其控制要解決的首要問題之一。在目前提出的解決變時延問題的方法中,普遍都是采用單連接的控制方法,并從分析Internet的本身特性和采用先進控制策略的角度出發來削弱變時延對遙操作控制的影響。然而,由于采用單連接控制方法會導致時延的連鎖累積增大,并會進一步造成時延較大的波動。基于此問題,本文提出的多連接時延控制方法能夠在一定程度減小平均時延和最大時延,并能保證時延在一定范圍內平穩波動。該方法也存在著一些需要改進的方面。如何確定多連接的數量以及如何利用多連接進行綜合控制等,這些問題都將是日后需要進一步研究的內容。
參考文獻:
[1]MUNIR S, BOOK W J. Internet based teleoperation using wave variables with prediction[J]. IEEE/ASME Trans on Mechatronics,2001,7(2):124133.
[2]MUNIR S. Internet based teleoperation[M]. Atlanta: Georgia Institute of Technology, 2000.
[3]HUANG J Q, LEWIS F L, LIU K. A neural predictive control for telerobots with time delays[J].Journal of Intelligent and Robotic Systems,2000,29(2):125.
[4]劉曙光, 周宗錫, 楊鋒. 遙操作機器人系統的變時延控制[J]. 控制工程, 2006,13(S0):179181.
[5]KOSUGE K, MURAYAMA H, TAKEO K. Bilateral feedback control of telemanipulators via computer network[C]//Proc of lEEE/RSJ Int Conf on Intelligent Robots and Systems. Osaka: IEEE Press, 1996:13801385.
[6]WANG Shihua, XU Bugong, JIA Yunyi,et al. Realtime movile robot teleoperation over IP networks based on predictive control[C]//Proc of IEEE International Conference on Control and Automation. Guangzhou:[s.n.],2007:20912096.
[7]ANDERSON R J, SPONN M W. Bilateral control of teleoperators with time delay[J].IEEE Trans on Automatic Control,1989,34(5):494501.
[8]NIEMEYER G, SLOTINE J J. Stable adaptive teleoperation[J].IEEE J of Oceanic Engineering,1991,16(1):152163.
[9]YOKOKOHJI Y, YOSHIKAWA T. Analysis of maneuverability and stability for masterslave system[C]//Proc of USAJapan Symposium on Flexible Automation. Boston:[s.n.],1988:433440.
[10]ELHAJJ I, XI N, LIU Yunhui. Realtime control of Internet based teleoperation with force reflection[C]//Proc of the IEEE Int Conf on Robotics and Automation. San Francisco:[s.n.],2000:32843289.
[11]XI N, TARN T J. Action synchronization and control of Internet based telerobotic systems[C]//Proc of the IEEE Int Conf on Robotics and Automation. Detroit, Michigan:[s.n.],1999:29642969.
[12]LEUNG G M H, FRANCIS B A. Bilateral controller for teleoperators with time delay via μsynthesis[J].IEEE Trans on Robots and Systems,1995,11(1):105116.
[13]STRASSBERG Y, GOLDENBERG A A, MILLS T K. A new control scheme for bilateral teleoperating system:Lyapunovstability analysis[C]//Proc of the IEEE Int Conf on Rob and Auto. Piscataway: IEEE,1992:837842.
[14]PARK J H, CHO H C. Slidingmode controller for bilateral teleoperation with varying time delay[C]//Proc of Int Conf on Advanced Intelligent Mechatronics. Atlanta: IEEE Press, 1999:311316.
[15]鑒萍, 李歧強. 變時延力反饋遙操作機器人系統的內模控制[J]. 控制理論與應用, 2007,24(1):1318.
[16]CUPAL S, WOODCORK C. Remote sensing of forest change using artificial neural networks[J]. IEEE Trans on Geoscience and Remote Sensing,1996,34(2):398404.
[17]KOHONEN T. Selforganized formation of topologically correct feature maps[J].Biological Cybernetics,1982,43(1):5969.
[18]程光, 丁偉, 徐加羚. 網絡主機時鐘相對漂移模型研究[J]. 計算機工程與應用, 2004,40(28):14.
[19]王世華, 胥布工, 劉云輝. 網絡實時系統端對端的時鐘同步研究及算法實現[J]. 信息與控制, 2007,36(3):352356.
[20]NIEMEYER G, SLOTHINE JJ E. Towards forcereflecting teleoperation over the Internet[C]//Proc of Int Conf on Robotics and Automation. Leuven, Belgium: IEEE Press, 1998:10191025.
[21]TACHI S, ARAI H, MAEDA T. Teleexistence masterslave system for remote manipulation[C]//Proc ofthe 29th Conf on Decision and Control. Massachusetts: AddisonWesley,1990:8590.
[22]景興建,王越超,談大龍. 遙操作機器人系統時延控制方法綜述[J]. 自動化學報, 2004,30(2):214223.
[23]ZHANG Wei, BRANICHY M S, PHILLIPS S M. Stability of networked control systems[J].IEEE Control Systems Magazine, 2001,16(2):8499.