李盛前,張小帆
(1.廣東機電職業技術學院 電氣技術學院,廣州 510550;2.廣東技術師范大學 汽車與交通工程學院,廣州 510665)
服務機器人作為一種具有不確定性、強耦合性、多時變性、高度非線性的復雜系統,在實際應用中,服務機器人系統本身特有的這些特性和各種類擾動因素都無法忽略,使得各研究學者很難對其建立精確的數學模型,因此利用經典的PID控制方法直接用于服務機器人的自動跟蹤控制抓取等工作任務,難以滿足控制性能要求。而針對類似于服務機器人的系統運動控制,出現了很多機器人運動控制方法,如自抗擾控制、滑模變結構控制、模糊控制、神經網絡、人工智能控制等,其中自抗擾控制器近年來在移動機器人跟蹤控制技術中得到了較為廣泛的應用。自抗擾控制方法是從PID控制方法中改進演變過來的新興實用控制技術,其包含了PID的所有控制優點及思想,這樣使得自抗擾控制是一種不依賴被控對象精確數學模型為基礎的控制。自抗擾控制器主要由幾部分組成,其中擴張狀態觀測器是其核心部分,其擴張狀態觀測器可以估算來自外部不確定的擾動量并實時精確補償抵消擾動,自抗擾控制具有的這些特性,使得其在機器人運動控制領域得到廣泛應用。文獻[1-2]主要采用自抗擾擴張狀態觀測器對機器人軌跡跟蹤過程所受到的外部擾動量進行實時估算補償,抵消掉外部擾動的影響,有效解決了精確數學建模的問題,提高焊接機器人運動穩定性和魯棒性。文獻[3-4]主要研究自抗擾控制技術在并聯機器人軌跡跟蹤的應用,為六自由度并聯機器人的軌跡跟蹤設計了自抗擾控制器,但其為了減輕自抗擾控制器的估算任務,忽略了重力估算補償,從實驗結果看,該控制器軌跡跟蹤效果滿足設計要求。文獻[5]針對難以精確建立移動機器人動力學模型、估計各種外部干擾等問題,結合滑模控制技術特點,構造出一種快速終端滑模自抗擾控制器,提高了控制系統對外部干擾量的估算能力和速率,實現移動機器人高速高精度軌跡跟蹤控制目標。文獻[6]針對機器人跟蹤控制過程中分別利用自抗擾和滑模變結構產生的抖振問題研究,抖振原因主要對外部擾動量估計不足而導致的抖振,論文最終結合自抗擾和滑模變結構控制特點進行研究解決跟蹤過程中的抖振問題。文獻[7]分析了自抗擾控制技術和模糊控制方法特點,結合水下環境機器人特有的相關運動學及動力學方程模型,根據不同的控制環境特征,利用切換控制方法策略,取自抗擾和模糊控制各自的優點,聯合建立設計了欠驅動水下機器人模糊自抗擾定跟蹤控制器。文獻[8]首先建立了基于外部干擾量估計的機器人非線性反饋控制系統,在此基礎上提出一種適用于機器人跟蹤控制的新型自抗擾控制器,該控制器不需實時計算估計復雜的機器人動態模型進行補償,使得該運動控制器對量測噪聲具有抑制作用,提高了控制器的魯棒性。文獻[9]分析模糊控制和神經網絡的特點,結合系統特性,融合了模糊神經網絡與專家系統組成的一種復合控制算法,對焊接機器人運動控制過程中的外部擾動量有效精確補償,提升了焊接運動的穩定性,有效控制脈沖GTAW過程中的焊接速度與焊縫寬度。文獻[10-15]都是利用模糊控制、滑模控制以及自適應等多種控制方法相結合而生成的一種復合控制方法,從實驗結果來看這些復合控制方法都能較好實現機器人運動控制跟蹤。
雖然利用自抗擾控制器具有估計外部不確定干擾量并實時進行精確補償的能力,提高機器人動態跟蹤控制性能和魯棒性,但是自抗擾控制器結構和設計過程都比較復雜,其涉及的變化參數較多,即不同的參數取值組合,自抗擾控制器控制性能都會發生很大變化。同時,這些參數取值沒有規律可循,沒有一套完整可靠的參數選擇參考標準形式,以往大多數技術人員都是依靠經驗試測進行選取,總之,自抗擾控制器的參數取值必有一個最優組合。為了尋找這個最有組合,為了使自抗擾控制器控制性能達到最佳,論文對這些參數取值組合進行人工智能優化整定研究。目前較常見的人工智能優化算法有:粒子群優化算法、遺傳算法、人工免疫算法等仿生算法。文獻[16]研究利用改進的蜻蜓算法對快速反射鏡自抗擾控制器的參數進行優化整定,參數整定速度較快,能快速響應速度要求,實驗跟蹤效果精度滿足要求。文獻[17]基于雙種群鯊魚優化算法對自抗擾機械臂軌跡跟蹤控制器參數優化計算,優化了控制器的控制性能,提高了機械臂控制的抗干擾能力。文獻[18]設計了PMSM位置伺服系統的復合自抗擾控制器,利用神經網絡對非線性自抗擾控制律的參數進行在線實時優化整定,而對于神經網絡自身需要整定的重要參數,作者引入了遺傳算法對神經網絡的重要參數進行優化,實現了整個控制器所有參數的整定。文獻[19-21]對設計的ADRC控制器采用遺傳算法對其多參數整定進行優化,極大改善了經驗法和試測法取值組合的不足,但是優化結果容易陷入局部最優化。
綜合上述文獻可得遺傳算法作為一種目前比較成熟的、流行的優化算法,普遍受到學者們的歡迎,同時,在各類優化實際問題上得到有效應用,但對于自抗擾控制器多參數整定優化問題時,該算法存在優化過程收斂速度慢,并且極易陷入局部極值的“早熟”現象而無法得到全局最優值。對此,論文研究引入具有多樣性特點的人工免疫算法,融合遺傳算法和人工免疫算法優點,有效提出了一種基于人工免疫遺傳算法優化的自抗擾控制器參數優化整定方法,最后對參數整定優化后的控制器進行仿真實驗驗證論文提出算法的有效性。
自抗擾控制器(active disturbances rejection controller, ADRC)作為一種新型非線性反饋控制方法[22],該控制方法是由我國著名學者韓京清研究員基于PID控制技術上提出來的,該控制器的控制核心思想主要采樣“預測+補償”的控制方法,這就很好的融合利用了經典控制理論和現代控制理論的優點,解決了無論是單獨利用經典控制理論或現代控制理論進行控制所帶來的缺陷,經典控制理論設計控制器簡單,但需要精確模型為基礎;而現代控制理論設計控制器復雜,但無需建立精確數學模型,這樣融合兩者設計的控制器無需建立被控對象的精確數學模型,這種方法就能很好地解決具有非線性、不確定性、時變性、強耦合性系統的控制性能要求。自抗擾控制器作為一種非線性反饋控制器,在PID控制結構的框架下,分別設計了跟蹤器(TD)、非線性狀態誤差反饋控制律(NLSEF)、擴張狀態觀測器(ESO)三部分,自抗擾控制器將這三部分有機組合成的控制器就無需建立被控對象精確數學模型也能很好的抑制外部擾動干擾,較好的控制被控對象。典型的二階自抗擾控制結構框架如圖1所示,其中虛線部分即為自抗擾控制器的幾個組成模塊以及各模塊之間的關系。

