周闊海,黃 民,高 宏,郎需強
(北京信息科技大學 機電工程學院,北京 100192)
自動導引運輸車(automatic guided vehicle,AGV)在柔性制造業(yè)、物流業(yè)以及自動化倉儲中具有廣泛的應用前景,它提高了工廠內貨物搬運的作業(yè)效率,降低了人工成本,減少了企業(yè)內部由于物流環(huán)節(jié)冗余和辛苦的重復動作所造成的不必要的物力和人力的浪費。
在智能車輛的自主導航中,在地面上張貼標識線由二維視覺傳感器進行圖像識別的導航方法,由于其引導路徑的設置和變更相對容易、技術成本低,并且與其他視覺導航方法如三維視覺識別相比,具有圖像處理速度快、控制實時性較好等特點,已成為AGV導航的一個主要發(fā)展方向。在控制領域,傳統(tǒng)PID控制方法具有結構簡單且使用方便等特點。但在實際應用中,AGV運動控制中應用傳統(tǒng)PID會出現(xiàn)漂移、震蕩等響應速度慢、位置不準確和魯棒性差等缺點,不利于效率的提高。而模糊控制適用于非線性、參數(shù)變化大、強耦合,難以獲得精確數(shù)學模型的控制系統(tǒng)。將模糊控制和PID控制結合起來,使得控制變量能夠實時整定,可以較好解決以上問題。
本文設計并制作了倉儲搬運貨物AGV,采用了二維視覺傳感器識別地面標識線自主導航的方式,使用4個對稱正交分布式全向輪作為行走機構,并在此基礎上應用模糊PID控制方法優(yōu)化AGV的行走穩(wěn)定性,提高AGV工作效率。
本文設計的倉儲搬運貨物AGV底盤為正交分布的雙排全向輪,每一個全向輪分別由一個伺服電機驅動,電機型號為JM-CP6248,輸出扭矩為0.52 N·m,額定轉速為5600 r/min,電機驅動型號為Copley AE2,此驅動器能控制兩路輸出,故AGV底盤使用了兩個驅動器。
建立AGV運動模型之前,作如下假設:假設AGV底盤是剛體,不考慮形變;假設全向輪做純滾動;假設地面是光滑平坦表面。
如圖1所示,定義AGV的4個全向輪分別為W1、W2、W3、W4,以AGV底盤質心為原點建立坐標系xP0y。設定AGV運動坐標系,以AGV中心點為原點,對稱軸為x軸,各輪的軸心在坐標系xP0y的位置向量長度為L1、L2、L3、L4,取逆時針方向為正方向。
圖2是單個全向輪的運動分析,各輪的運動方向向量為Di;各輪與Li垂直方向的向量為Ti;設Di與x軸的夾角為αi,Ti與x軸的夾角為γi。AGV的速度是4個全向輪速度的合成,4個直流無刷伺服電機各驅動一個全向輪,要求AGV平穩(wěn)準確地運動就需要合理地分配4個全向輪的轉速,建立各輪速度和AGV整體速度之間的運動學模型是仿真研究的基礎。
以輪1為例,AGV整體速度為V,在絕對坐標系VxOVy中,全向輪的速度可分解為可控的切向速度Vq和不可控的法向速度Vf,其中Vx與Vy垂直,Vq與Vf垂直,則有
V=Vx+Vy=Vq+Vf
(1)
Vqi=Vx·cosαi+Vy·sinαi=
(2)
Vq=R(θ)·Vqi=
(3)
其中R(θ)為旋轉矩陣:
(4)
全向輪切線方向不垂直于底盤形心與輪子的連線,有
Vq=VθLicos(γi-αi)
(5)
式中Vθ為AGV整體運動的角速度,聯(lián)立式(3)~(5)有
(6)
式中v1、v2、v3、v4為全向輪線速度。
(7)
式中:ω為AGV整體運動的角速度;ωi為單個全向輪的角速度。
當把位置指令和速度指令發(fā)送到控制器,控制器會依照式(7)計算出每個輪子相應的速度并下達指令,保證AGV能夠以要求的速度到達指定的位置。
如圖3所示,AGV視覺導航采用微軟LifeCam Studio攝像頭,攝像頭捕捉地面粘貼的紅色標識線,捕捉到的畫面通過膨脹和腐蝕視覺方法分割出圖像中的紅色區(qū)域。用OpenCV中求最小外接矩形的命令,得出圖像中紅色標識線的方向,即斜率k,同時,生成紅色標識線縱向的中心線。根據(jù)直線方程y=kx+b,求出中心線與水平軸的交點坐標(x,y),其中x是偏移量。
由參數(shù)k和b計算出AGV的偏移角度eθ和偏航距離ep,規(guī)定紅色標識中心線位于y軸右側為正,左側為負,則:
(8)
eθ=arctank
(9)
倉儲AGV閉環(huán)控制系統(tǒng)框圖如圖4所示。系統(tǒng)由5部分構成,包括控制器、驅動器、伺服電機、視覺傳感器和機械傳動部分。其中伺服電機上的編碼器可以實時反饋AGV位置信息,視覺傳感器反饋AGV的偏轉角度eθ和偏移距離ep信息,負反饋和輸入參數(shù)經過控制器進行計算,把運算完成后分解的速度通過驅動器傳輸給4個獨立伺服電機,4個伺服電機通過減速器帶動4個全向輪,最終完成把貨物運輸?shù)街付▍^(qū)域的目的。編碼器負責反饋運動距離d。
然而,有些調研,根本不利于工作。據(jù)中央電視臺《焦點訪談》報道,在江西某市轄區(qū),2017年7月的22個工作日中,先后有12名市廳級干部到區(qū)里調研。幾點幾分到哪里,參觀什么、聽誰介紹、停留多長時間,幾點幾分離開,前往下一個地方,都有完備“腳本”。而有些地方更是像打造旅游路線一樣打造“經典調研線路”,無論什么調研主題,領導干部們走的都是同一條線,訪的是同一批對象,聽的是同一套說辭。
AGV實物如圖5所示,上部分為輥子平臺,AGV通過平臺上左側的光電傳感器檢測是否有貨物放置,當檢測到有貨物放到輥子平臺上時,AGV會自動把貨物運送到卸貨站點,并通過輥子滾動進行卸貨動作。卸貨站點的高度與AGV一致。
PID控制是根據(jù)系統(tǒng)的誤差,利用比例(P)、積分(I)、微分(D)計算出控制量對原有系統(tǒng)進行調節(jié),其數(shù)學表達式為
(10)
其中比例部分為
KP·e(t)
(11)
比例環(huán)節(jié)階段,輸出值在目標值與實際值產生偏差的瞬間向著誤差減少的方向變化。
積分部分的數(shù)學表達式為
(12)
微分部分的數(shù)學表達式為
(13)
PID中的微分環(huán)節(jié)實際上就是在偏差變化的瞬間,根據(jù)偏差的變化趨勢預先給出適當?shù)募m正。偏差變化得越快,微分控制器的輸出越大,輸出值在偏差值變大之前修正。這對系統(tǒng)克服振蕩、減小超調量,以及系統(tǒng)穩(wěn)定起到了較為積極作用,系統(tǒng)糾偏的跟蹤速度得到提升。但是微分對于輸入信號的噪聲比較敏感,噪聲比較大的系統(tǒng)一般不適用微分,或者在信號輸入之前進行濾波。
模糊PID控制器的基本結構如圖6所示。
為了進一步提高系統(tǒng)的響應和執(zhí)行速度,采用改進的模糊控制器[10]??刂破髟炔捎梦恢檬絇ID,控制的是KP、KI、KD這3個參數(shù),而現(xiàn)在改為控制其增量,即ΔKP、ΔKI、ΔKD,3個增量的變化小,計算量少[10]。參數(shù)模糊PID控制器表達式為
KP(n)=KP(n-1)+ΔKP
(14)
KI(n)=KI(n-1)+ΔKI
(15)
KD(n)=KD(n-1)+ΔKD
(16)
2.3.1 模糊語言變量的確定
2.3.2 隸屬度函數(shù)的確定
輸入隸屬度函數(shù)以及輸出隸屬度函數(shù)選擇三角函數(shù),如圖7所示。
2.3.3 模糊控制規(guī)則
根據(jù)文獻[11]歸納出的控制過程中自整定原則,并依據(jù)大量的實驗經驗,得出輸出變量的模糊控制規(guī)則如表1所示。
表1 ΔKP、ΔKI、ΔKD模糊控制規(guī)則
2.3.4 去模糊化
依據(jù)表1,根據(jù)模糊控制規(guī)則完成輸出變量的動態(tài)調整,得出模糊化的輸出參數(shù)后采用重心法實現(xiàn)去模糊化,再根據(jù)式(14)~(16)即可得到在模糊控制后的PID值。
在Matlab/Simulink中搭建模糊控制器,如圖8所示。其中Fuzzy Logic Controller子模塊根據(jù)表1進行封裝,PID子模塊為增量式PID仿真模型。采用Ziegler-Nichols以及試湊法確定參數(shù),輸入為階躍信號,幅值設定為1,仿真時間長度為15 s,系統(tǒng)采樣時間為0.01 s,前置增益為0.2,設定初始PID值KP=0.5,KI=0.01,KD=0.001。
本文中的AGV采用了BECKHOFF控制器,開發(fā)軟件是控制器自帶軟件TwinCAT3。使用TwinCAT3中的Matlab/Simulink編程模塊接口對AGV運動控制器進行模糊PID控制算法的添加,進行真實場景下的實驗。通過TwinCAT3軟件中ScopView功能采集AGV速度及實時位置偏差,并進行分析。
使用TwinCAT3中的函數(shù)塊FB_BasicPID進行傳統(tǒng)PID控制,得到誤差曲線,如圖9~10所示。
圖9為小車最大速度在0.55 m/s時采集到的數(shù)據(jù),可以看出AGV運動過程中位置偏差最大達到8.5 mm,平均誤差為4.5 mm。圖10為AGV速度為1.1 m/s時所采集到的數(shù)據(jù),其誤差最大達到5 mm,平均誤差為3 mm。對比發(fā)現(xiàn),當速度提高一倍之后,AGV的實時位置偏差增大了35%。這是因為在AGV運動過程中,底盤有相對于標識線的偏移誤差變量。該變量是由AGV移動過程中全向輪的不連續(xù)性和打滑現(xiàn)象以及地面環(huán)境因素所造成的,并且隨著速度的增大而增大,故使用傳統(tǒng)PID控制很難滿足實用性要求。
應用模糊PID進行控制時的誤差曲線如圖11~12所示。
從圖中可知,應用模糊控制之后,AGV設定移動距離與實時移動距離在AGV最大速度分別為0.55 m/s和1.1 m/s時所采集到的位置偏差是比較穩(wěn)定的。經過多次實驗之后得出的數(shù)據(jù)顯示,最大值均小于5 mm。
再進行AGV的運貨效率測試,測試環(huán)境中,每個貨堆尺寸為1×1.2 m,相鄰兩個貨堆間隔10 cm,在應用傳統(tǒng)PID算法的情況下,AGV運輸貨物的效率平均為每小時揀貨350件左右,而運用模糊PID控制方法后平均運送效率能達到每小時370件左右,運貨效率提高了5%。
本文針對由全向輪驅動的AGV在運動過程中出現(xiàn)的打滑、偏移等問題,將傳統(tǒng)PID控制方法和模糊控制方法相結合,采用模糊PID控制方法來提高AGV運動過程的穩(wěn)定性。在圖像傳感器反饋偏航距離并同時由編碼器反饋運動距離的情況下,對比實驗結果表明,AGV運動過程中應用模糊PID控制方法較傳統(tǒng)PID控制方法,其運動精度和穩(wěn)定性有所提高。
由于本文在模糊PID控制方法中的輸入參數(shù)只考慮了AGV在運動過程中的偏航距離誤差和誤差變化率,并沒有考慮AGV偏轉角度的誤差,這兩種誤差合成后經由模糊PID控制方法輸出的AGV速度變化還需進一步論證;模糊PID控制方法中輸入輸出參數(shù)的隸屬函數(shù)和模糊規(guī)則,僅依靠部分實驗數(shù)據(jù)和主觀人為因素進行確定,如果能夠結合神經網絡進行自主學習確定隸屬函數(shù)和模糊規(guī)則,是否能夠進一步提高AGV運送效率,還需要進行試驗討論。