徐 航 ,張依戀 ,朱 瑾 ,范勤勤
(1.上海海事大學(xué)航運(yùn)技術(shù)與控制工程交通行業(yè)重點(diǎn)實(shí)驗(yàn)室,上海 201306;2.上海海事大學(xué)物流研究中心,上海 201306)
自動(dòng)導(dǎo)引車(automatic guided vehicle,AGV),在智能交通系統(tǒng)的發(fā)展下,已經(jīng)成為一個(gè)吸引眾多學(xué)者關(guān)注的對(duì)象.對(duì)AGV跟蹤控制的研究使AGV能夠在不同條件下安全地進(jìn)行操縱,是實(shí)現(xiàn)AGV智能化和實(shí)用化的一個(gè)重要部分[1-9].而如何根據(jù)當(dāng)前車輛動(dòng)態(tài)信息和車輛前方道路情況來(lái)設(shè)計(jì)轉(zhuǎn)向和速度控制法則,是解決路徑跟蹤控制問(wèn)題的關(guān)鍵[10-11].實(shí)現(xiàn)AGV安全穩(wěn)定的路徑跟蹤控制具有十分重要的意義,因此,學(xué)者對(duì)AGV的路徑跟蹤控制展開(kāi)了深入研究.
文獻(xiàn)[12]考慮了機(jī)器人動(dòng)力學(xué)模型參數(shù)的不確定性,同時(shí),為了克服速度和力矩的跳變,加入了神經(jīng)動(dòng)力學(xué)模型對(duì)控制器進(jìn)行優(yōu)化,提出了一種自適應(yīng)和神經(jīng)動(dòng)力學(xué)相結(jié)合的輪式移動(dòng)機(jī)器人路徑跟蹤控制方法.文獻(xiàn)[13]針對(duì)Mecanum輪全方位移動(dòng)AGV的路徑跟蹤問(wèn)題,提出了一種基于位姿狀態(tài)和有限控制步數(shù)的路徑跟蹤優(yōu)化控制方法,且實(shí)驗(yàn)表明,對(duì)于不同速度,該算法均能快速、穩(wěn)定地消除位姿偏差.文獻(xiàn)[14]利用Backstepping控制算法,針對(duì)車輛軌跡跟蹤問(wèn)題設(shè)計(jì)了智能小車(intelligent vehicle,IV)空間數(shù)學(xué)模型跟蹤控制器.仿真結(jié)果表明,采用該方法設(shè)計(jì)的控制器可以快速跟蹤預(yù)先設(shè)定的軌跡,并且在跟蹤過(guò)程中保證了較高的全局穩(wěn)定性.文獻(xiàn)[15]提出了基于跟蹤誤差模型的無(wú)人駕駛車輛預(yù)測(cè)控制方法,保證了無(wú)人駕駛車輛快速且穩(wěn)定地行駛且實(shí)時(shí)性達(dá)到給定要求.張經(jīng)天等人[16]提出了一種分段預(yù)測(cè)控制模型,將預(yù)測(cè)控制器分為3段,之后解析得到最優(yōu)控制變量.文獻(xiàn)[17]對(duì)使用二維碼作為定位模塊的視覺(jué)自動(dòng)導(dǎo)引車的軌跡跟蹤問(wèn)題進(jìn)行研究,并利用一種基于最優(yōu)偏差路徑的模糊比例--積分--微分糾偏算法,該方法既提高了無(wú)軌導(dǎo)引AGV的導(dǎo)航精度,也較好地滿足系統(tǒng)運(yùn)行的穩(wěn)定性和伺服驅(qū)動(dòng)能力.以上這些方法均可以有效跟蹤自動(dòng)導(dǎo)引車的期望路徑,但是都沒(méi)有對(duì)車輛進(jìn)行區(qū)間控制約束.
而在實(shí)際應(yīng)用過(guò)程中,忽略道路寬度可能使AGV偏離期望的道路區(qū)間,忽略AGV的尺寸和形狀可能使AGV發(fā)生碰撞.基于此,近年來(lái),學(xué)者們開(kāi)始對(duì)AGV運(yùn)行過(guò)程中的區(qū)間控制約束進(jìn)行研究.文獻(xiàn)[18]提出了區(qū)間路徑跟蹤描述方法,并提出了利用模型預(yù)測(cè)控制的水平移動(dòng)控制方法來(lái)討論區(qū)間路徑跟蹤問(wèn)題,該方法能夠有效地避免在追蹤更復(fù)雜道路時(shí)出現(xiàn)碰撞道路邊界的現(xiàn)象.文獻(xiàn)[19]提出了隱式線性模型預(yù)測(cè)控制方法來(lái)設(shè)計(jì)移動(dòng)水平路徑跟蹤控制器.該控制器采用了不同的采樣時(shí)間和預(yù)測(cè)范圍,有效地處理了建模誤差,提高了路徑跟蹤精度.但是文獻(xiàn)[18-19]只對(duì)前輪轉(zhuǎn)向角進(jìn)行了約束,速度卻是固定的,然而,在實(shí)際情況中,AGV的速度往往是可控的.因此,本文在對(duì)AGV進(jìn)行區(qū)間軌跡跟蹤控制時(shí),將該方法進(jìn)行改進(jìn),使被控AGV速度可變,且穩(wěn)定在一定的范圍內(nèi).同時(shí),對(duì)目標(biāo)函數(shù)也進(jìn)行了一定的改進(jìn),使其能夠快速穩(wěn)定地沿著期望路徑行駛.
本文基于模型預(yù)測(cè)方法對(duì)AGV區(qū)間軌跡跟蹤問(wèn)題進(jìn)行了研究,主要工作為:1)在AGV沿著期望速度在可行區(qū)域內(nèi)行駛過(guò)程中,結(jié)合實(shí)際情況,給AGV的實(shí)際行駛速度增加一個(gè)可控范圍,將其設(shè)置為控制變量;2)對(duì)目標(biāo)函數(shù)進(jìn)行了一定的改進(jìn),在AGV行駛過(guò)程中,增加了對(duì)偏航角的限制,可使AGV更加迅速穩(wěn)定地行駛在可行區(qū)域內(nèi).
傳統(tǒng)軌跡跟蹤問(wèn)題都是將AGV看作一個(gè)剛性點(diǎn),不考慮AGV的尺寸和形狀,本文采用文獻(xiàn)[18]提出的區(qū)間路徑跟蹤描述方法對(duì)AGV進(jìn)行區(qū)間軌跡跟蹤研究,AGV道路模型如圖1所示.AGV檢測(cè)到的可行區(qū)間為f1(x)和f2(x)之間的區(qū)間,所圍可行區(qū)間的中心線即為期望路徑.為了避免碰撞,假設(shè)AGV的寬度為w,簡(jiǎn)化車輛行駛道路模型,則AGV 可行區(qū)間將變?yōu)閒3(x)=f1(x)?w/2 和f4(x)=f2(x)+w/2 之間的區(qū)間.假設(shè)f(x)是XOY 橫向位置,ψ是AGV偏航角,s 為AGV 側(cè)滑角,AGV 重心到前端的距離為l1,AGV重心到后端的距離為l2.簡(jiǎn)化后的AGV的前端橫向位置為fl(x)=f(x)+l1sin(ψ+s),后端橫向位置為fr(x)=f(x)?l2sin(ψ+s).同時(shí),考慮到大多數(shù)道路為小曲率,因此,偏航角和車輛側(cè)滑角的正弦可以簡(jiǎn)化為sin(ψ+s)≈(ψ+s),則AGV的可行區(qū)間為
圖1 車輛道路模型Fig.1 Vehicle road model
由于大多數(shù)道路均為小曲率,因此AGV的側(cè)滑角和偏滑角在采樣時(shí)間內(nèi)的變化很小[18],故圖2所示的運(yùn)動(dòng)學(xué)模型可以被描述為
圖2 運(yùn)動(dòng)學(xué)模型Fig.2 Kinematics model
忽略車輛的縱向動(dòng)力學(xué),車輛的橫向動(dòng)力學(xué)如圖3所示,軌跡跟蹤控制器的設(shè)計(jì)模型為
其中:m為AGV的質(zhì)量;前后輪胎的輪胎力分別為Fyf=Cfαf,Fyr=Crαr,Cf和Cr分別為前后輪胎側(cè)偏剛度;v是AGV的速度;Iz為AGV的慣性矩;前后輪的側(cè)滑角近似為
圖3 運(yùn)動(dòng)學(xué)模型Fig.3 Kinematics model
離散化連續(xù)時(shí)間模型,得到離散時(shí)間模型
注意到文獻(xiàn)[18]中,AGV的速度是給定的,控制變量為δ,而本文考慮到實(shí)際情況中AGV運(yùn)行速度受到外界環(huán)境等因素影響,單一的定值往往不能滿足AGV對(duì)外界環(huán)境的適應(yīng),因此,設(shè)定控制變量為[v δ],使得AGV能夠在一定的速度和前輪轉(zhuǎn)向角范圍內(nèi)尋找到最佳速度和最佳前輪轉(zhuǎn)向角,進(jìn)而行駛在可行區(qū)域內(nèi).
應(yīng)用模型預(yù)測(cè)控制方法來(lái)討論軌跡跟蹤控制器的設(shè)計(jì),控制方案的結(jié)構(gòu)如圖4所示.
圖4 軌跡跟蹤控制器的設(shè)計(jì)Fig.4 Design of the trajectory tracking controller
如果系統(tǒng)的控制時(shí)域?yàn)镹c,預(yù)測(cè)時(shí)域?yàn)镹p,那么,預(yù)測(cè)時(shí)域內(nèi)的狀態(tài)量和系統(tǒng)輸出量可由下式計(jì)算得出:
為了使整個(gè)關(guān)系看起來(lái)更加清楚明確,將系統(tǒng)未來(lái)時(shí)刻的輸出以矩陣的形式表達(dá),如下式所示:
由式(7)可知,預(yù)測(cè)時(shí)域內(nèi)的狀態(tài)量和輸出量都可以通過(guò)系統(tǒng)初始狀態(tài)量x(k|k)和控制量U(k)來(lái)計(jì)算.然而實(shí)際上,系統(tǒng)的控制量是未知的,只有設(shè)置合適的優(yōu)化目標(biāo)并對(duì)其求解,才能得到控制序列.
考慮到系統(tǒng)對(duì)期望路徑的跟隨能力,最小化成本函數(shù)
其中R(k)為期望路徑.
考慮到對(duì)控制增量的約束,使控制增量平穩(wěn)變化:
考慮到行駛路線的最短,確保低能耗:
考慮到對(duì)偏航角的約束,使其更快更穩(wěn)定地沿著期望路徑行駛:
引入權(quán)重因子,因此,多目標(biāo)函數(shù)如下所示:
其中:Za=diag{Za,1,Za,2,...,Za,Np}>0,Zb,i>0, Zc=diag{Zc,1,Zc,2,...,Zc,Np} > 0, Zd,i> 0.Za,i,Zb,i,Zc,i,Zd,i的選取將根據(jù)實(shí)際工程情況進(jìn)行確定.
區(qū)別于文獻(xiàn)[18]中目標(biāo)函數(shù)的選取,本文在目標(biāo)函數(shù)中加入了對(duì)偏航角的約束,使得偏航角趨向于0,從而讓AGV能夠最大限度地沿著期望路徑行駛,穩(wěn)定地維持在可行區(qū)域內(nèi).
同時(shí),在實(shí)際控制系統(tǒng)里,需要滿足如下約束條件:
控制量約束:
控制增量約束:
輸出約束:
綜上,區(qū)間軌跡控制問(wèn)題可以轉(zhuǎn)化為以下優(yōu)化問(wèn)題中提出的模型控制預(yù)測(cè)問(wèn)題:
通過(guò)求解式(16),即可實(shí)時(shí)得到未來(lái)一段時(shí)間的控制序列.
本文選擇用MATLAB進(jìn)行仿真實(shí)驗(yàn),考慮AGV進(jìn)行直線運(yùn)動(dòng)以及小曲率正弦曲線運(yùn)動(dòng)兩種情況.參考軌跡點(diǎn)數(shù)量N設(shè)定為300,采樣周期Ts為0.05 s,采樣時(shí)間T為15 s,y為輸出變量,u=[v δ]為控制變量,=[x y ψ s γ]為狀態(tài)變量,AGV期望速度設(shè)定為1 m/s,速度可控范圍設(shè)定為在期望速度上下0.2 m/s浮動(dòng),即[0.8,1.2]m/s,AGV期望前輪轉(zhuǎn)向角設(shè)定為0,前輪轉(zhuǎn)向角可控范圍設(shè)定為在期望前輪轉(zhuǎn)向角上下0.64 rad浮動(dòng),即[?0.64,0.64]rad.為了證明方法的可行性,采用了文獻(xiàn)[18]里根據(jù)實(shí)際小車紅旗HQ430給出的參數(shù),如表1所示.
表1 控制器和車輛參數(shù)的一部分Table 1 Part of the controller and vehicle parameters
為了驗(yàn)證本文提出的區(qū)間軌跡跟蹤控制方法的可行性與有效性,采用本文提出的方法以及文獻(xiàn)[18]中提出的方法分別進(jìn)行了MATLAB實(shí)驗(yàn).考慮AGV做直線運(yùn)動(dòng)以及小區(qū)率正弦曲線運(yùn)動(dòng)兩種情況,實(shí)驗(yàn)結(jié)果如下:
1)AGV做直線運(yùn)動(dòng).
當(dāng)AGV行駛的期望軌跡設(shè)定為直線時(shí),其仿真結(jié)果如圖5-9所示.
圖5 采用本文提出的方法得到的軌跡跟蹤仿真結(jié)果Fig.5 Trajectory tracking simulation results obtained by the method proposed in this paper
圖6 采用文獻(xiàn)[18]方法得到的軌跡跟蹤仿真結(jié)果Fig.6 Trajectory tracking simulation results obtained by the reference [18]
圖7 狀態(tài)變量隨時(shí)間變化結(jié)果Fig.7 State variables change over time
圖8 控制變量隨時(shí)間變化結(jié)果Fig.8 Control variables change over time
圖9 誤差分析Fig.9 Error analysis
其中,圖5和圖6分別用本文提出的方法以及采用文獻(xiàn)[10]的方法得到的軌跡跟蹤仿真結(jié)果.圖中:點(diǎn)線表示AGV實(shí)際行駛軌跡,直線表示AGV期望行駛軌跡,兩條點(diǎn)劃線之間的區(qū)域表示給定的AGV可行區(qū)間范圍.從圖5和圖6中可以看到AGV均穩(wěn)定地行駛在可行區(qū)間內(nèi),且經(jīng)過(guò)一段時(shí)間后,與期望軌跡基本重合.但同時(shí),通過(guò)圖5和圖6,也可以清楚的看到,采用本文提出的方法偏離期望軌跡的幅度較小,也更快更穩(wěn)定地沿著期望軌跡行駛.
圖7表示采用本文提出的方法得到的狀態(tài)變量隨時(shí)間變化的結(jié)果,圖7從上到下依次為AGV的橫向位置、縱向位置、偏航角、側(cè)滑角和偏航率隨時(shí)間變化的結(jié)果.圖中:直線表示AGV的橫向位置、縱向位置、偏航角、側(cè)滑角和偏航率的期望值,虛線表示實(shí)際值.由圖可知,采用本文提出的方法能夠使得AGV實(shí)際行駛的橫向位置與AGV期望行駛的橫向位置基本重合,并且,經(jīng)過(guò)一段時(shí)間后,AGV實(shí)際行駛的縱向位置穩(wěn)定在期望軌跡上,AGV的偏航角、側(cè)滑角和偏航率也無(wú)限趨近于0.
圖8表示采用本文提出的方法得到的控制變量隨時(shí)間變化的結(jié)果,由圖可知,AGV速度經(jīng)過(guò)一段時(shí)間內(nèi)的變化迅速穩(wěn)定在一個(gè)最優(yōu)值,AGV的前輪轉(zhuǎn)向角經(jīng)過(guò)一段時(shí)間逐漸趨向于0,且AGV的速度和前輪轉(zhuǎn)向角均穩(wěn)定在給定范圍內(nèi).
圖9從上到下依次為采用本文提出的方法得到的AGV實(shí)際行駛軌跡與期望軌跡的誤差距離,實(shí)際偏航角與期望偏航角之間的誤差角度以及實(shí)際側(cè)滑角與期望側(cè)滑角之間的誤差角度.由圖9可以看出,經(jīng)過(guò)一段時(shí)間后,上述誤差均趨近于0.
2)AGV做小曲率正弦曲線運(yùn)動(dòng).
當(dāng)AGV行駛的期望軌跡設(shè)定為小曲率正弦曲線y=sin(k×T/3)/3 時(shí)(k=1,2,···,N),其仿真結(jié)果如圖10-14所示.
圖10 采用本文提出的方法得到的軌跡跟蹤仿真結(jié)果Fig.10 Trajectory tracking simulation results obtained by the method proposed in this paper
圖11 采用文獻(xiàn)[18]方法得到的軌跡跟蹤仿真結(jié)果Fig.11 Trajectory tracking simulation results obtained by the reference [18]
圖12 狀態(tài)變量隨時(shí)間變化結(jié)果Fig.12 State variables change over time
圖13 控制變量隨時(shí)間變化結(jié)果Fig.13 Control variables change over time
圖14 誤差分析Fig.14 Error analysis
其中,圖10和圖11分別為用本文提出的方法以及采用文獻(xiàn)[18]的方法得到的軌跡跟蹤仿真結(jié)果.從圖10和圖11中可以看到AGV均穩(wěn)定地行駛在可行區(qū)間內(nèi).但同時(shí),通過(guò)圖10和圖11,也可以清楚的看到,相對(duì)于文獻(xiàn)[18]的方法在轉(zhuǎn)彎時(shí)可能會(huì)無(wú)限趨近于可行域邊界,采用本文提出的方法能夠更加平穩(wěn)的行駛在可行區(qū)間內(nèi).
圖12表示采用本文提出的方法得到的狀態(tài)變量隨時(shí)間變化的結(jié)果,圖12從上到下依次為AGV的橫向位置、縱向位置、偏航角、側(cè)滑角和偏航率隨時(shí)間變化的結(jié)果.由圖可知,AGV實(shí)際行駛的橫向位置與AGV期望行駛的橫向位置基本重合,AGV實(shí)際行駛的縱向位置穩(wěn)定在AGV的期望區(qū)間范圍內(nèi).并且,由于AGV的期望路徑設(shè)定為小曲率曲線,因此,AGV的偏航角,側(cè)滑角和偏航率也一直在0上下小范圍浮動(dòng).
圖13表示采用本文提出的方法得到的控制變量隨時(shí)間變化的結(jié)果.由圖可知,AGV速度經(jīng)過(guò)一段時(shí)間內(nèi)的變化迅速穩(wěn)定在一個(gè)最優(yōu)值,AGV的前輪轉(zhuǎn)向角由于期望路徑設(shè)定為小曲率曲線,也一直在0上下小范圍浮動(dòng),且AGV的速度和前輪轉(zhuǎn)向角均穩(wěn)定在給定范圍內(nèi).
圖14從上到下依次為采用本文提出的方法得到的AGV實(shí)際行駛路徑與期望路徑的誤差距離、實(shí)際偏航角與期望偏航角之間的誤差角度以及實(shí)際側(cè)滑角與期望側(cè)滑角之間的誤差角度.由圖14可以看出,由于期望路徑設(shè)定為小曲率曲線,上述誤差均一直在0上下小范圍浮動(dòng).
通過(guò)實(shí)驗(yàn)1)和實(shí)驗(yàn)2)可知,不論期望路徑是直線還是小曲率正弦曲線,采用本文提出的方法,AGV經(jīng)過(guò)一段時(shí)間后,迅速駛向期望路徑,且始終穩(wěn)定地保持在可行域內(nèi)行駛.且相對(duì)于文獻(xiàn)[18],均有一定的優(yōu)化,驗(yàn)證了該方法的可行性與有效性.
本文針對(duì)AGV的跟蹤控制問(wèn)題,設(shè)計(jì)了一種基于模型預(yù)測(cè)的AGV區(qū)間軌跡跟蹤控制器,該方案選取了前輪轉(zhuǎn)向角和速度作為控制變量,且對(duì)其設(shè)定了一定區(qū)間的可控范圍,又利用了預(yù)測(cè)路徑與期望路徑之間的誤差,并加入了對(duì)AGV偏航角的約束條件,最后運(yùn)用模型預(yù)測(cè)控制方法通過(guò)優(yōu)化得到使性能指標(biāo)最優(yōu)的控制序列,使AGV的軌跡跟蹤快速趨于穩(wěn)定.最后,在MATLAB上仿真驗(yàn)證了該方法的可行性與有效性.然而,筆者也注意到,在AGV做小曲率運(yùn)動(dòng)時(shí),雖能夠穩(wěn)定行駛在可行區(qū)間內(nèi),誤差卻一直存在,因此,在今后的工作中,筆者將重點(diǎn)考慮如何減小AGV做曲線運(yùn)動(dòng)時(shí)的誤差以及對(duì)目標(biāo)函數(shù)進(jìn)行進(jìn)一步優(yōu)化.