圖1 自抗擾控制器結構圖
由圖1可以看出,自抗擾控制器無需建立被控對象精確數學模型為控制基礎,該控制器的工作過程為:首先對系統采集的輸入信息V利用非線性微分跟蹤器TD處理,經過TD處理后輸出較高質量的微分跟蹤信號V1/V2,有效預測系統變化趨勢,解決了原始PID控制器遺留的快速性與超調性之前的相互矛盾問題;接著利用擴張狀態觀測器ESO觀測估計系統狀態變化、未知干擾等各種擾動量并實施預測補償,即實現了“預測+補償”的核心控制算法,使得擴張狀態觀測器ESO是整個控制器的核心組成部分;最后由非線性反饋控制律生成控制量輸出控制被控對象,實現不確定性、非線性、時變、強耦合性系統控制的穩定性和魯棒性要求。下面主要針對這三部分數學模型推導及原理功能分別介紹:
非線性跟蹤微分器有更高的效率,在噪聲抑制方面有更好的表現。非線性跟蹤微分器為:
(1)
式中,f=-h·sign(v1(k)-v0(k)+v2(k)·|v2(k)|/2r),其中sign()函數為符號函數,由于上式在高頻噪聲時,存在明顯的抖振現象,于是,根據文獻[1]采用最速控制綜合函數改善系統的高頻抖振,最速控制綜合函數fhan(v1,v2,v0,r,h1)的表達式為:
(2)

