改善效能/穩定度 新無線網路控制系統架構崛起

2010-05-04
本文提出一種新穎的無線網路控制系統架構,運用TCP-like模糊流量控制(Fuzzy Flow Control, FFC)演算法與控制傳輸協定(Control System Transfer Protocol, CSTP)。根據無線網路狀態的不同,此機制能即時調整操控端的命令封包傳送率,以期減少當網路出現壅塞時的控制命令傳輸延遲,提高控制系統輸出的穩定性。而在操控端,為了改善傳統比例-積分-微分(Proportional-Integral-Derivative, PID)控制器的效能,本文另外加入一個考慮時間延遲的GA-PID控制器(Genetic Algorithm PID Controller),藉由GA-PID控制器與FFC-CSTP的搭配,改善控制系統在網際網路環境中系統的控制穩定度。
以無線網路進行馬達控制  

隨著無線網路技術的發達,無所不在的網路傳輸方式也漸漸地被全球使用者接受,而傳統控制系統控制模式也由近端控制延伸為無線網路遠端控制模式,以往所使用的通訊介面如RS-232、RS-485將來則不敷使用需求。  

隨著網際網路使用人口的增加,人手一機的個人數位助理(PDA),使得大量資訊在無線網路上傳輸,而有限的網路頻寬,則不敷過多的資料封包使用,會造成某一區域的無線網路出現壅塞,因而產生封包傳輸延遲。一個會產生不固定時間傳輸延遲的控制環境,將影響控制系統的輸出效能。  

以往就延遲控制系統而言,大多數研究報告與相關文獻,以研究其控制器的設計來提高因時間延遲而降低的控制系統效能。此類型的控制器設計會較為複雜,因為無線網路隨機延遲的特性,使得無線網路控制系統的控制器設計更為困難。而現今最常用的控制器是傳統PID控制器,其主要特點是準確度高、控制簡易、價格便宜,但是遇到系統在運轉中有明顯的干擾或是系統具有時間延遲特性時,應用傳統PID控制器的控制系統其輸出響應的效能就會明顯降低許多。  

另一方面,若要在無線網路環境上實現遠端控制系統,其無線網路傳輸機制與傳輸協定的連線對於控制系統的輸出響應也有一定的影響,因為不同的傳輸協定機制,對於無線網路流量管理有不同的調整方法,也間接影響控制系統訊號傳輸之可靠性,如何維護無線網路傳輸的服務品質(Quality of Service, QoS)並能精確地掌握無線網路流量,研究最適合遠端控制系統的流量控制演算法,也是未來的趨勢之一。  

圖1 無線網路遠距操控系統架構圖
基於上述的理由,本文提出一個分散式控制系統架構的概念與新穎的控制系統傳輸協定(CSTP),可在控制系統運作時,進行即時性的網路狀態偵測(圖1),再利用本文提出的TCP-like模糊流量控制演算法,做從(Client)端無線網路傳輸流量的管制,使得該無線網路區段維持較穩定的網路狀態,以降低控制命令的傳輸延遲,並簡化不定時延遲系統之PID控制器設計的複雜度。此外,以基因演算法則(Genetic Algorithm, GA)設計的PID控制器之參數,能得到較佳之控制性能。

建立Client/Server CSTP協定的架構  

以往測量點對點無線網路延遲最直接的作法是利用Ping的方式,但所得到的數據卻不具即時性,而且Ping也是要送出偵測封包,會增加網路負載,如果使用一般用於網路串流傳輸常用的RTP/RTCP協定來量測點對點之間的網路狀態,也會增加額外的流量,因此針對網路狀態的偵測提出一套CSTP,並參考TFTP的功能性與架構,修改UDP Payload的封包欄位,加上了控制指令、封包編號、傳送時間等欄位,藉此在一次控制循環下,即Client送命令到伺服器(Server),Server送回應到Client,就能夠在不增加額外的探測封包流量下,即時計算出每傳送出一個封包後的網路延遲時間。  

在多工的作業系統環境下,本程序為了在無線網路壅塞時,得到較高的網路頻寬使用權,經實際實驗測量,使用UDP比TCP的效能更好,在兩者協定同時做封包傳送時,也不必被TCP Congestion Control限制,所以選定UDP為CSTP的基礎做修改,使得控制命令封包能夠被順利的送達Server端的受控系統。  

