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