因此,綜合上述,非線性跟蹤微分器最終表達式形式為:
(3)
(4)
式中,其中非線性函數fal(e(k),a,δ)采用如下形式:
其中:fal(e(k),a1,δ)的形式并不是規定一直不變的,可根據情況,該函數可采用線性函數或非線性函數,其具有小誤差,采用大增益,大誤差,采用小增益的特性。
自抗擾控制器中普遍采用的非線性狀態誤差反饋控制律為:
(5)

至此自抗擾控制器原理結構的數學推導過程結束,這樣二階自抗擾控制器的具體模型為:
(6)
式(6)就是自抗擾控制器數學模型,可以看出,控制器含有多個調整參數,各個參數取值的不同,對整個系統的控制性能都存在差異,使得控制性能不穩定,非線性微分跟蹤器TD中的參數h1濾波因子影響系統的濾波效果;而參數r速度因子可以提高系統達到穩定性的速度;擴張狀態觀測器ESO決定系統觀測估計輸出狀態的能力,參數β1、β2、β3、β4、β5等5個參數對系統狀態的觀測估計精度和速度都有影響;非線性反饋誤差控制律(NLSEF)是非線性微分跟蹤器TD和擴張狀態觀測器ESO的非線性組合,其性能主要由fal(e(k),a,δ)函數中的參數決定,δ、a1、a2、a3、a4、a5參數改善系統性能,極大發揮系統的比例、積分作用,為了使自抗擾控制器控制性能達到最佳,需對這些參數進行優化整定。
2.1.1 遺傳算法原理
遺傳算法( GA,Genetic Algorithm),也稱為進化算法。其借鑒自然界生物的優勝劣汰進化過程而提出的一種啟發式搜索算法,它能在搜索過程中自適應不斷更新有關搜索空間信息,最后得到最優解[23]。
遺傳算法是基于達爾文的“物競天擇,適者生存”的自然界生物進化論的一種隨機化搜索算法,首先通過對某類群體進行個體基因編碼組成表示群體,接著對具有某種結構形式的基因個體進行遺傳編碼操作,即基因染色體變異,從而進化生成新的種群,實現優勝劣汰的形式,一代比一代進化逼近問題的最優解。在求解實際問題過程中設定一個固定數量的種群方案,種群中的每個個體都對應問題的一個最優可能解,基因個體被自然環境選擇的程度用適應度函數來衡量,適應度差的基因個體被環境淘汰,即不是問題的最優解,舍掉;適應度好的個體得以繼續生存繁殖后代,繁殖后代的過程中可能要經過選擇、交叉、變異3個步驟,實現優勝劣汰生成新的種群個體,這樣不斷的迭代反復進化變異,最終在末代種群中得到個體最優基因,即問題最優解,這就是遺傳算法計算過程,其流程如圖2所示。

圖2 遺傳算法流程圖
因此,遺傳算法實現過程中主要有以下幾個基本要素和步驟:
1)個體編碼:
由于不能直接利用解空間的數據,遺傳算法必須把個體“解”通過編碼的形式組成類似遺傳空間的基因型串數據。目前,遺傳算法常用的編碼方式有整數編碼、二進制編碼、浮點數編碼、混合編碼等。
2)個體適應度:
個體適應度度量某個個體對于生存環境的適應程度,決定這個體遺傳到下一代的機會多少,是區分群體中某個體的好壞標準。
3)遺傳算子:
遺傳算法包括變異、交叉、選擇3種。選擇運算借鑒生物適者生存、優勝劣汰的進化原則,根據個體適應度的概率從當前種群中選擇個體適應度高的個人作為父代繁殖下一代;交叉運算借鑒生物的基因重組方式,以一定的概率交叉兩個個體中某個位置的基因碼,得到兩條新的染色體;變異運算借鑒生物進化過程中基因突變的機理,以一定的概率對某個基因上的某個位置發生變異為等位基因。
4)終止條件:
遺傳算法通過不斷的對種群進行選擇、交叉、變異操作得到新的種群而最終找出問題的最優解,這個不斷循環過程的終止條件一般設為最大進化代數或最優解的精度要求,計算過程達到最大進化代數或最優解已經滿足精度要求就終止計算,最后輸出問題的解。其中,遺傳算法優化應用關鍵主要有以下幾個問題:
1)串的編碼方式:
這本質是問題編碼。一般把問題的各種參數用二進制編碼,構成子串;然后把子串拼接構成“染色體”串,串長度及編碼形式對算法收斂影響極大。
2)適應函數的確定:
適應函數(fitness function)也稱對象函數(object function),這是問題求解品質的測量函數,往往也稱為問題的“環境”。一般可以把問題的模型函數作為對象函數,但有時需要另外構造。
3)遺傳算法自身參數設定:
遺傳算法自身參數有3個,即群體大小n、交叉概率pc和變異概率pm。
2.1.2 免疫遺傳算法
生物免疫系統(biology immune system,BIS)是由許多分布式的具有一定功能的個體(T細胞、B細胞、抗體等)通過相互作用、學習、自我調整和具有自動調節平衡的復雜大系統。人工免疫系統(artificial immune system, AIS)是模擬、借鑒生物免疫系統機制和免疫理論學而發展起來的各種人工處理技術、計算方法等的統稱。它根據生物免疫系統自我調節、學習、自適應平衡等機理,構造出了相應的信息處理算法。研究學者,為了解決工程上的實際問題,受到生物免疫系統機理的啟發,從中演變出一些類似模型算法,一般人工免疫算法流程如圖3所示。

