摘 要:
基于生物免疫系統的生理特性,以免疫系統T細胞、B細胞與免疫應答為基礎,引入了免疫算法,其結構簡單,易于實現,但是由于忽略了免疫系統的記憶、自適應、細胞繁殖和自然死亡等復雜的機理行為,也不具有實時自調整的能力。結合梯度搜索方法和希爾函數,提出了一種基于Sigmoid非線性模型的自學習免疫控制算法。將該方法應用于水下機器人的運動控制系統進行仿真研究,結果表明了改進人工免疫算法的有效性。
關鍵詞:水下機器人;免疫控制算法;Sigmoid函數;自適應;改進人工免疫控制方法
中圖分類號:TP24 文獻標志碼:A
文章編號:1001-3695(2008)09-2640-03
Improved immune control algorithm applied in motion control of autonomous underwater vehicle
PANG Yongjie, TANG Xudong
(College of Shipbuilding Engineering, Harbin Engineering University, Harbin 150001, China)
Abstract:Drawn lessons from the physiological character of creature immune system and normal immune control which based on the T cell,B cell and immunological response. The normal immune control could’t selflearn in real time because it ignored the memory, adapt, cell replication and natural dead in immune system. It deduced a new selflearn immune control based on the Sigmoid nonlinear model by gradient search method and hill function. The simulation results in autonomous underwater vehicle motion control can prove its efficiency.
Key words:autonomous underwater vehicles; immune control algorithm; Sigmoid function; selfadapting; improved immune control algorithm
水下機器人是在水中運動的具有六個自由度的剛體,它本身就是一個強耦合的非線性系統。由于受到自身燃料、水壓、速度等外界環境因素影響,水下機器人數學模型的建立具有較大的不確定性,傳統控制方法是不能夠滿足水下機器人運動控制的要求。
生物免疫系統是一種在大量干擾和不確定性環境中都具有很強魯棒性和自適應的系統,能對侵入機體的非己成分(如細胞、病毒和各種病原體等)以及發生了突變的自身細胞(如癌細胞)進行精確識別、適度響應和有效排除。
本文基于人工免疫機理[1]引入了一種免疫控制算法,并在此算法的基礎上,結合Sigmoid函數模型和梯度搜索方法,構造一個具有自適應能力的改進人工免疫控制算法,既簡化了控制器的設計,又保證了控制效果,并且在某型號水下機器人運動控制中的仿真結果也表明了該方法的可行有效性。
1 免疫機理與免疫控制算法
生物免疫系統是生物體內部結構最為復雜、功能最為獨特的系統。它是一種在大量干擾和不確定性環境中都具有很強的魯棒性和自適應性的系統。
免疫系統的重要功能之一是清除異物。異物可以是微生物、異型血細胞、移植器官等。它們都稱做抗原。抗原由載體和半抗原組成。圖1即為抗原的示意圖。
信息傳遞給T細胞,即傳遞細胞與胞,然后刺激B細胞。B細胞產生抗體以消除侵入的抗原。當抗原較多時,機體內的胞分泌加速,胞含量卻降低,從而會產生較多的B細胞;隨著抗原的減少,體內的細胞增多,它抑制了細胞的產生,則B細胞也隨著減少。經過一段時間后,免疫應答系統趨于平衡。圖2為免疫系統的T細胞和B細胞發育圖。
基于上述免疫應答原理,就得到了通常的免疫控制算法[2,3]:假設第代輔助性
2 改進人工免疫算法
2.1 Sigmoid函數模型[4,5]
由于實際免疫系統中,輔助性細胞與抗原容度的變化是不可能按純線性增長的。其中未考慮有限的營養對增殖的限制,亦未考慮自然死亡。如果考慮到環境和營養的限制,輔助性細胞與抗原溶度變化曲線如圖3所示。顯然這是一個有死區的正S型曲線,而并非簡單的線性變化曲線。所以結合實際控制器的控制輸出,選擇一個恰當的非線性數學模型,代替通常免疫控制器輔助性細胞的,將更加符合實際的生物免疫系統工作原理,而擁有正S型曲線良好的動態響應特性和控制效果。
假設第細胞濃度由下式決定:
其中表示一種S型非線性函數示第的抗原濃度。
同時,假設第k代抑制性細胞濃度與第k-1代和第k-2代抗體濃度差該函數形式與S面控制函數類似,具有S形狀的表達式。其中:表示常數,可以根據控制器的需要調節控制器的動態響應效果。
其中:示域值常數,與抗原種類及抑制性細胞的不同有關。
結合式(11)(12)可以得到基于Sigmoid模型的免疫控制算法。
2.2 免疫控制的學習算法
圖4為改進免疫控制系統原理框圖。圖中R為系統期望輸出,Y(k)為系統k時刻的輸出。整個系統與神經網絡控制器的結構相仿,其本質也是實現從輸入到輸出的非線性映射,仿照反向梯度下降法,用誤差反傳的方法來設計調整參數,以使被控制對象的輸出逼近期望輸出。
設控制系統的性能指標為
其中:αi(i=1~5)為動量學習因子。
這樣就得到了具有自適應能力的改進人工免疫控制器。通過規劃器的規劃值和免疫控制器輸出之差,實時地自調整免疫控制器參數,這就使普通的免疫算法具有了在線學習能力。
3 仿真結果與分析
本文以某水下機器人數學模型[8,9]對上述控制結構和算法進行仿真實驗。根據該型號水下機器人的運動特點,確定各控制參數的初值。從改進免疫控制算法來看,其控制參數有。在該水下機器人的運動控制仿真中選擇本文仿真實驗中選取。
這里給出了免疫控制器改進前后在水下機器人北向和東向運動控制的實驗結果,如圖5、6所示。機器的初始位置均為0,目標位置分別為30和20。針對機器人的北向和動向的控制曲線,改進后的免疫控制算法在動靜態相應特性和收斂速度上都要優于同等條件下的免疫控制算法。同時為了驗證改進免疫控制算法的自適應能力和魯棒性能,在圖7、8中,筆者還給出了在外界作用力干擾下的控制結果。可以看出,為了抵抗干擾力的作用,即使存在較大的外界擾動,控制器的輸出也產生與干擾力相對應的振蕩。
控制器也能很好地控制機器人到達目標值,具有很強的魯棒性能。這也再一次驗證了本改進優化方案的合理有效性。
4 結束語
人工免疫控制是一種簡單實用的控制方法,但是其輔助性細胞抗原溶度的變化采用簡單的線性變化函數,忽略了有限的營養對增殖的限制和機體自然死亡的生理特性,亦未考慮免疫系統自身所具有的記憶和自適應等因素。本文提出的免疫控制的改進方法是在人工免疫控制基礎上采用了基于Sigmoid非線性函數和梯度搜索方法,使其具有良好的動態響應和自適應能力。仿真實驗表明這種新型免疫控制器具有良好的靜/動態響應、抗干擾和魯棒能力,并且該免疫控制器的結構較為簡單,易于實現。
參考文獻:
[1]漆安慎,杜嬋英.免疫系統的非線性模型[M]. 上海:上海科學技術出版社,1998:67.
[2]付冬梅,鄭德玲,位耀光,等. 人工免疫控制器的設計及其控制效果的仿真[J]. 北京科技大學學報,2004,26(4):442-445.
[3]ISHIDA Y, ADACHI N. Active noise control by an immune algorithm: adaptation immune system as an evolution[C]//Proc of IEEE Int Conf on Evolutionary Computation.Nagoya:[s.n.], 1996:150153.
[4]劉學敏,徐玉如. 水下機器人運動的S面控制方法[J]. 海洋工程,2001,19(3):81-84.
[5]劉建成,于華男,徐玉如. 水下機器人改進的S面控制方法[J]. 哈爾濱工程大學學報,2002,23(1):33-36.
[6]DASGUPTA D. Artificial immune system and their applications[M].Berlin,Heidelberg: SpringerVerlag,1999.
[7]HUNT J, COOKE D. Learning using an artificial immune system [J].Journal of Network and Computer Applications, 1996,19(2):189-212.
[8]甘永,孫玉山,萬磊. 堤壩探測水下機器人運動控制系統的研究[J]. 哈爾濱工程大學學報,2005,26(5):575-579.
[9]常文君,劉建成,于華南,等.水下機器人運動控制與仿真的數學模型[J].船舶工程,2002(3):58-60.
[10]KAWAFUKU M, SASAKI M, TAKAHASHI K.Adaptive learning method of neural network controller using an immune feedback law[C]//Proc of IEEE/ASME International Conference on Advanced Intelligent Mechanizations.Piscataway: IEEE, 1999:641-646.