圖2 CSTP封包
為了在系統運轉時,達到同時進行偵測網路狀態與遠端控制的功能,本文提出的CSTP封包格式(圖2),主要基於UDP增加了封包傳送時的封包編號、Timestamp、控制命令資訊與封包型態。將每個CSTP封包固定為52Bytes,將有助於減少網路延遲的擾動(Jitter),在程序上簡化網路延遲的計算,如表1所示為CSTP封包的欄位表示,依CSTP封包TYPE欄位值不同,控制系統程序有不同的反應,CSTP共有六個不同種類的封包,如下所示。

CRQ(Connection ReQuest)封包
  Client要求與Server建立連線的封包

RRQ(Receiver ReQuest)封包
  Server接受Client的連線請求的封包

CMD封包
  承載PID控制訊號的封包

ACK封包
  承載受控系統輸出響應訊號的封包(回授封包)

FAKE封包
  假封包

QUIT封包
  Client結束連線的封包

圖3 CSTP建立連線示意圖
如圖3所示,CSTP在建立連線之初,採用類似TCP之Three-way Handshaking的方法,確保Client與Server的傳輸路徑已建立,在控制系統啟動時,由Client發出一個CRQ封包後,等候此封包被Server接收,Server回傳一個RRQ封包,若Client接收到RRQ封包,此時可確定兩端連線已被建立。一旦Client/Server連線被建立之後,即可以依照Client端的Operator下達控制命令,驅動Server端的受控系統。若Client/Server兩端連線無法建立,則本系統不允許Client發出CMD封包。  

圖4 CSTP之控制系統RTT計算示意圖
CMD封包承載PID控制器的控制量,ACK封包則承載受控系統響應經由Tacho-Generator回授的感測值。如圖4所示,Client發出編號1的CMD封包開始進行遠距控制,而Server收到CMD封包後驅動受控系統,並發出編號1的ACK封包代表以完成第一步的控制,Client接收到編號1的ACK封包,完成三項作業。  

.可以即時根據ACK封包裡的Data欄位取得受控系統的響應值。
.修正FFC控制器的控制量。
.計算RTT時間。

圖5 TCP之控制系統RTT計算示意圖
接著,發出編號2的CMD封包。而往後如果Client沒有得到編號n的ACK封包,就不會發出編號n+1的CMD封包。此外依實驗得知,以同樣的控制流程,如圖5所示,TCP的RTT時間,約CSTP的兩倍,顯而易見CSTP能比TCP有更好的控制系統效能。  

設計Client端PID控制器  

無線網路是一個隨機延遲時間的環境,所以如果以固定延遲時間作為控制器設計之依據,一旦實際延遲時間超過當初預估的時間,則系統的Server響應就會變得很差,因此本文使用GA演算法,並由一週內的實驗數據得出在整個系統運作時的RTT0,以此較客觀的RTT0大小範圍作為GA演算法的參考輸入值,目的在於求得本系統PID控制器的最佳參數,並藉由事先對直流馬達受控體做系統鑑別,而獲取的二階轉移函數,如公式(1)所示,經由編碼、適應函數計算、複製、交配及突變等運算過程,得到最佳的時間延遲系統PID控制器的參數。本文提出的GA演算法的適應函數如公式(2)所示。

................(1)
................(2)

採用TCP-like模糊流量控制演算法

在之前的研究中,針對TCP Tahoe與TCP Reno壅塞控制演算法的缺失,Brakmo等人在1995年提出TCP Vegas演算法,其主要維持一個良好的網路吞吐量(Throughput),避免網路壅塞,且在封包因網路壅塞而遺失前,偵測介於傳送端與接收端之間的路由器,其網路壅塞狀態,利用觀察封包RTT時間來預測可能的封包遺失發生率,而較長的RTT會產生較大的網路壅塞,而其壅塞控制機制會降低其線性的封包傳送率,但是無法預測多大的RTT時間才要降低多少線性傳送率。  

圖6 模糊流量控制器架構圖
因此,本文採用模糊邏輯提出的FFC演算法學習出一條曲線,如圖6所示為以CSTP計算得到之RTT與RTT的變化率做為模糊輸入變數。只要擷取Server回傳的ACK封包,計算出RTT時間,對於不同無線網路狀態,依照模糊推論引擎而得到適合的Client端之封包傳輸率,並且不同於TCP Tahoe與TCP Reno的封包傳輸率調整方式,FFC因為可以設計較多的參考輸入值,在系統的運轉中,改善Server輸出響應值減少響應值發生劇烈振盪的機率。  