圖3 人工免疫算法流程圖
因此,借鑒人工免疫系統的多樣性、自我調節能力以及訓練記憶,使得人工免疫算法過程避免陷入“早熟”收斂情況,同時加快了系統得到最優解的速度。
根據以上分析知,遺傳算法和人工免疫算法各自都存在優缺點,為了取長補短,將兩種算法結合起來生成人工免疫遺傳算法(artificial immune genetic algorithm, AIGA)。該算法在遺傳算法框架基礎上引入免疫系統的免疫記憶庫和濃度控制機制生成免疫遺傳算法,使得遺傳算法具備了免疫功能,人工免疫遺傳算法流程如圖4所示。

圖4 人工免疫遺傳算法流程圖
利用人工免疫遺傳算法解決工程實際數學問題過程中,根據生物免疫系統機理和實際解決問題之間的對應演變規范,把實際問題的目標函數及約束條件對應于外來入侵的抗原,待求解的優化設計問題的解對應于免疫系統產生的抗體。然后生成初始抗體群體,計算每個抗體的適應度值和濃度,根據適應度值和濃度對抗體(個體)進行選擇、交叉、變異操作更新抗體。于是,保持了抗體的多樣性,最后判斷針對問題抗原與抗體描述可行解與最優解之間的親和力,找出問題的最優解。生物免疫系統根據外來抗原自動產生抗體來抵御外來的侵入,這一行為稱為免疫應答。該過程中,部分抗體會被記憶保存下來,當下次相同的抗原入侵時,系統將比初次作出更迅速的正確反映進行防御,體現出抗體的訓練記憶功能。同時,抗體與抗體之間也產生相互促進和抑制,根據抗體的濃度,系統抗體自我調節平衡,維持抗體種群的多樣性,這也是人工免疫算法可以防止過早收斂的主要原因。因此,根據以上流程圖,其算法步驟如下。
1)抗原輸入:把求解問題的目標函數和約束條件對應為免疫系統的抗原入侵;
2)初始抗體生成:初始計算迭代,根據在問題解空間隨機取一個解作為初始抗體;
3)親和力計算:分別計算問題解空間中抗原與抗體之間的親和力度、抗體與抗體之前的親和力度;
4)記憶庫更新:將于抗原親和度高的抗體加入到記憶庫中,同時去除原來記憶庫與抗原親和度最高的抗體;
5)抗體促進與抑制產生:考慮抗原與抗體之間的親和力度,高親和力促進,反正亦然,同時也考慮抗體濃度,濃度越高,則越受抑制,反之亦然,這一步保持了抗體的多樣性;
6)新抗體產生:對父代抗體進行交叉、變異操作,新一代抗體產生;
7)重復步驟3)~6),直到滿足終止條件;
8)滿足終止條件,退出計算,輸入問題最優解。
根據自抗擾控制器數學模型,相比于PID控制器,其控制性能較優越,無需建立被控對象的精確模型,但是自抗擾控制器參數變量較多,各參數都能影響控制器的控制性能,為了使控制器達到最優控制性能,需要對各組成參數進行整體,這樣需要整定的參數較多,有h、r、h0、β1、β2、β3、β4、β5、b、δ、a1、a2、a3、a4、a5等,由于目前還沒有一套完整的參數整定規律及方法,如果這么多的參數全部整定,整定過程將會復雜繁瑣,工作量極大,也沒必要對全部參數整定,根據自抗擾控制器各模塊參數可以相互獨立整定的特點,有些參數可以根據經驗及實驗預先選擇固定不變,參考相關文獻,可取h、r、h0、b、δ、a1、a2、a3、a4、a5為固定值,而擴展狀態觀測器ESO為自抗擾控制器的核心部分,其觀測和補償直接影響到整個系統的控制性能,而β1、β2、β3、β4、β5參數是決定觀測和補償效果。因此,只對自抗擾控制器中的β1、β2、β3、β4、β55個參數進行優化整定,其參數優化整定過程如圖5所示。

