




摘 要:丘陵耕地地塊細碎、不平整、形狀不規(guī)則,造成大型農業(yè)機械難以發(fā)揮作用,推進丘陵山區(qū)農機化極其艱難。設計一種基于樹莓派(Raspberry Pi)微型電腦和STM32嵌入式單片機的小型農業(yè)機械自動導航控制系統(tǒng)。系統(tǒng)通過雙頻定位模塊獲取實時定位信息,利用雙目攝像頭、紅外攝像頭識別障礙物與耕地邊界,采用慣性導航裝置獲取機械運動信息,樹莓派綜合分析各項數(shù)據(jù)以提供高精度導航,實現(xiàn)自動制動和轉向。系統(tǒng)有效解決了地塊不平整與地塊形狀不規(guī)則帶來的自動導航精度不足的問題,推動小型農業(yè)機械的自動化,解放勞動力,更好地服務農業(yè)機械化率年增長超2百分點的目標。
關鍵詞:農業(yè)機械;樹莓派;STM32;導航
中圖分類號:TP399 文獻標志碼:A
0 引言(Introduction)
丘陵山區(qū)占我國國土面積的2/3,我國丘陵山區(qū)耕地面積占總耕地面積的1/3,是糧食經(jīng)濟作物的重要生產基地。丘陵山區(qū)耕地的地理狀況復雜,地理特征具有多樣性的特點,地塊細碎零亂、高低不平、坡多臺多埂多、形狀不規(guī)則,導致農機下地難、作業(yè)難、轉運難。丘陵山區(qū)農業(yè)機械化是我國農業(yè)機械化發(fā)展的最大短板所在。同時,大量青壯年勞動力外流、農耕人口老齡化、勞動力價格上漲和種糧收益下降,導致許多優(yōu)質丘陵耕地出現(xiàn)撂荒現(xiàn)象。
近年來,西南諸省大力推廣土地平整改造,推動農田地塊小并大、短并長、陡變平、曲變順和互聯(lián)互通,提高農機適應性。同時,發(fā)展應對丘陵耕地特色的智能化農具,開發(fā)體型輕便、可精確導航及制動轉向性強的小微型農業(yè)耕具,助力提升丘陵山區(qū)的農業(yè)機械化水平。推動小型農業(yè)機械自動化發(fā)展可以有效地解決丘陵耕地撂荒問題。本文設計的小型農業(yè)機械自動導航控制系統(tǒng),旨在結合現(xiàn)有的小型化農業(yè)機械,為其提供高精度自動導航,實現(xiàn)對市場現(xiàn)有小型化農業(yè)機械的自動化升級和改造。
1 系統(tǒng)總體設計(Overall system design)
小型農業(yè)機械自動導航控制系統(tǒng)分為硬件設計、軟件設計、控制平臺3大部分。系統(tǒng)硬件結構如圖1所示。
系統(tǒng)硬件部分分為流動基準站、車載自動導航控制系統(tǒng)。流動基準站由全球導航衛(wèi)星系統(tǒng)接收機、定位天線、信號發(fā)送天線等組成[1]。車載自動導航控制系統(tǒng)的硬件部分由樹莓派主控板、STM32驅動板、雙目攝像頭、紅外攝像頭、雙頻定位模塊、慣性導航裝置、轉向驅動裝置、液壓驅動裝置、OLED顯示屏等設備組成[2]。系統(tǒng)軟件主要解決地塊細碎、曲線邊界、地塊不平整和高度落差等導致的導航不精確問題。系統(tǒng)采用紅外熱成像圖像增強技術,結合自適應視覺導航算法,能有效解決晝夜環(huán)境下障礙物與地塊邊界識別難的問題。同時,采用GNSS(GlobalNavigation Satellite System)+IMU(Inertial Measurement Unit)的定位方案,利用慣性導航解算算法實時推算運動姿態(tài)信息。控制平臺則采用便捷的微信小程序進行開發(fā)。
2 硬件設計(Hardware design)
2.1 流動基準站
流動基準站由定位天線、全球導航衛(wèi)星系統(tǒng)接收機、信號發(fā)送天線等組成。定位天線用于接收定位衛(wèi)星發(fā)送的定位信號;全球導航衛(wèi)星系統(tǒng)接收機用于記錄衛(wèi)星位置和信號到達時間等信息,處理并解算農具位置信息;信號發(fā)送天線用于發(fā)送接收機的記錄信息。雙頻定位模塊將采集到的衛(wèi)星定位信息與流動基準站發(fā)送的記錄信息相比較,經(jīng)定位算法處理,計算位置誤差,并修正其位置,從而實現(xiàn)高精度的定位[3]。
2.2 車載自動導航控制系統(tǒng)
車載自動導航控制系統(tǒng)按組成設備功能可分為感知層、數(shù)據(jù)處理層和設備驅動層。
感知層主要由雙目攝像頭、紅外攝像頭、雙頻定位模塊、慣性導航裝置組成。雙目攝像頭可以拓寬視野感知范圍,靜止時可獲取前方物體的距離信息,適合應用在地塊細碎的耕地,可以捕捉耕地邊界線、測量邊界線距離。紅外攝像頭作為雙目攝像頭感知補充設備,用于解決夜間、霧天等光線昏暗、能見度低等問題。雙頻定位模塊具備高集成度、低功耗、抗干擾和高靈敏度等特點,用于接收定位衛(wèi)星發(fā)送的信息與流動基準站的記錄信息,支持所有民用全球導航衛(wèi)星系統(tǒng)(GNSS),自身集成解算芯片,能夠實現(xiàn)片上實時動態(tài)(Real-Time Kinematic,RTK)定位,為自動導航控制系統(tǒng)提供厘米級高精度的實時定位。慣性導航裝置是由三軸陀螺儀、三軸加速度計、三軸磁力計和氣壓計等組成,可以實現(xiàn)三維運動姿態(tài)測量,通過高性能傳感器和自身集成的姿態(tài)解算器,結合動態(tài)卡爾曼濾波融合算法,可獲得高精度、高動態(tài)的三軸姿態(tài)角度。慣性導航裝置與雙頻定位模塊的信息相融合,實時推算速度、位置、轉動角度等運動參數(shù),為設備驅動層調整機械運動速度、偏轉角度等運動姿態(tài)。
樹莓派主控板負責完成數(shù)據(jù)處理層任務。樹莓派主控板具備體積小、高運算速度、豐富外設接口等優(yōu)點,自身集成2.4 GHz和5 GHz雙頻段的無線網(wǎng)卡和藍牙5.0,同時該主板支持Python、C等編程語言進行開發(fā)[4]。樹莓派具備完整的電腦功能,樹莓派安裝Ubuntu18.04操作系統(tǒng)后,可通過OLED(Organic Light-Emitting Diode)顯示屏顯示交互界面,可操作鍵盤、鼠標等設備進行網(wǎng)絡連接與命令行輸入等操作。
設備驅動層由STM32驅動板、轉向驅動裝置、液壓驅動裝置構成。STM32驅動板擁有豐富的外設接口,連接轉向驅動裝置和液壓驅動裝置,可以測量設備電壓并驅動電機轉動。豐富的通信接口可以使其與樹莓派、慣性導航裝置相互通信。通過移植RT-Thread操作系統(tǒng)使STM32驅動板具備了實時處理多任務、控制多外設的能力。轉向驅動裝置連接機械的轉向輪,STM32驅動板結合轉向驅動裝置與慣性導航裝置的反饋信息,實時調控轉向驅動裝置的偏轉角度。液壓驅動裝置連接機械供油裝置,依據(jù)慣性導航裝置測算的速度,STM32驅動板可調節(jié)液壓驅動裝置的伸展長度,實現(xiàn)對供油裝置的控制。
3 軟件設計(Software design)
3.1 紅外熱成像處理
紅外熱成像技術是一種波長轉換技術,通過對外界場景中各物體輻射能量的探測,通過利用外界場景中各物體輻射強度大小的不同獲得圖像的背景和紋理細節(jié)。這使得設備不再受限于光照強度及光譜范圍的約束,突破了人眼的視覺特性。雖然紅外熱成像設備能夠較好地處理紅外圖像的非均勻性、盲元等問題,但仍存在圖像對比度低、分辨率差的問題。
紅外熱成像圖像增強技術是通過對輸入圖像進行分層操作實現(xiàn)的。輸入圖像經(jīng)雙邊濾波器濾波后獲得圖像的背景層,輸入圖像減去背景層信息后,獲得圖像的信息細節(jié),作為細節(jié)層圖像。對細節(jié)層圖像進行細節(jié)增強處理,對背景層圖像進行直方圖均衡化處理,提高圖像對比度,將處理后的細節(jié)層和背景層圖像融合為一幀圖像,從而達到紅外圖像增強細節(jié)、提高對比度的目的[5]。紅外熱成像圖像增強技術原理如圖2所示。
3.1.1 輸入圖像分層操作
經(jīng)典低通濾波器只能濾除圖像中的高頻分量,不能分離出高頻分量中的有效信息,會導致高頻分量的細節(jié)信息丟失,導致紅外圖像的紋理細節(jié)和邊緣特征出現(xiàn)模糊。為保留紅外圖像中的邊緣特征和紋理細節(jié),本文采用雙邊濾波器對紅外圖像進行分層處理[5-7]。雙邊濾波是一種非線性的濾波方法,是結合了圖像的空間鄰近度和像素值相似度的一種綜合濾波方式,同時考慮空間域信息和灰度相似性,以達到保留邊緣特征和抑制噪聲的效果。
雙邊濾波器MATLAB核心代碼:
function b=BF_Filter(img,r,sigma_d,sigma_r)
%% 輸入?yún)?shù):img(待濾波圖像),r(模板半徑)
%% sigma_d (空域矩陣標準差),sigma_r(值域矩陣標準差)
% 判斷是否為灰度圖像
if(size(img,3)gt;1)
img=rgb2gray(img);
end
[x,y]=meshgrid(-r:r);
% 空域權重矩陣
size=(2r+1)*(2r+1);
w_spacial=exp(-(x.^2+y.^2)/(2*sigma_d.^2));
[m,n]=size(img);
img=double(img);
% 擴展圖像
size=(m+2r)*(n+2r);
f_temp =padarray(img,[r r],'symmetric');
% 滑動窗口并濾波
b=zeros(m,n);
for i=r+1:m+r
for j=r+1:n+r
Temp=f_temp(i-r:i+r,j-r:j+r);
w_value=exp(-(tempimg(i-r,j-r)).^2/(2*sigma_r^2));
w=w_spacial .* w_value;
s=temp.*w;
b(i-r,j-r)=sum(s(:))/sum(w(:));
end
end
end
3.1.2 細節(jié)層圖像處理
細節(jié)層圖像含有場景物體的紋理細節(jié)和隨機噪聲信息。普通線性增強處理在增強圖像細節(jié)信息的同時,也會放大隨機噪聲,影響圖像成像效果。研究表明,人眼視覺系統(tǒng)對復雜的紋理區(qū)域中的噪聲敏感度相對較弱,對平坦區(qū)域的噪聲敏感度較高[8],由此可以通過建立噪聲模板的可見性函數(shù),反映圖像不同部位噪聲的可見程度[5]。結合自適應增益算法調整圖像中不同區(qū)域的增益系數(shù)[9],可實現(xiàn)細節(jié)層圖像抑制噪聲增強細節(jié)的目的。
自適應增益算法MATLAB核心代碼:
function agcsig=agc(inputSig,gainFac)
inputPower=sum(abs(inputSig).^2);
% 計算輸入信號的平均功率
averagePower=inputPower/length(inputSig);
% 根據(jù)增益因子計算目標功率
targetPower=averagePower * gainFac;
% 計算需要應用的增益
inputGain=sqrt(targetPower/inputPower);
% 應用增益到輸入信號
agcsignal=inputSig.*inputGain;
end
3.1.3 背景層圖像處理
由于背景層中含有豐富的場景信息,濾波不充分會使部分細節(jié)信息殘留。對背景層圖像的處理主要是對背景信息采用合理的算法來提高對比度。直方圖均衡算法是以圖像各灰度級概率的累積分布函數(shù)作為變換函數(shù),將原圖像映射為一幅灰度級分布較均勻的圖像,以增大圖像灰度級的動態(tài)范圍,從而增強圖像的對比度。直方圖均衡算法可使圖像中像素個數(shù)多的灰度值進行展寬,對像素個數(shù)少的灰度值進行歸并,處理后的圖像對比度增大、清晰度提高,起到增強圖像的效果[10-12]。
直方圖均衡算法MATLAB核心代碼:
% Ⅰ為需處理圖像的灰度圖
[R, C]=size(Ⅰ);
% 統(tǒng)計每個像素值出現(xiàn)的次數(shù)
cnt=zeros(1,256);
for i=1:R
for k=1:C
cnt(1,Ⅰ(i,k)+1)=cnt(1,Ⅰ(i,k)+1)+1;
end
end
f=zeros(1,256);
f=double(f);
cnt=double(cnt);
% 統(tǒng)計每個像素值出現(xiàn)的概率,得到概率直方圖
for g=1:256
f(1,g)=cnt(1,g)/(R*C);
end
% 求累計概率,得到累計直方圖
for i=2:256
f(1,i)=f(1,i-1)+f(1,i);
end
% 用f數(shù)組實現(xiàn)像素值[0, 255]的映射
for i=1:255
f(1,i)=f(1,i)*255;
end
3.2 慣性導航解算
3.2.1 定位和姿態(tài)解算原理
本系統(tǒng)采用GNSS+IMU的定位方案,利用慣性導航裝置測量設備運行的加速度、角速率等物體運動變化信息,結合給定的初始條件,與雙頻定位模塊提供的位置信息相融合,通過慣性導航解算算法實時推算速度、位置、姿態(tài)等參數(shù)。慣性導航解算是指利用慣性測量單元(IMU)的三軸陀螺儀、三軸加速度計、三軸磁力計和氣壓計,通過積分運算得到目標物體的位置、速度和姿態(tài)信息的過程。系統(tǒng)設計中,結合雙頻定位模塊和IMU進行精確的運動姿態(tài)解算,以適應丘陵耕地地理環(huán)境。首先對數(shù)據(jù)進行預處理,將雙頻定位模塊和IMU數(shù)據(jù)進行時間對齊和同步,確保兩者采樣率和時間戳一致。其次進行定位解算和姿態(tài)解算,利用雙頻定位模塊數(shù)據(jù)進行定位解算,可以采用MATLAB內置的函數(shù)如pos2lla將定位坐標轉換為經(jīng)緯度;使用IMU數(shù)據(jù)實現(xiàn)姿態(tài)解算,解算方法為四元數(shù)法,采用euler2quat函數(shù)將歐拉角轉換為四元數(shù)表示姿態(tài)。最后融合雙頻定位和IMU數(shù)據(jù),將定位解算的位置信息與姿態(tài)解算的姿態(tài)信息進行融合,得到最終的姿態(tài)解算結果。可以使用四元數(shù)法將定位位置信息轉換到IMU坐標系下,再根據(jù)姿態(tài)解算的結果進行補償。此外,姿態(tài)解算還可能受到傳感器噪聲、漂移等因素的影響,需要進行濾波和校正,設計中采用卡爾曼濾波算法融合兩種傳感器的數(shù)據(jù)進行濾波與誤差補償,以提高定位的準確性和穩(wěn)定性。卡爾曼濾波是一種利用系統(tǒng)動態(tài)方程和觀測方程估計系統(tǒng)狀態(tài)的優(yōu)化方法,通過不斷地更新狀態(tài)估計值,可以有效地抑制傳感器數(shù)據(jù)的噪聲和誤差,從而提高定位的精度和穩(wěn)定性[13-14]。定位和姿態(tài)解算流程如圖3所示。
3.2.2 姿態(tài)解算
由于丘陵山區(qū)的地形復雜,機械耕具必須實現(xiàn)小型化,并且具備精確導航、制動反應快速和轉向靈敏的特點,因此系統(tǒng)設計對耕具的姿態(tài)解算提出了較高的要求。系統(tǒng)利用慣性導航裝置內置的加速度計與陀螺儀測量運動物體的加速度、三軸姿態(tài)角度等數(shù)據(jù)。本文的設計采用的加速度計是利用具有壓電效應的晶體在受力時會發(fā)生晶體形變而產生電壓的特性,計算獲得產生電壓和所施加的力之間的關系,將加速度轉化成電壓輸出。陀螺儀運動時,受到的科里奧利力會把角速率轉換成一個感測結構的位移,感測結構的位移會產生電容變化,通過感測結構電容變化測量產生的位移,因為位移大小與所施加的角速率大小成正比,所以可以獲得角速度和角加速度量。加速度計、陀螺儀測量的數(shù)據(jù)通過姿態(tài)解算得出物體實時位置、速度、姿態(tài)信息。姿態(tài)解算流程如圖4所示。
慣性導航解算算法MATLAB核心代碼:
% 初始化卡爾曼濾波器參數(shù)
A=eye(3);% 狀態(tài)轉移矩陣
C=eye(3);% 測量矩陣
Q=eye(3);% 系統(tǒng)噪聲協(xié)方差
R=eye(3);% 測量噪聲協(xié)方差
P=eye(3);% 初始估計誤差協(xié)方差
% 初始化狀態(tài)估計和協(xié)方差矩陣
x_est=zeros(3,1);% 狀態(tài)估計
P_est=P;% 估計誤差協(xié)方差
% imu_data為IMU采集數(shù)據(jù);gps_data為GPS采集數(shù)據(jù)
for i=1:length(imu_data)
% 預測步驟
x_pred=A * x_est;
P_pred=A * P_est * A'+ Q;
% 更新步驟
y=gps_data(i,:)'-C * x_pred;
S=C*P_pred *C'+R;
K=P_pred *C'/S;
x_est=x_pred +K*y;
P_est=(eye(3)- K*C)*P_pred;
% 輸出當前位置估計值
disp([‘當前位置估計:’,num2str(x_est')]);
end
4 控制平臺(Control platform)
系統(tǒng)控制平臺采用微信小程序進行開發(fā)。微信小程序的特點是方便易用,占用空間較小。豐富的API接口方便接入并調用第三方數(shù)據(jù)平臺,節(jié)約了開發(fā)周期和成本。微信的廣大用戶群體也方便了小程序的推廣和應用。系統(tǒng)通過API接口接入第三方數(shù)據(jù)平臺,為系統(tǒng)運作提供電子地圖、規(guī)劃自動導航線路等各類信息。微信小程序控制平臺通過與車載控制系統(tǒng)的樹莓派主控板的藍牙模塊相連,實現(xiàn)兩者的通信交流。小程序操作界面如圖5所示。
微信小程序設置了3個功能頁面:功能、記錄、我的。功能頁面設置有衛(wèi)星地圖、導航路線、藍牙連接、啟動4個功能按鍵,衛(wèi)星地圖能夠獲取終端設備的定位信息,調取定位位置的衛(wèi)星地圖顯示于頁面左側,地圖下設有縮放滑動桿,用于放大和縮小地圖。導航路線用于在衛(wèi)星地圖上劃定耕作地塊,并生成地塊的耕作路線。藍牙連接使用終端主控板設備的藍牙,連接車載控制系統(tǒng)樹莓派主控板的藍牙模塊,用于傳輸耕作路線的坐標信息與設備控制命令。啟動按鍵用于啟動設備按照耕作路線自動導航。記錄頁面可以查詢設備使用信息。我的頁面用于用戶輸入設備號、賬號、密碼等登錄信息,賬戶與設備是一對多的映射關系,方便一個賬戶同時管理多臺設備。
5 市場調研(Market survey)
調查數(shù)據(jù)顯示,我國丘陵山區(qū)的耕地面積占總耕地面積的1/3,是我國糧油糖和特色農產品的重要生產基地,涉及農業(yè)人口近3億。因此,提升丘陵山區(qū)的機械化率迫在眉睫。2010—2017年,我國農業(yè)機械化率從52%增長到66%,平均每年增長2百分點。2017—2022年,平均每年增長1.6百分點,平均每年增長率在不斷下降。
對國內外購物平臺和搜索網(wǎng)站的調查顯示,隨著科技的發(fā)展,全球農業(yè)生產已從主要依靠人力、畜力轉向主要依靠機械動力,進入機械化為主導的新階段。小型智能農業(yè)機械操作簡單、方便,并且作業(yè)效率高,因此深受廣大農民的喜愛。在農業(yè)機械化全面發(fā)展的背景下,全球小型智能農業(yè)機械產品需求持續(xù)增長,市場規(guī)模隨之攀升。我國高原、丘陵及山地地區(qū)受地形限制,機械化水平低,而小型智能農業(yè)機械產品主要解決了高原、丘陵、山地地區(qū)農業(yè)機械化水平低的問題。因此,我國對小型智能農業(yè)機械產品的需求也日益增長。
6 結論(Conclusion)
本文設計了一款小型農業(yè)機械自動導航控制系統(tǒng),系統(tǒng)由硬件設計、軟件設計、控制平臺3個部分組成。系統(tǒng)硬件部分包括流動基準站和車載自動導航控制系統(tǒng);軟件設計著重介紹了紅外熱成像圖像處理技術和慣性導航解算應用于丘陵耕地的精確導航;控制平臺采用微信小程序,實現(xiàn)了電子地圖、路徑導航和藍牙連接等功能。對該系統(tǒng)的應用需求進行市場調研后發(fā)現(xiàn),隨著我國農業(yè)機械化的發(fā)展,對小型智能農業(yè)機械產品的需求會持續(xù)增長。本文以較低的成本設計了一款小型農業(yè)機械自動導航控制系統(tǒng),與現(xiàn)有的小型農業(yè)機械產品融合,滿足了丘陵耕地的需求。
參考文獻(References)
[1] 劉慧,劉賓. 智慧農機的自動導航輔助駕駛系統(tǒng)設計[J].單片機與嵌入式系統(tǒng)應用,2023,23(1):76-79.
[2] 袁勛,湯兵兵. 基于ARM的農機無人駕駛系統(tǒng)硬件設計[J].南方農機,2018,49(19):76.
[3] 朱清山,高廣智,牛文祥. 農機自動導航駕駛系統(tǒng)及其應用[J].現(xiàn)代化農業(yè),2016(5):65-67.
[4] 王鵬,羅全珍. 基于無人車自動構圖導航系統(tǒng)的設計與實現(xiàn)[J]. 物聯(lián)網(wǎng)技術,2020,10(5):77-79.
[5] 蘇慶旦. 紅外熱成像系統(tǒng)實現(xiàn)及其圖像增強技術研究[D].西安:西安電子科技大學,2015.
[6] 陸善婷,楊敏紅. 雙邊濾波器在X射線圖像平滑濾波中的應用[J]. 機電一體化,2013,19(1):77-80.
[7] 劉尚旺,郜劉陽,王博. 聯(lián)合雙邊濾波器和小波閾值收縮去噪算法研究[J]. 國土資源遙感,2018,30(2):114-124.
[8] SUN L M,WANG J T,LI S S. A new infrared image enhancementalgorithm [C]∥IEEE. Proceedings of the IEEE:IEEE. 2017 29th Chinese Control And Decision Conference,Piscataway:IEEE,2017:422-425.
[9] 全永奇,李太君,鄧家先,等. 模糊集與非線性增益相結合的自適應圖像增強算法[J]. 計算機應用研究,2016,33(1):311-315.
[10] 完顏丹丹. 紅外圖像對比度增強算法研究[D]. 洛陽:河南科技大學,2012.
[11] 鄧超迪,李川,李英娜. 基于直方圖均衡化和雙邊濾波的變壓器紅外圖像增強[J]. 電力科學與工程,2020,36(11):38-44.
[12] 呂侃徽,張大興. 基于自適應直方圖均衡化耦合拉普拉斯變換的紅外圖像增強算法[J]. 光學技術,2021,47(6):747-753.
[13] 徐辛超,姜姍姍. 魯棒無跡卡爾曼濾波組合導航定位方法[J].測繪科學,2023,48(1):16-22.
[14] 唐伏乾. 車載組合導航系統(tǒng)卡爾曼濾波模型誤差研究[D].長春:吉林大學,2022.
作者簡介:
吳浩基(2000-),男,本科生。研究領域:通信技術,嵌入式系統(tǒng)開發(fā)。
朱又敏(1966-),男,碩士,工程師。研究領域:無線通信,通信系統(tǒng)設計。本文通信作者。
馮智銳(2002-),男,本科生。研究領域:通信技術,軟件設計。
基金項目:國家級大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目資助(202310566029)