圖7 RTT輸入歸屬函數
圖7為本文提出的RTT輸入歸屬函數,因為RTT的變化沒有負方向性,所以由五個語意變數來決定其歸屬函數。  

.VS表示RTT時間很小的歸屬程度
.S表示RTT時間小的歸屬程度
.M表示為RTT時間為中等的歸屬程度
.B表示為RTT時間為大的歸屬程度
.VB表示RTT時間很大的歸屬程度

而相對應的歸屬函數之論域範圍訂定如下列公式(3)~(7)所示,  

................(3)
................(4)
................(5)
................(6)
................(7)

圖8 RTT變化率之輸入歸屬函數
為了避免出現類似TCP Reno和TCP Tahoe的傳輸率調整有大幅波動現象,選定考慮RTT的大小以及考慮RTT的變化率,做為第二個模糊參考輸入。利用RTT和RTT的變化率來決定傳送率,以減少傳輸率有大幅度的波動。圖8為RTT變化率的輸入歸屬函數,因為RTT變化率是有方向性的,所以本文由七個語意變數來決定其歸屬函數。  

.NB表示為RTT的變化率呈現負方向性大的程度
.NM表示為RTT的變化率呈現負方向性中等的程度
.NS表示為RTT的變化率呈現負方向性小的程度
.ZE表示為RTT沒有改變的程度
.PS表示為RTT的變化率呈現正方向性小的程度
.PM表示為RTT的變化率呈現正方向性中等的程度
.PB表示為RTT的變化率呈現正方向性大的程度

相對應的RTT變化率的論域範圍選定,則考慮以RTT變動率在-100~+100%之間,RTT變動率小於-100%,以-100%來計算。同理,RTT變動率大於100%,則以100%來計算。  

圖9 封包傳輸率的變化率之輸出歸屬函數
圖9為Client端送出封包的傳輸率之變化率的輸出歸屬函數,為了防止調整傳輸率幅度過大,造成網路流量的波動,故以傳輸率的變化率當作最後的模糊輸出,而不是以傳輸率當作模糊輸出。同樣的由七個語意變數來決定傳輸率的變化率輸出歸屬函數。  

.NB表示為調整傳輸率的變化率呈現負方向性大的程度
.NM表示為調整傳輸率的變化率呈現負方向性中等的程度
.NS表示為調整傳輸率的變化率呈現負方向性小的程度
.ZE表示為調整傳輸率沒有改變的程度
.PS表示為調整傳輸率的變化率呈現正方向性小的程度
.PM表示為調整傳輸率的變化率呈現正方向性中等的程度
.PB表示為調整傳輸率的變化率呈現正方向性大的程度

而Client端傳輸率之變化率的論域範圍選定,則考慮傳輸率變化的程度不能太大,減少網路流量的波動,故以每次調整最大為上一個傳輸率的兩倍,最小為傳輸率0。  

本文的模糊規則庫則是使用嘗試錯誤法由實驗經驗獲得,如表2所示。  

本文採用Mandani提出的Min-Min-Max模糊推論法設計如圖10所示的推論架構示意圖,考慮k為每個取樣點,規則數為j=3,在此X1為RTT模糊單值輸入,X2為RTT變化率模糊單值輸入,推論步驟如下:

圖10 模糊推論架構示意圖

先求得模糊參考輸入X1與X2在各規則的歸屬程度。接著,X1與X2在各規則的歸屬程度中取最小值為τ。  

................(8)
 

隨後,以τ切線之所有取樣點其對應輸出歸屬函數的論域值,取其平均值z。

................(9)
 

最後,使用(簡單法)解模糊化,求得Client端的封包傳輸率的明確輸出量。

................(10)
 

FFC-CSTP馬達控制成效不錯  

藉由本文提出的分散式控制系統架構,CSTP通訊協定與FFC模糊流量控制演算法,可以成功地運用於無線網路遠端操控系統,並且取代以往的網路探測機制,在無需額外的探測流量下,CSTP能夠即時地提供封包RTT資訊給FFC,而FFC則適時地調整Client端的封包傳送率,使得整個控制系統運轉時,控制命令的傳送過程中,不致於出現大量的封包造成網路壅塞,並降低在控制系統運轉時,傳輸封包RTT的平均值,與TCP、UDP及TLFC比較,FFC也有較好的控制性能。  

(本文作者任職於資策會網路多媒體研究所)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!