圖5 基于人工免疫遺傳優化的自抗擾控制器框圖
根據上節討論研究的人工免疫遺傳優化算法可以對多個參數變量目標函數進行參數尋優,人工免疫遺傳優化算法過程中,選擇算子是根據計算適應度函數值大小對抗體進行選擇,適應度函數代表著抗體的優劣程度。于是,該優化算法的尋優過程即為適應度函數具有最大值得過程,因此,可利用其對本文自抗擾控制器中的β1、β2、β3、β4、β55個參數進行優化整定,得到控制性能最優的自抗擾控制器。對自抗擾控制器中的β1、β2、β3、β4、β55個參數整定過程的目標函數與適應度函數密切相關,即自抗擾控制器優化問題的評價目標函數對應為人工免疫遺傳算法的適應度函數。根據本系統要求跟蹤控制過程相應速度快、超調量小、跟蹤誤差小的動態穩定性能,采用ITAE標準作為評價目標函數,其利用輸出誤差絕對值與時間乘積并積分結果性能作為問題求解的最小目標函數。因此,本問題優化的評價目標函數表達式為:


圖6 ADRC Matlab/Simulink仿真圖
式中,e(t)為系統輸出誤差、t為時間,由于自抗擾控制器優化問題的評價目標函數值越小越好,而人工免疫遺傳優化算法則要求抗體個體適應度函數值越大越好。因此,需要把評價目標函數的倒數結果作為人工免疫遺傳優化算法的適應度函數。
自抗擾控制器參數較多,根據以上分析,現只對自抗擾控制器影響性能較大的參數β1、β2、β3、β4、β5優化整定,其余參數取預先固定值不變,即為h、r、h0、b、δ、a1、a2、a3、a4、a5。為了驗證論文提出算法的有效性,首先在Matlab7.0/Simulink平臺中搭建設計機器人的自抗擾控制器仿真模型,如圖6所示。
然后采用本免疫遺傳算法、人工免疫算法和遺傳算法分別對自抗擾控制器參數優化整定仿真,各算法整定優化最終使得控制器收斂穩定輸入,對應的整定優化過程的評定目標函數變化曲線如圖7所示。

圖7 算法優化自抗擾控制器參數對比圖
從曲線圖中可以看出,論文的免疫遺傳算法(AIGA)結果的評價函數值為最小,這也說明了AIGA算法計算速度快、超調量小、結果誤差小的特性;同時,論文人工免疫遺傳算法相比另外兩種算法具有較好的初值尋優,并且迭代次數少,收斂快,加快了搜索速度,同時具有全局尋優、改善遺傳算法陷入局部最小值缺點,從整體上提高了算法的優化效率。
針對服務機器人進行精確運動控制過程中,服務機器人作為一種不確定性、時變性、耦合性、高度非線性的一個完整系統,其動力學數學模型很難精確建立的問題,為了解決這個難題,論文對服務機器人手臂的每個關節獨立設計了自抗擾跟蹤控制器,這種控制器無需精確的數學模型為基礎,但是自抗擾控制器的多個參數需要進行整定組合,并且參數整定利用遺傳算法優化計算時,收斂容易陷入局部最優,存在過于“早熟”的缺陷,導致控制器性能達不到全局最優,為了解決這些問題,提出了一種基于人工免疫遺傳算法優化的服務機器人自抗擾控制器參數整定技術,融合了人工免疫和遺傳算法兩種算法的優點,實現了服務機器人手臂每個關節自抗擾控制器參數整定的全局最優化。最后仿真實驗結果表明人工免疫遺傳算法(AIGA)具有全局尋優能力,從根本上改善遺傳算法過于陷入“早熟”的缺點,抗干擾能力強,并且整體加快了算法速率,提高了算法的優化效率,驗證了論文提出方法的有效性和魯棒性,提高了自抗擾控制器控制的穩定性能。