時間:2013-01-10 13:35:00來源:尹蘭 肖世德 李志兵
1 引言
PID控制原理簡單,適應性強,容易實現,是機器人控制的常用方法,PID控制系統設計的核心內容是如何確定其比例系數Kp、積分常數Ti和微分常數Td的最優解。控制參數的選定直接影響仿人機器人控制系統的響應速度、調節偏差的強度,以及控制系統的精度。
針對PID控制參數確定,主要有傳統參數整定方法以及結合智能算法對參數進行優化。傳統參數整定方法主要有試湊法、經驗數據法和擴充臨界比例度法。應用傳統參數整定方法有時并不能達到有效的控制效果。近年來,隨著智能算法的發展,模糊算法、神經網絡以及遺傳算法等都運用到PID參數優化當中。
其中遺傳算法是一種新型的、模擬生物進化機制的隨機化搜索和優化方法,具有并行計算、全局收斂、編碼操作等特點。由于其算法結構的開放性,易于與問題結合,便于運算,已成功的應用于求解多種復雜的優化問題,遺傳算法的特點使得將其運用于PID參數的優化是可行的。
針對仿人機器人PID控制參數優化存在的問題,結合智能算法的優勢,本文提出了一種自適應遺傳算法優化PID控制參數的方法,并在ADAMS環境下進行了仿真,得到較為滿意的結果,表明該方法是可行且有效的。
2 仿人機器人關節PID控制
2.1 常規PID控制原理
PID作為最早實用化的控制調節方法,是模擬控制系統中技術最成熟的一種調節方式。PID調節根據給定值與實際值的偏差進行比例調節,并且引入積分、微分環節提高控制系統的性能和品質,其基本控制流程如圖1。
圖1 PID控制過程示意圖
在PID控制中,Kp、Ti和Td這3個參數的選擇直接影響著PID控制的優劣,所以PID控制的設計關鍵問題始終是如何選擇這三個參數。常規的PID控制器由于受到參數設定不良、性能欠佳以及對運行工況適應性較差的影響,往往達不到理想的控制效果,從而使PID控制的應用受到限制。
遺傳算法是一種借鑒生物界自然選擇和自然遺傳機制的隨機化搜索方法,屬于直接搜索法,對適應度函數基本無限制,既不要求函數連續,也不要求函數可微,因而采用遺傳算法對PID參數進行調節是一種較好方法。但是,標準遺傳算法在線性方面具有一些不足之處,而自適應遺傳算法則是針對這些不足之處改進而來的。所以本文采用的是自適應遺傳算法來優化PID參數。
2.2 基于自適應遺傳算法PID參數優化
在仿人機器人行走仿真控制過程中,僅保證機器人行走過程的穩定性還不夠,為了能夠提高控制系統的響應速度與控制精度,必須尋找仿人機器人控制系統的最優PID控制參數以充分發揮控制系統的性能。基于遺傳算法的PID控制系統框圖,如圖2。
圖2 遺傳算法優化PID控制原理框圖
2.2.1 自適應遺傳算法
自適應遺傳算法針對標準遺傳算法進行如下改進:
1)根據適應度函數和進化代數自動調整個體的交叉率和變異率,AGA自適應交叉率、變異率按如下公式進行調整。
通過這種遺傳算子的調整,當種群個體適應度較差時,賦予種群個體交叉算子的最大值和變異算子的最小值,保證算法能在進化過程中進行全局搜索;當個體適應度值較大時(個體優良),隨迭代次數的增大,不斷的減小交叉算子、增大變異算子,從而提高算法的局部搜索能力。
2)最優個體保留策略與新個體優良判別。通過對交叉、變異后產生的新個體進行適應度值的計算,并與原來個體的適應度值進行比較,能夠有效選擇更為優良的個體。
經過對標準遺產算法改進后的自適應遺傳算法除了具有標準遺傳算法的優點外,還具有如下優點:
1) 避免過早收斂問題,提高全局搜索能力;
2) 避免算法收斂時產生振蕩,提高局部搜索能力;
3) 使遺傳算子具有方向性,提高遺傳算法的收斂性。
2.2.2 AGA程序設計
在AGA設計過程中,需要使用一系列算法參數,如選擇、交叉、變異算子以及最大迭代次數等,在編寫算法之前,先確定其相關參數。
1) 確定遺傳算法的優化參數
在遺傳算法設計中,算法基因與優化參數沒有直接的聯系,因此首先確定算法需要優化的參數:PID控制參數比例調節常數Kp、積分常數Ti和微分常數Td。通過選擇最優控制參數保證仿人機器人的控制精度和響應速度。
2) 遺傳算法編碼
編碼是將問題的解用一種代碼方式表示,從而將問題的狀態空間與遺傳算法的解空間相對應。編碼方式的不同不僅決定了染色體的形式,而且很大程度的影響遺傳算子(選擇算子、交叉算子、變異算子)的運算方式。編碼方式對于不同的優化問題有所不同。主要的編碼方式有:0-1編碼、順序編碼、實數編碼和整數編碼。
本文為了保證優化的最優參數有足夠的精度,采用實數編碼的方式對PID控制參數進行編碼,與之對應的染色體形式為:
3) 種群初始化
初始種群是遺傳算法進行迭代優化的起點,其產生方式主要取決于編碼方式,本文采用隨機函數產生遺傳算法的初始種群。
4) 種群規模ps
在遺傳算法優化過程中,種群規模ps的確定對算法實現有重要影響。種群規模ps過小,則種群缺乏多樣性,將導致進化的過早收斂,種群規模過大,則會導致計算收斂變慢,影響遺傳算法的效率,此外種群規模對算法的選擇壓力和種群多樣性等其他因素都有影響。因此合理的種群規模對算法十分重要,本文通過反復實驗,最終確定種群規模為ps=20。
5) 適應度函數
在自適應遺傳算法(AGA)中,適應度函數幾乎是評價種群個體優良的唯一標準,群個體的選擇復制、交叉、變異都與適應度函數密切相關。適應度函數通常有兩種設計方法:第一種,原始適應度函數,也就是直接將目標函數作為個體的適應度函數;第二種,標準適應度函數,由于遺傳算法求解過程中,適應度函數通常要求非負,且適應度函數越大,則種群個體越優良,通常目標函數需要做一定變換才能獲得標準適應度函數。
本文中,仿人機器人控制系統主要控制仿人機器人關節力矩,通過力矩驅動仿人機器人關節運動,并保證仿人機器人實際輸出的關節位移與理論關節位移相符合。因此本文中將仿人機器人行走過程中實際關節軌跡與理論關節軌跡的最大偏差作為控制的目標函數,目標函數越小,則控制精度越高,由于適應度函數要求適應度函數值越大,則個體越優良,因此,在這里需要對目標函數做一定的更改,將目標函數的最小值與適應度函數的最大值相對應,具體的辦法是通過一個較大的數減去目標函數,獲得適應度函數值,其函數關系關系式為:
6) 遺傳算子的確定
遺傳算法的基本思想就是優勝劣汰,主要通過選擇、交叉、變異方法,隨進化代數的增加,最終獲得最優個體。在進化過程中,選擇算子、交叉和變異算子對算法性能產生很大的影響。
在遺傳算法的設計中,不同的選擇策略會導致不同的選擇壓力,選擇壓力過大,優秀個體復制較多,會導致算法收斂過快,最終導致早熟現象,壓力過小,則種群多樣化明顯,會導致算法收斂過慢。常見的選擇策略有:輪盤賭式選擇、基于排名的選擇和錦標賽選擇。
本文中針對算法的適應度函數,采用適應度比例選擇策略,如式5-3所示。同時對此方法做一定的修改,通過精英保留策略,在算法的后期,直接保留最優個體的基因,通過這種方法,可以有效避免在遺傳算法的后期丟失最優個體的可能。
7) 終止條件確定
遺傳算法的常見終止條件有兩種,第一,實際值與期望值的偏差在公差允許的范圍內時,算法迭代終止。第二,采用遺傳算法的最大迭代次數作為算法的終止條件,并將最后一代種群中最優個體作為最優解輸出。本文采用第二種算法終止方法,并規定最大迭代次數為20代。
3 仿真研究
3.1 遺傳算法在ADAMS中的實現
根據上述自適應遺傳算法對PID參數進行優化的基本思想,基于VC++語言編寫AGA優化程序,通過ADAMS自帶的控制工具箱,建立基于自適應遺傳PID算法的控制系統,進行仿真,驗證虛擬樣機模型的正確性。
構建AGA結合ADAMS的仿真流程圖。在優化設計過程中,ADAMS首先對接口進行初始化,將優化目標函數、設計變量與范圍傳遞到遺傳算法中,通過遺傳算法產生初始群體,并將參數提交給ADAMS進行目標函數計算,遺傳算法根據目標函數值計算個體適應度。然后判斷終止條件,如果未達到終止條件,則通過遺傳進化產生新種群,計算新的適應度值;如果滿足終止條件,則向ADAMS提交最優解及相關參數,并終止優化程序。如圖3。
圖3 AGA在ADAMS中仿真流程圖
其中將遺傳算法引入ADAMS中,可以不用考慮遺傳算法優化中機械系統的數學模型,就能很方便獲得適應度函數值,簡化了遺傳算法的設計過程。
根據仿真流程圖,以控制仿人機器人左膝關節軌跡為例,建立優化算法控制系統,進行仿真。
首先,建立優化設計的設計變量,即variable_P、variable_I、variable_D。由于遺傳算法具有很強的全局尋優能力,因此確定variable_P的范圍為[1,2500],variable_I的范圍為[1,500],variable_D的范圍為[1,2500],并將三個設計變量與控制系統PID環節關聯以保證遺傳算法的全局搜索。
其次,建立優化目標函數。以實際關節軌跡與理論關節軌跡差值的絕對值作為設計目標,目標函數值越小,控制精度越高。由于機器人關節軌跡為復雜的分段函數,為方便起見,采用樣條擬合的方法將理論軌跡輸入到ADAMS中。
最后,通過ADAMS的DesignEvaluationTools確定優化目標與設計變量,并設置優化的相關屬性,如顯示設置、輸出設置以及優化參數設置,將‘Optimizer…’中的優化算法設置為‘User1’,并進行仿真。
3.2 PID參數優化后處理
從優化結果來看,PID控制精度有明顯的提高,AGA算法以最大迭代次數作為終止條件,收斂速度相對較慢但優化結果準確,說明遺傳算法具有較強的全局尋優能力。
進入ADAMS/PostProcessor模塊,可以將AGA優化仿真結果跟ADAMS軟件自帶的SQP優化模塊仿真結果進行對比,圖4的上半部分為AGA優化結果,下半部分為SQP優化結果,在兩種算法中,控制偏差隨時間的變化趨勢大體相同,且偏差值大小相比為優化前都有大幅的減小,充分體現了優化設計在控制系統中的作用,如圖4。
圖4 優化目標函數值對比
此外通過對目標函數進行數據處理,查看目標函數在控制過程中的最大值、最小值以及平均偏差值,可知使用遺傳算法進行的控制優化,無論目標函數的最大值還是平均值,都比采用ADAMS自帶的SQP算法的計算結果要小,見表1。
表1 目標函數各項數值對比
將AGA優化后的仿人機器人左膝關節角運動過程的實際軌跡跟理論軌跡重合情況跟優化前進行比較,圖中,藍色虛線表示關節角的實際軌跡,紅色實線表示關節角的理論軌跡。仿真結果,如圖5和圖6。
圖5 優化前關節理論與實際軌跡重合情況
圖6 優化后關節理論與實際軌跡重合情況
比較圖6與圖7中可以看出,控制系統經過自適應遺傳算法優化后,其控制性能較之優化前有極大提升,關節運動的實際軌跡與理論軌跡更加接近,保證了仿人機器人行走的穩定性、可控制精度,提高了控制系統的實時響應速度,證明了基于遺傳算法的PID控制系統參數優化方法的正確性。
4 結論
針對仿人機器人PID控制系統參數確定存在的問題,本文提出了基于自適應遺傳算法定PID控制參數優化方法。將三個參數作為遺傳算法的個體,采用仿人機器人的理論關節軌跡與實際關節軌跡的最大偏差值作為目標函數,適應度函數與之相對應,采用適應度比例選擇策略,可以有效避免在遺傳算法的后期丟失最優個體的可能,以保證機器人控制系統參數選擇精度。通過ADAMS仿真結果對比分析,優化后的仿人機器人控制系統的控制精度、響應速度都有明顯提高,說明了基于自適應遺傳算法的PID控制能夠得到比傳統PID控制更優的結果。
參考文獻
[1]金奇,鄧志杰.PID控制原理及參數整定方法[J].重慶工學院學報,2011(7):91-94.
[2]于曉敏,于曉坤,耿蕊.PID控制器參數優化算法的仿真研究[J].計算機仿真,2008(5):212-215.
[3]姜玉春,吳紅燕.PID控制器的參數整定[J].萊鋼科技,2006(2):54-55.
[4]朱盈,朱俊.多種PID控制及其仿真比較[J].工業控制計算機,2010(1):53-54.
[5]牛薌潔,王玉潔,唐劍.基于遺傳算法的PID控制器參數優化研究[J].計算機仿真,2010(11):180-182.
[6]WANGP,KWOKDP. OptimaldesignofPIDprocesscontrollersbasedongeneticalgorithms[J].ControlEngPrac,1994,2(4):641-648.
[7]楊智民,王旭,莊顯義.遺傳算法在自動控制領域中的應用綜述[J].信息與控制,2000,29(4)14-17.
[8]張可村,李換琴.工程優化方法及其應用[M].西安:西安交通大學出版社,2007.
[9]黃友銳.智能優化算法及其應用[M].北京:國防工業出版社,2008.
標簽:
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
相關資訊
產品新聞
更多>2025-04-30
2025-04-11
2025-04-08
2025-03-31
2025-03-26
2025-03-20