王佳琪, 張 寧, 何國(guó)田
(1.長(zhǎng)春理工大學(xué)光電工程學(xué)院,吉林長(zhǎng)春 130022; 2.中國(guó)科學(xué)院重慶綠色智能技術(shù)研究院機(jī)器人中心,重慶 400700)
梯田的無(wú)人機(jī)械化種植是我國(guó)現(xiàn)代化農(nóng)業(yè)發(fā)展的難題,自動(dòng)轉(zhuǎn)向控制技術(shù)是在梯田中實(shí)現(xiàn)自主導(dǎo)航、精細(xì)耕作的關(guān)鍵環(huán)節(jié),無(wú)人微耕機(jī)的自動(dòng)轉(zhuǎn)向控制器對(duì)實(shí)現(xiàn)梯田的精細(xì)化、現(xiàn)代化種植有重要意義。
目前,國(guó)內(nèi)外對(duì)于無(wú)人農(nóng)用機(jī)械的研究方向主要針對(duì)于大型農(nóng)用機(jī)械。使用的控制算法主要包括PID控制、模糊控制、神經(jīng)網(wǎng)絡(luò)控制等。美國(guó)Qiu等使用加入了前饋的FPID算法設(shè)計(jì)了拖拉機(jī)電液轉(zhuǎn)向系統(tǒng)[1]。張美娜等針對(duì)農(nóng)用機(jī)械的PID控制算法進(jìn)行了理論分析[2],黎永鍵等針對(duì)東方紅拖拉機(jī)的自動(dòng)轉(zhuǎn)向控制進(jìn)行了設(shè)計(jì)和試驗(yàn)[3],謝斌等針對(duì)電動(dòng)拖拉機(jī)的驅(qū)動(dòng)器進(jìn)行設(shè)計(jì)并進(jìn)行了室內(nèi)試驗(yàn)[4],宋春月使用GPS和慣導(dǎo)實(shí)現(xiàn)了對(duì)無(wú)人拖拉機(jī)的航向控制[5]。但是無(wú)人微耕機(jī)的研究尚處于遙控式微耕機(jī)階段,丁向美使用ARM芯片設(shè)計(jì)了微耕機(jī)的機(jī)上部分和遙操作手持端[6],通過(guò)遙操作控制微耕機(jī)的轉(zhuǎn)向。
以上研究使用的控制算法主要針對(duì)無(wú)人拖拉機(jī)進(jìn)行設(shè)計(jì),并不適應(yīng)于機(jī)械結(jié)構(gòu)簡(jiǎn)單的微耕機(jī),因此,本研究針對(duì)無(wú)人微耕機(jī)單獨(dú)進(jìn)行自動(dòng)轉(zhuǎn)向控制器的設(shè)計(jì),采用逆模型-神經(jīng)網(wǎng)絡(luò)算法在外環(huán)控制轉(zhuǎn)向角度、模糊控制算法在內(nèi)環(huán)控制角速度,使微耕機(jī)平穩(wěn)達(dá)到目標(biāo)角度。
微耕機(jī)受結(jié)構(gòu)限制,車輪與輸入軸間不發(fā)生偏轉(zhuǎn),因此利用差速原理,采用左右輸出輪軸各安裝電磁離合器的形式實(shí)現(xiàn)轉(zhuǎn)向功能,如圖1-a所示。通過(guò)兩輪的速度差實(shí)現(xiàn)轉(zhuǎn)向的目的?,F(xiàn)假定左輪速度為VL,右輪速度為VR,沿著車輛縱軸線中心的速度為VA,兩輪的速度差為ΔA,左右兩輪輪距為L(zhǎng),旋轉(zhuǎn)角度為θ。
當(dāng)假定左轉(zhuǎn)時(shí),車輛的旋轉(zhuǎn)角速度為
(1)
中心線速度為
(2)
車輛的瞬時(shí)速度V為
(3)
旋轉(zhuǎn)角度θ為
(4)
根據(jù)三角形相似定理可知:
(5)
式中:R為轉(zhuǎn)彎半徑。
由式(5)可知,在輪距L為定值時(shí),轉(zhuǎn)彎半徑大小與轉(zhuǎn)向時(shí)的速度(如VR)及兩輪的速度差ΔV有關(guān)。此時(shí),左軸電磁離合器結(jié)合,左輪可取VL=0,最小轉(zhuǎn)彎半徑R為L(zhǎng)。同理,當(dāng)右轉(zhuǎn)時(shí),右軸電磁離合器結(jié)合,右輪可取VR=0,最小轉(zhuǎn)彎半徑R為L(zhǎng)。又由差速器原理知,左轉(zhuǎn)時(shí),VR=2VA,右轉(zhuǎn)時(shí),VL=2VA,由公式(4)得轉(zhuǎn)向角度θ為
(6)
由公式(6)可知,在速度一定的條件下,轉(zhuǎn)向角度與電磁離合器的關(guān)閉時(shí)間有關(guān),通過(guò)控制電磁離合器的關(guān)閉時(shí)間來(lái)控制轉(zhuǎn)角。
無(wú)人微耕機(jī)的油門控制原理如圖2所示,根據(jù)轉(zhuǎn)矩生成過(guò)程,結(jié)合噴油量,運(yùn)用熱力學(xué)理論,可以計(jì)算發(fā)動(dòng)機(jī)的指示功率:
Pi=Hμηimf。
(7)
式中:Hμ是燃燒低熱值,ηi是指示熱效率,mf進(jìn)入氣缸的燃油流量。
從而發(fā)動(dòng)機(jī)平均指示轉(zhuǎn)矩為
(8)
式中:w是發(fā)動(dòng)機(jī)的轉(zhuǎn)速,考慮工作過(guò)程的泵氣產(chǎn)生的轉(zhuǎn)矩?fù)p失TP,曲軸轉(zhuǎn)動(dòng)產(chǎn)生的摩擦轉(zhuǎn)矩?fù)p失Tf,可得到平均有效轉(zhuǎn)矩Te:
Te=Ti-TP-Tf。
(9)
由公式(8)和公式(9)可推導(dǎo)出:
Pi=(Te+TP+Tf)w?Hμηimf=(Te+TP+Tf)w。
(10)
由投影定理可得:
mf=m0s0(1-cosθ)。
(11)
式中:θ取0~90°,m0為單位面積的燃油流量,s0為節(jié)氣門板面積。
引入電動(dòng)推桿后:
mf=m0s0(1-cosθkθL)。
(12)
式中:kθ為電推桿與油門轉(zhuǎn)角間對(duì)應(yīng)的比例常數(shù),L為電動(dòng)推桿的運(yùn)動(dòng)行程。
從而,綜上所述有:
(13)
由公式(13)可知,在油門開度范圍內(nèi),且有效轉(zhuǎn)矩Te、泵氣損失轉(zhuǎn)矩Tp、摩擦轉(zhuǎn)矩?fù)p失Tf不變時(shí),若電動(dòng)推桿行程L增加,則發(fā)動(dòng)機(jī)的轉(zhuǎn)速w增加,因此可通過(guò)控制推桿的行程來(lái)控制發(fā)動(dòng)機(jī)的輸出轉(zhuǎn)速,從而控制轉(zhuǎn)動(dòng)角速度。
考慮到轉(zhuǎn)向控制器的非線性,本研究設(shè)計(jì)的轉(zhuǎn)向控制器通過(guò)雙閉環(huán)實(shí)現(xiàn)角度控制,提高了控制精度,控制原理如圖3所示。同時(shí),為提高控制器對(duì)復(fù)雜環(huán)境的適應(yīng)性,使用逆模型-神經(jīng)網(wǎng)絡(luò)算法作為外環(huán)實(shí)現(xiàn)角度的控制,內(nèi)環(huán)通過(guò)模糊控制算法實(shí)現(xiàn)角速度的控制。
無(wú)人微耕機(jī)實(shí)際工作時(shí),期望角度先輸入到逆模型中計(jì)算得到補(bǔ)償量,同時(shí)單神經(jīng)元自適應(yīng)神經(jīng)網(wǎng)絡(luò)控制器根據(jù)期望轉(zhuǎn)角計(jì)算出目標(biāo)角速度,用逆模型的補(bǔ)償量進(jìn)行修正,輸出給內(nèi)環(huán),內(nèi)環(huán)的模糊控制算法通過(guò)目標(biāo)加速度解算出推桿的行程和擋位的大小,從而實(shí)現(xiàn)動(dòng)作。角度傳感器采集微耕機(jī)的實(shí)際轉(zhuǎn)角,與期望轉(zhuǎn)角求差,作為導(dǎo)師信號(hào)對(duì)單神經(jīng)元網(wǎng)絡(luò)進(jìn)行訓(xùn)練,從而提高了算法的自適應(yīng)能力。
在逆模型-神經(jīng)網(wǎng)絡(luò)模型中,神經(jīng)網(wǎng)絡(luò)模型使用的是單神經(jīng)元自適應(yīng)PID算法,把圖3中的內(nèi)環(huán)和執(zhí)行機(jī)構(gòu)簡(jiǎn)化得到單神經(jīng)元自適應(yīng)PID控制結(jié)構(gòu)[7],如圖4所示,根據(jù)反饋的角度θ與期望角度θT得到PID算法的比例項(xiàng)xp、積分項(xiàng)xi、微分項(xiàng)xd:
errork=θT-θ;
(14)
xp=errork-errork-1;
(15)
xi=errork;
(16)
xd=errork-2errork-1+errork-1。
(17)
根據(jù)增量式PID算法公式有:
Δuk=kpxp+kixi+kdxd。
(18)
式中:kp、ki、kd分別表示比例系數(shù)、積分系數(shù)、微分系數(shù),Δuk表示k時(shí)刻的控制量。
使用改進(jìn)型學(xué)習(xí)規(guī)則的單神經(jīng)元學(xué)習(xí)方式:
(19)
Δerrork=errork-2errork-1+errork-2;
(20)
wp,i,d=ηerrorkΔerrorkΔuk-1。
(21)
式中:wp、wi、wd分別表示kp、ki、kd的權(quán)重,η表示學(xué)習(xí)率。
單神經(jīng)元通過(guò)更改加權(quán)系數(shù)wp、wi、wd來(lái)間接調(diào)節(jié)kp、ki、kd,針對(duì)加權(quán)系數(shù)的學(xué)習(xí)單神經(jīng)元有Hebb學(xué)習(xí)規(guī)則、delta學(xué)習(xí)規(guī)則、改進(jìn)的學(xué)習(xí)規(guī)則3種學(xué)習(xí)規(guī)則,傳統(tǒng)方法僅僅使用Δerrork進(jìn)行學(xué)習(xí),沒有最大化利用誤差信息,本研究使用改進(jìn)的學(xué)習(xí)規(guī)則,使用Δerrork和errork進(jìn)行神經(jīng)元的訓(xùn)練,最大化提取誤差信息,提高神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度和準(zhǔn)確度,提高了算法的動(dòng)態(tài)響應(yīng)能力。
Hebb學(xué)習(xí)規(guī)則:
wp,i,d=ηerrorkΔuk-1xp,i,d。
(22)
delta學(xué)習(xí)規(guī)則:
wp,i,d=ηerrorkΔuk-1。
(23)
本研究使用的改進(jìn)學(xué)習(xí)規(guī)則:
wp,i,d=ηerrorkΔerrorkΔuk-1。
(24)
逆模型使用BP神經(jīng)網(wǎng)絡(luò)算法對(duì)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行修正,BP神經(jīng)網(wǎng)絡(luò)使用工作信號(hào)正向傳播、誤差反向傳播的工作方式。本研究使用的控制芯片是STM32,因此出于減小運(yùn)算量的考慮使用3個(gè)隱層的BP神經(jīng)網(wǎng)絡(luò)建立逆模型,預(yù)先采集單神經(jīng)元自適應(yīng)PID控制器實(shí)際輸出結(jié)果和微耕機(jī)的實(shí)際轉(zhuǎn)角作為逆模型的訓(xùn)練數(shù)據(jù),使用微耕機(jī)的實(shí)際角度作為逆模型的輸入數(shù)據(jù),逆模型計(jì)算得到預(yù)測(cè)的輸出結(jié)果,使用預(yù)測(cè)的輸出結(jié)果與微耕機(jī)的實(shí)際轉(zhuǎn)角之差作為導(dǎo)師信號(hào)對(duì)逆模型進(jìn)行訓(xùn)練與學(xué)習(xí)(圖5)。
無(wú)人微耕機(jī)耕作時(shí)最大行走速度為0.3 m/s,轉(zhuǎn)彎半徑L=1 m,由公式(6)得轉(zhuǎn)向角速度w=0.6 rad/s=34°/s,因此
模糊控制算法中的目標(biāo)角速度errorw的論域?yàn)閇-34,34],涵蓋errorw變化范圍的F子集為PB(正快)、PM(正中)、PS(正慢)、Z(零)、NB(負(fù)快)、NM(負(fù)中)、NS(負(fù)慢),其中Z(零)表示微耕機(jī)不進(jìn)行轉(zhuǎn)向動(dòng)作,其隸屬度函數(shù)如圖6-a所示。為提高控制精度引入Δerrorw=errorwk-errorwk-1,其論域?yàn)閇-34,34],涵蓋Δerrorw變化范圍的F子集為PB(正快)、PM(正中)、PS(正慢)、Z(零)、NB(負(fù)快)、NM(負(fù)中)、NS(負(fù)慢),其隸屬度函數(shù)如圖6-b所示。推桿最大行程為30 cm,微耕機(jī)運(yùn)行過(guò)程中的油門需要保持最低開度,由試驗(yàn)得到此時(shí)推桿行程為10 cm,因此推桿行程的論域?yàn)閇10,30],使用5等分的F子集涵蓋推桿行程變化范圍:B(長(zhǎng))、MB(較長(zhǎng))、M(中)、MS(較短)、Z(零),其中Z(零)表示推桿位于10 cm處,其隸屬度函數(shù)如圖6-c所示。根據(jù)無(wú)人微耕機(jī)的控制經(jīng)驗(yàn),確定模糊控制規(guī)則,如圖7-a所示。最終輸出結(jié)果如圖7-b所示。
試驗(yàn)?zāi)康模簩?duì)于已建立的轉(zhuǎn)向系統(tǒng)模型,使用Matlab軟件通過(guò)仿真試驗(yàn)的方法驗(yàn)證控制器原理上的可行性。
試驗(yàn)方法:輸入信號(hào)為25°方波信號(hào)、正弦信號(hào)和三角波信號(hào),使用Matlab辨識(shí)被控對(duì)象模型,使用M語(yǔ)言描述逆模型-神經(jīng)網(wǎng)絡(luò)控制算法和模糊控制算法,得到整體仿真模型,運(yùn)行M文件得到仿真結(jié)果。
試驗(yàn)結(jié)果:如圖8所示,該控制器對(duì)階躍信號(hào)、正弦信號(hào)、三角波信號(hào)在原理上的跟蹤性能良好,其中三角波信號(hào)在 0~1 s 處震蕩,通過(guò)神經(jīng)網(wǎng)絡(luò)控制器學(xué)習(xí)之后,震蕩減小,該控制器具有理論可行性。
試驗(yàn)?zāi)康模候?yàn)證本研究設(shè)計(jì)的控制器在實(shí)際環(huán)境中能有效地控制轉(zhuǎn)向機(jī)構(gòu)跟蹤控制系統(tǒng)的指令達(dá)到目標(biāo)角度。
試驗(yàn)方法:上位機(jī)發(fā)送指令方波信號(hào),該信號(hào)為10°階躍信號(hào),運(yùn)行本研究設(shè)計(jì)的控制方法得到數(shù)據(jù),使用Origin得到響應(yīng)曲線。
試驗(yàn)結(jié)果:圖9所示為方波信號(hào)的跟蹤結(jié)果,實(shí)際曲線與輸入方波信號(hào)有很好的一致性,最大誤差為5°,平均誤差為0.1°,延時(shí)時(shí)間為0.28 s。由圖10可知,正弦信號(hào)最大誤差為7°,平均誤差為1.8°,該控制器對(duì)于正弦信號(hào)的跟蹤在前 1 s 有較大的震蕩,2 s以后誤差趨于穩(wěn)定。由圖11可知,三角信號(hào)最大誤差為7°,平均誤差為0.8°,在三角信號(hào)的波峰和波谷處,誤差有抖動(dòng)。
結(jié)合以上分析可知,該控制器對(duì)于方波信號(hào)跟蹤良好,對(duì)于三角信號(hào)和正弦信號(hào),第1次輸入有較大的誤差,之后的波形可以很好地跟隨輸入信號(hào),誤差平緩趨于穩(wěn)定。
與前人針對(duì)于拖拉機(jī)設(shè)計(jì)的PID控制器相比,本研究針對(duì)無(wú)人微耕機(jī)設(shè)計(jì)了專用的雙閉環(huán)轉(zhuǎn)向控制器,轉(zhuǎn)向角度作為外環(huán)使用神經(jīng)網(wǎng)絡(luò)控制,轉(zhuǎn)向速度作為內(nèi)環(huán)使用模糊控制,使微耕機(jī)平穩(wěn)轉(zhuǎn)向目標(biāo)角度,提出了神經(jīng)網(wǎng)絡(luò)和模糊控制的雙閉環(huán)控制模型適應(yīng)復(fù)雜多變的農(nóng)業(yè)環(huán)境,逆模型神經(jīng)網(wǎng)絡(luò)修正單神經(jīng)元自適應(yīng)PID算法的誤差,針對(duì)STM32進(jìn)行了算法優(yōu)化,降低了算法復(fù)雜度和成本。樣機(jī)試驗(yàn)結(jié)果表明,方波信號(hào)跟蹤平均誤差為0.1°,延時(shí)時(shí)間為0.28 s,正弦信號(hào)跟蹤平均誤差為2.2°,三角信號(hào)跟蹤平均誤差為0.8°,但在神經(jīng)網(wǎng)絡(luò)控制器學(xué)習(xí)時(shí)間內(nèi)。輸出誤差較大需進(jìn)一步優(yōu)化算法。因此本研究設(shè)計(jì)的控制器滿足農(nóng)業(yè)環(huán)境應(yīng)用要求,并為進(jìn)一步試驗(yàn)提供平臺(tái)。
參考文獻(xiàn):
[1]Qiu H,Zhang Q. Feedforward-plus-proportional-integral-derivative controller for an off-road vehicle electrohydraulic steering system[J]. Proceedings of the Institution of Mechanical Engineers Part D-Journal of Automobile Engineering,2003,217(5):375-382.
[2]張美娜,林相澤,丁永前,等. 基于性能指標(biāo)的農(nóng)用車輛路徑跟蹤控制器設(shè)計(jì)[J]. 農(nóng)業(yè)工程學(xué)報(bào),2012,28(9):40-46.
[3]黎永鍵,趙祚喜,黃培奎,等. 東方紅拖拉機(jī)自動(dòng)轉(zhuǎn)向控制器設(shè)計(jì)及試驗(yàn)[J]. 農(nóng)業(yè)工程學(xué)報(bào),2015,31(增刊2):93-99.
[4]謝斌,張超,毛恩榮,等. 基于myRIO的電動(dòng)拖拉機(jī)驅(qū)動(dòng)控制器設(shè)計(jì)與室內(nèi)試驗(yàn)[J]. 農(nóng)業(yè)工程學(xué)報(bào),2015,31(18):55-62.
[5]宋春月. 無(wú)人駕駛拖拉機(jī)控制系統(tǒng)設(shè)計(jì)研究[D]. 上海:上海工程技術(shù)大學(xué),2015.
[6]丁向美. 基于ARM的微耕機(jī)遠(yuǎn)程控制系統(tǒng)的研究[D]. 重慶:西南大學(xué),2011.
[7]劉金琨. 先進(jìn)PID控制MATLAB仿真[M]. 北京:電子工業(yè)出版社,2011.