艾青林 蔣錦濤 劉剛江 宋國正 徐巧寧
(浙江工業(yè)大學特種裝備制造與先進加工技術教育部/浙江省重點實驗室 杭州310023)
近年來,全國各地各種大型復雜建筑不斷新增,其中鋼結構被廣泛應用于體育場、橋梁和鐵路交通設施等[1]。然而有些鋼結構建筑由于施工問題和多年超負荷運營可能造成各種安全事故。因此對大型鋼結構建筑進行損傷檢測和即時維護顯得尤為重要。目前鋼結構建構損傷檢測方法中,應用最為廣泛的是傳統(tǒng)數據采集方法,但是過程繁雜且效率低,存在著檢測區(qū)域盲點和檢測內容不全面等問題。
本文采用了一種柔性移動機器人對鋼結構進行探傷,該機器人使用柔性鋼帶連接前后車體,并采用磁力輪吸附在鋼結構建筑上。該機器人可以在鋼結構建筑上翻越障礙,自主運動到目標位置進行定點損傷檢測[2]。柔性機器人前后車體缺少剛性約束,屬于非完整約束的非線性系統(tǒng),其運動學與動力學建模非常復雜,難以對其運動姿態(tài)進行實時高精度控制。
針對外形細長、多模塊的水下滑翔蛇形機器人,文獻[3]基于動量定理、動量矩定理以及遞推牛頓-歐拉法,建立了機器人滑翔運動和蛇形游動的動力學模型。文獻[4]提出了一種基于非線性滑??刂疲↗STDE)的自適應控制技術,適用于動力學不確定的外骨骼機器人。但是滑??刂剖沟孟到y(tǒng)在滑模面附近高速切換,將會產生高頻抖振問題。文獻[5]采用改進近似法設計了分數階比例積分微分(proportional integral derivative,PID)控制器,實現(xiàn)對四旋翼飛行器的姿態(tài)控制和位置跟蹤,但在分數階PID 階次整定上采用了低效、低精度的手動調整。
本文將柔性機器人前后車體視為一級倒立擺[6],建立柔性機器人整體動力學模型,采用基于改進遺傳算法與模糊分數階PID 控制方法[7],對分數階PID 階次與參數進行整定優(yōu)化,實現(xiàn)機器人運動姿態(tài)高精度實時控制。最后通過柔性機器人姿態(tài)控制仿真實驗,驗證模糊分數階PID 控制器對柔性機器人運動姿態(tài)控制的高效性和穩(wěn)定性。
柔性機器人結構如圖1 所示,首先分析其各個部分的運動和受力狀態(tài),建立車輪、車體及柔性鋼帶的數學方程,通過對方程的化簡和整合,最終得出柔性機器人的整體動力學模型。
圖1 柔性機器人示意圖
為了便于分析和計算,對柔性機器人做以下假設:車身車輪等視為理想剛體,車輪保持純滾動運動而無滑動,忽略機器人各部件之間的摩擦力。由于柔性鋼帶對前后車體的運動束縛,柔性機器人的前后車體保持相對稱的運動狀態(tài),即俯仰角相同。由于本文是對柔性機器人的俯仰角進行控制,因此忽略水平面上的偏航角所帶來的干擾,即設定左右車輪無速度差。
如圖2 所示,將大撓度變形的柔性鋼帶簡化為由彈簧、阻尼器、滑塊和連接桿組成的等效結構。柔性鋼帶的形變-受力特性與彈簧阻尼類似,其關系與等效結構的相互對應。
圖2 鋼帶等效結構模型
等效結構的受力情況如圖3 所示,其中點P為等效滑塊的初始位置,點M、M′為左右車輪的對稱中心,點N、N′為等效滑塊的瞬時位置。|MM′|=d表示前后車輪之間的實時距離。|NN′|=D表示連接桿的長度,即柔性鋼帶的原始長度。|PN |=XD表示等效滑塊位移。對等效滑塊進行受力分析:
圖3 等效結構受力分析圖
式中,MD為等效滑塊質量,XD為等效滑塊位移,FA為連接桿對車體的垂直分力,FB為連接桿對車體的水平分力,c為阻尼系數,k為彈簧系數,θ為車體俯仰角。
柔性機器人前后車輪的相對距離:
式中,d為前后車輪距離,XR1為后車輪水平位移,XR2為前車輪水平位移,α為斜坡軌道傾斜角度。
等效滑塊的位移:
式中,D為鋼帶原長;d0為等效滑塊初始位置與車輪對稱中心的偏移量,默認為0。
通過式(1)、(3)、(4),可得:
圖4 為后車輪的瞬時受力圖,其中點C1為車輪質心。對柔性機器人的車輪進行受力分析,在水平與豎直方向上為
圖4 車輪受力分析圖
式中,MR為車輪質量,FN為后車體對車輪的水平分力,f為車輪摩擦力,FC為磁力,FG為支持力。
式中,YR1為后車輪豎直位移,FM為后車體對車輪的豎直分力,g為重力加速度。
車輪轉矩:
式中,JR為車輪轉動慣量,θR1為后車輪轉動角度,TR1為后車輪轉矩,R為車輪半徑。
柔性機器人運動軌跡受到斜坡軌道的限制,由此可得到車輪水平、垂直加速度之間的關系:
車輪磁鐵的磁力使得車輪吸附在軌道上,則在垂直于軌道的方向上車輪保持受力平衡:
車輪位移加速度和轉動角加速度的關系為
圖5 為柔性機器人后車體的瞬時受力圖,其中點C1為車輪質心,點C2為車體質心,|C1C2|=L。F′N、F′M、T′R1分別是圖4 中FN、FM、TR1的反作用力、力矩,數值大小相同,作用方向相反。分析可得后車體在水平和豎直方向上的受力方程。
圖5 車體受力分析圖
式中,MO為車體質量,XO為后車體質心水平位移。
式中,YO為后車體質心豎直位移。
車體轉矩:
式中,JO為車體轉動慣量,L為車體與車輪質心距離,a為車體高度。
車體質心與車輪質心位置坐標關系如下:
將前文中車輪、車體和等效結構三者公式進行化簡整理,即可得到柔性機器人整體的模型。
將式(9)、(12)代入式(8)后,化簡得到摩擦力f的表達式:
將式(11)帶入式(6),化簡得:
結合式(15)、(18)可獲得柔性機器人后車體的動力學方程為
式中,ai、bi(i=4) 分別是已知表達式,FB、f已在前文中求出其表達式。FN、FM可以通過將式(2)、(10)、(16)代入式(13)、(14)后計算得到。
前后車體保持對稱的狀態(tài),因此前車體動力學方程與后車體動力學方程格式一致,區(qū)別在于車體質心位移以及電機產生的力矩。將前后車體的兩組方程結合,最終可以得到輸入力矩(TR1、TR2)、俯仰角(θ)和前后車體位移(XR1、XR2) 三者之間高度耦合的關系方程組。
柔性機器人屬于高度非線性與不確定性系統(tǒng),存在欠驅動。在運動姿態(tài)控制上如果要應用PID 控制等傳統(tǒng)方法[8],須先對其動力學方程做解耦處理。而且傳統(tǒng)控制方法精度不高,抵抗不確定干擾和降抖振能力差。因此本文選擇具有自調節(jié)特性的模糊控制方法,并將其與分數階PID(fractional-order PID,FOPID)控制相結合。同時使用改進遺傳算法,對分數階PID 階次進行最優(yōu)化整定,進一步提高整個控制系統(tǒng)的魯棒性。
實際應用中,傳統(tǒng)PID 控制器需要憑借經驗和固定公式來選擇合適的比例、積分、微分系數,對復雜模型的控制效果不佳。PID 控制方法的控制規(guī)律可以描述為
式中,Kp為比例系數,Ki為積分系數,Kd為微分系數,e(t) 為系統(tǒng)誤差。
分數階PID 控制是整數階PID 控制器的一個拓展,也是現(xiàn)代控制理論中一個逐漸被人們廣泛應用的分支[9]。相比于整數階PID 控制器的Kp、Ki、Kd3 個控制參數,還增加了積分階次λ和微分階次μ。分數階微積分的基本操作算子為,其表達式如式(21)所示[10]。
式中,a和t分別是分數階微積分操作算子的上下限,α為微分(α >0) 的階次或者積分(α <0) 的階次。
分數階PID 控制器的傳遞函數為
式中,λ是積分階次,μ是微分階次,e(t)=r(t)-y(t) 是控制器輸入,u(t) 是控制器輸出。
分數階PID 控制器的2 個參數λ和μ可以是0到1 之間的任意值。通過式(20)和(22)的對比可以看出,分數階PID 控制器要比傳統(tǒng)整數階PID 控制器更加靈活,控制更加精確。最常用的分數階微積分定義分別是Riemann-Liouville(RL) 定義和Grunwald-Letnikov(GL)定義。本文選用更加適合數值計算的GL 定義[11]:
式中,α是微積分的階數,h是假定的非常小的步長,
用以下的離散形式來表達分數階微積分算子:
式中,T=1/h為采樣時間;kj為二項式系數,其定義為k0=1,
由式(24)可知,要實現(xiàn)分數階微分積分算子,需要計算無窮大的系數。但這在實際的應用中無法實現(xiàn),因此要對分數階微積分算子進行離散化計算或者近似計算處理。在式(24)中求和計算分數階算子時,只使用其中一部分值來近似化解。因此可以將式(24)簡化為
由于柔性機器人是高度非線性系統(tǒng),純粹的分數階PID 控制器難以實現(xiàn)理想的控制效果。因此,本文在分數階PID 的基礎上加入模糊控制,對分數階PID 的比例、積分、微分系數進行動態(tài)調整[12],提高控制器的自適應能力。
模糊分數階PID 控制器(fractional order fuzzy PID controller,FOFPID)以誤差E和誤差的變化率EC作為輸入變量,以ΔKp、ΔKi、ΔKd3 個參數作為輸出變量。設定2 個輸入變量的論域為{-6 ≤IN≤6,IN∈N},3 個輸出變量論域為{-10 ≤OUT≤10,OUT∈N}。輸入、輸出變量的語言值模糊子集為{負大、負中、負小、零、正小、正中、正大},記作{NB、NM、NS、Z、PS、PM、PB}。選用三角形的隸屬度函數,將輸入輸出值映射到合適的區(qū)域內。綜上所述,模糊分數階PID 控制器可表示為
由上述公式可以得到模糊分數階PID 控制器的結構,如圖6 所示。
圖6 模糊分數階PID 控制器
模糊控制的加入使控制器的控制參數從3 個增加到5 個,導致手動調節(jié)控制參數的方法顯得繁瑣且難以滿足各項控制指標,需要引入更高效的參數優(yōu)化算法。
本文選用遺傳算法(genetic algorithms,GA)實現(xiàn)對分數階PID 階次的整定,控制器如圖7 所示。遺傳算法輸出λ、μ參數給分數階PID,分數階PID輸出控制力矩給被控模型。完成參數整定后,柔性機器人運動姿態(tài)控制仿真中便不再使用遺傳算法。
圖7 遺傳算法整定參數
遺傳算法中最為關鍵的是適應度函數以及3 個遺傳算子(選擇、交叉、變異)的確定[13]。
適應度函數為Fitness=1/(F+A),在控制過程中如果沒有出現(xiàn)超調,則最小目標函數F使用式(27);反之則使用式(28),采用懲罰功能來減少超調的出現(xiàn)[14]。
式中,e(t) 是系統(tǒng)誤差,u(t) 是控制器輸出,w1、w2、w3、w4是加權值,tu是上升時間。
交叉概率決定遺傳算法的全局搜索能力,變異概率決定算法的局部搜索能力,影響種群更新速度以及是否會陷入局部最優(yōu)解[15]。傳統(tǒng)算法交叉和變異概率是常數,且難以調整到最佳值。本文采用自適應遺傳算法(adaptive GA,AGA),交叉和變異概率公式如下所示。
式中,pc為交叉概率,pc1、pc2為最大、最小交叉概率,pm為變異概率,pm1、pm2為最大、最小變異概率,f為個體的適應度值,fa為每一代種群的平均適應度值,fm為種群中最大的適應度值,f′為將要進行交叉的2 個個體中較大的適應度值。
改進遺傳算法在仿真早期有著較強的全局搜索能力,在仿真后期局部搜索能力得到提高,能夠更精確地迭代出最優(yōu)解。
通過2 個相同的模糊分數階PID 控制器,對柔性機器人的前后車體的俯仰角進行控制。根據柔性機器人動力學模型輸出的俯仰角θ1,控制器實時調整電機的力矩TR1輸出給后車輪,形成閉環(huán)控制。柔性機器人的前車體俯仰角控制過程與后車體的相似,整體控制器如圖8 所示。
圖8 柔性機器人控制器
采用仿真軟件Matlab/Simulink 對基于改進遺傳算法與模糊分數階PID 的柔性機器人姿態(tài)控制進行仿真研究。柔性機器人的各項參數值為:MO=0.342 kg,MR=0.11 kg,MD=0.005 kg,k=25 N/m,c=0.8 N·s/m,J0=2.96×10-4kg·m2,R=0.04 m,L=0.017 m,a=0.025 m,D=0.15 m。
通過改進遺傳算法的迭代運算,對分數階PID的階次λ、μ進行參數整定。設定初始種群的大小為30,總共進行50 次的迭代,種群選擇率為40%,雜交概率為60%~80%,變異概率為0.1%~10%。目標函數的各項系數為w1=0.999,w2=0.001,w3=2,w4=100。
圖9 是整定分數階PID 階次λ、μ時,每一次迭代中適應度最高的一組值。在20 °斜坡軌道的環(huán)境中,分數階PID 階次最終整定為λ=0.8859、μ=0.5366。在求解階次μ時,改進遺傳算法在仿真前期快速找到近似解0.7994,同時并沒有陷入“早熟”,進一步地迭代出新的參數值0.5372。在仿真后期,算法具備高效的局部搜索能力,對參數值進行細微調整以得到最優(yōu)解0.5366。階次λ同樣經歷多次迭代更新,最終得到最優(yōu)值。
圖9 分數階PID 階次整定圖
從適應度曲線可以看到,每一次的算法迭代,最優(yōu)解的適應度數值都沒有下降,并且在仿真后期也有小幅提高??梢姼倪M后的遺傳算法,在保護高適應度個體的同時,又能夠有效地避免“早熟”,使參數值盡可能地趨近最優(yōu)解。
選擇在不同工況下進行運動仿真,來驗證模糊分數階PID 控制器對于柔性機器人運動姿態(tài)的控制效果。
柔性機器人在水平面上運動,維持俯仰角分別為10 °、20 °、30 °,控制效果見圖10。在維持較大俯仰角的情況下仿真前期產生較大超調量,但是模糊分數階PID 控制器能快速地調整被控模型的運動姿態(tài),減小超調量,實現(xiàn)預期控制目標。在仿真后期,保持良好的穩(wěn)定性和極低的穩(wěn)態(tài)誤差,未產生明顯的抖振。
圖10 水平面俯仰角控制圖
柔性機器人維持15 °的俯仰角,在傾斜角分別為10 °、20 °、30 °的斜坡上運動,控制效果見圖11。從圖中可以看出,在斜坡軌道上運動,被控模型在仿真初期產生的超調量比水平面仿真時大幅減小。仿真后期的穩(wěn)態(tài)誤差有所增大,但維持在0.2 °以內,滿足控制要求。
圖11 不同坡度俯仰角控制圖
綜上所述,在較平緩的軌道上維持較小俯仰角運動時,模糊分數階PID 控制器的控制效果良好,超調量低,調節(jié)時間短且穩(wěn)態(tài)誤差小。在坡度較大的軌道上維持較大俯仰角運動時,被控模型在仿真前期出現(xiàn)較大的超調量,但仍保持高效的調節(jié)速度,同時抖振得到了有效的抑制。
為了進一步說明模糊分數階PID 控制器對于柔性機器人的運動姿態(tài)控制效果良好,選擇了多個控制算法進行對比。在20 °的斜坡軌道上,使用普通PID 控制器、模糊PID 控制器(FPID)以及模糊分數階PID 控制器(FOFPID)這3 種控制方法來控制柔性機器人,仿真結果如圖12 所示。
圖12 不同控制器俯仰角控制圖
圖12 中,柔性機器人在模糊分數階PID 控制器的控制下,在1.09 s 首次達到預期運動姿態(tài)角度,在6.02 s 達到運動穩(wěn)態(tài),最大超調量僅為20.46%。使用普通PID 控制器,系統(tǒng)超調量極大,長時間無法達到穩(wěn)定控制,且存在明顯的大幅度抖振。使用模糊PID 控制器,同樣存在超調量過大的問題,雖然控制后期逐漸實現(xiàn)了穩(wěn)定控制,但調節(jié)時間過長,不利于柔性機器人的實時控制。模糊分數階PID 控制器控制效果明顯優(yōu)于另兩種控制器,能快速達到預期控制狀態(tài),且整個控制器輸出平滑穩(wěn)定、后期的穩(wěn)態(tài)誤差小、抖振極弱。
通過表1 對比分析也可看出,模糊分數階PID控制器在調節(jié)時間、超調量和穩(wěn)態(tài)誤差等指標上有著更佳的控制性能。
表1 不同控制器的控制指標
圖13 是3 種控制器在20 °的斜坡軌道上,維持被控模型15 °俯仰角時,被控模型的俯仰角角速度變化曲線圖。模糊分數階PID 控制器所產生的最大角速度為14.01 °/s,遠小于另外2 種控制器。同時被控模型的俯仰角角速度變化平緩平滑,在仿真后期趨近0。在另外2 種控制器的控制下,被控模型的俯仰角角速度波動較大,存在多處突變點,且存在明顯抖振。
圖13 不同控制器俯仰角角速度
圖14、15 是3 種控制器在20 °的斜坡軌道上,維持被控模型15 °俯仰角時,被控模型俯仰角的角加速度變化曲線圖。
如圖14 所示,在模糊分數階PID 控制器控制下,被控模型啟動時存在一個較大的角加速度,在趨近目標角度時產生一段小幅度的抖振,隨后抖振被抑制,角加速度曲線中后期整體平滑且數值趨近于0。
圖14 FOFPID 控制器俯仰角角加速度
圖15 表示模糊PID 控制器與普通PID 控制器的角加速度控制效果圖。其中,在模糊PID 控制器控制下,不僅啟動時有一個較大的角加速度,還存在多處突變點,最大達到869.15 °/s2。在普通PID 控制器的控制下,存在一段較長時間的抖振,有多處角加速度的突變,最大達到994.60 °/s2。在實際的應用中,圖15 中出現(xiàn)的超大角加速度突變值,會導致柔性機器人整體的運動失穩(wěn)。
圖15 PID、FPID 控制器俯仰角角加速度
為模擬現(xiàn)實環(huán)境,在控制系統(tǒng)中加入一個外部干擾,即在仿真運行19 s 時增加來自外部的階躍信號。如圖16 所示,被控模型的俯仰角在19 s 時突變成了20 °。對于外部環(huán)境的干擾,模糊分數階PID控制器的控制效果仍優(yōu)于其他控制器,能夠快速地調整俯仰角,抗干擾性更強。
圖16 擾動下不同控制器俯仰角控制圖
(1) 建立了柔性機器人車體、車輪及柔性鋼帶動力學模型,并整合以上公式得到柔性機器人整體動力學模型。
(2) 提出一種基于遺傳算法與模糊分數階PID控制方法,對柔性機器人運動姿態(tài)進行控制,提高系統(tǒng)的自適應性,加快了整個控制系統(tǒng)的收斂,并有效地抑制了抖振。
(3) 基于模糊分數階PID 控制器,仿真實驗研究不同工況與控制器對柔性機器人姿態(tài)角控制性能的影響。結果表明,模糊分數階PID 能夠實時控制柔性機器人運動姿態(tài)角并有效抑制抖振,具有較快的響應速度和良好的穩(wěn)定性。
在未來工作中將會研究高速運動中如何實現(xiàn)柔性機器人運動俯仰角的快速調整和降抖振,以滿足機器人在復雜鋼結構環(huán)境中的越障需求。