基于AGA的仿人機器人PID控制參數優(yōu)化
2.2.2 AGA程序設計
在AGA設計過程中,需要使用一系列算法參數,如選擇、交叉、變異算子以及最大迭代次數等,在編寫算法之前,先確定其相關參數。
在遺傳算法設計中,算法基因與優(yōu)化參數沒有直接的聯系,因此首先確定算法需要優(yōu)化的參數:PID控制參數比例調節(jié)常數Kp、積分常數Ti和微分常數Td。通過選擇最優(yōu)控制參數保證仿人機器人的控制精度和響應速度。
2) 遺傳算法編碼
編碼是將問題的解用一種代碼方式表示,從而將問題的狀態(tài)空間與遺傳算法的解空間相對應。編碼方式的不同不僅決定了染色體的形式,而且很大程度的影響遺傳算子(選擇算子、交叉算子、變異算子)的運算方式。編碼方式對于不同的優(yōu)化問題有所不同。主要的編碼方式有:0-1編碼、順序編碼、實數編碼和整數編碼。
本文為了保證優(yōu)化的最優(yōu)參數有足夠的精度,采用實數編碼的方式對PID控制參數進行編碼,與之對應的染色體形式為:
3) 種群初始化
初始種群是遺傳算法進行迭代優(yōu)化的起點,其產生方式主要取決于編碼方式,本文采用隨機函數產生遺傳算法的初始種群。
4) 種群規(guī)模ps
在遺傳算法優(yōu)化過程中,種群規(guī)模ps的確定對算法實現有重要影響。種群規(guī)模ps過小,則種群缺乏多樣性,將導致進化的過早收斂,種群規(guī)模過大,則會導致計算收斂變慢,影響遺傳算法的效率,此外種群規(guī)模對算法的選擇壓力和種群多樣性等其他因素都有影響。因此合理的種群規(guī)模對算法十分重要,本文通過反復實驗,最終確定種群規(guī)模為ps=20。
5) 適應度函數
在自適應遺傳算法(AGA)中,適應度函數幾乎是評價種群個體優(yōu)良的唯一標準,群個體的選擇復制、交叉、變異都與適應度函數密切相關。適應度函數通常有兩種設計方法:第一種,原始適應度函數,也就是直接將目標函數作為個體的適應度函數;第二種,標準適應度函數,由于遺傳算法求解過程中,適應度函數通常要求非負,且適應度函數越大,則種群個體越優(yōu)良,通常目標函數需要做一定變換才能獲得標準適應度函數。
本文中,仿人機器人控制系統(tǒng)主要控制仿人機器人關節(jié)力矩,通過力矩驅動仿人機器人關節(jié)運動,并保證仿人機器人實際輸出的關節(jié)位移與理論關節(jié)位移相符合。因此本文中將仿人機器人行走過程中實際關節(jié)軌跡與理論關節(jié)軌跡的最大偏差作為控制的目標函數,目標函數越小,則控制精度越高,由于適應度函數要求適應度函數值越大,則個體越優(yōu)良,因此,在這里需要對目標函數做一定的更改,將目標函數的最小值與適應度函數的最大值相對應,具體的辦法是通過一個較大的數減去目標函數,獲得適應度函數值,其函數關系關系式為:
6) 遺傳算子的確定
遺傳算法的基本思想就是優(yōu)勝劣汰,主要通過選擇、交叉、變異方法,隨進化代數的增加,最終獲得最優(yōu)個體。在進化過程中,選擇算子、交叉和變異算子對算法性能產生很大的影響。
在遺傳算法的設計中,不同的選擇策略會導致不同的選擇壓力,選擇壓力過大,優(yōu)秀個體復制較多,會導致算法收斂過快,最終導致早熟現象,壓力過小,則種群多樣化明顯,會導致算法收斂過慢。常見的選擇策略有:輪盤賭式選擇、基于排名的選擇和錦標賽選擇。
本文中針對算法的適應度函數,采用適應度比例選擇策略,如式5-3所示。同時對此方法做一定的修改,通過精英保留策略,在算法的后期,直接保留最優(yōu)個體的基因,通過這種方法,可以有效避免在遺傳算法的后期丟失最優(yōu)個體的可能。
7) 終止條件確定
遺傳算法的常見終止條件有兩種,第一,實際值與期望值的偏差在公差允許的范圍內時,算法迭代終止。第二,采用遺傳算法的最大迭代次數作為算法的終止條件,并將最后一代種群中最優(yōu)個體作為最優(yōu)解輸出。本文采用第二種算法終止方法,并規(guī)定最大迭代次數為20代。
3 仿真研究
3.1 遺傳算法在ADAMS中的實現
根據上述自適應遺傳算法對PID參數進行優(yōu)化的基本思想,基于VC++語言編寫AGA優(yōu)化程序,通過ADAMS自帶的控制工具箱,建立基于自適應遺傳PID算法的控制系統(tǒng),進行仿真,驗證虛擬樣機模型的正確性。
構建AGA結合ADAMS的仿真流程圖。在優(yōu)化設計過程中,ADAMS首先對接口進行初始化,將優(yōu)化目標函數、設計變量與范圍傳遞到遺傳算法中,通過遺傳算法產生初始群體,并將參數提交給ADAMS進行目標函數計算,遺傳算法根據目標函數值計算個體適應度。然后判斷終止條件,如果未達到終止條件,則通過遺傳進化產生新種群,計算新的適應度值;如果滿足終止條件,則向ADAMS提交最優(yōu)解及相關參數,并終止優(yōu)化程序。如圖3。
圖3 AGA在ADAMS中仿真流程圖
其中將遺傳算法引入ADAMS中,可以不用考慮遺傳算法優(yōu)化中機械系統(tǒng)的數學模型,就能很方便獲得適應度函數值,簡化了遺傳算法的設計過程。
根據仿真流程圖,以控制仿人機器人左膝關節(jié)軌跡為例,建立優(yōu)化算法控制系統(tǒng),進行仿真。
首先,建立優(yōu)化設計的設計變量,即variable_P、variable_I、variable_D。由于遺傳算法具有很強的全局尋優(yōu)能力,因此確定variable_P的范圍為[1,2500],variable_I的范圍為[1,500],variable_D的范圍為[1,2500],并將三個設計變量與控制系統(tǒng)PID環(huán)節(jié)關聯以保證遺傳算法的全局搜索。
其次,建立優(yōu)化目標函數。以實際關節(jié)軌跡與理論關節(jié)軌跡差值的絕對值作為設計目標,目標函數值越小,控制精度越高。由于機器人關節(jié)軌跡為復雜的分段函數,為方便起見,采用樣條擬合的方法將理論軌跡輸入到ADAMS中。
最后,通過ADAMS的DesignEvaluationTools確定優(yōu)化目標與設計變量,并設置優(yōu)化的相關屬性,如顯示設置、輸出設置以及優(yōu)化參數設置,將‘Optimizer…’中的優(yōu)化算法設置為‘User1’,并進行仿真。
pid控制相關文章:pid控制原理
dc相關文章:dc是什么
pid控制器相關文章:pid控制器原理
評論