王 昊 陳興旺 龍 恒 張 琛 范津榕 蔣 偉
(揚(yáng)州大學(xué),江蘇 揚(yáng)州225400)
近年來,現(xiàn)代農(nóng)業(yè)正處于一場前所未有的現(xiàn)代化革命中,三農(nóng)產(chǎn)業(yè)的發(fā)展正逐步進(jìn)入精細(xì)化的發(fā)展階段。全球科學(xué)界對機(jī)器人自動(dòng)軌跡巡航和機(jī)器視覺的研究正在逐步深化[1]。GPS 全球衛(wèi)星導(dǎo)航技術(shù),具有覆蓋面積廣、誤差累計(jì)小、抗氣候影響能力強(qiáng)和定位精度高以等優(yōu)點(diǎn),不同于市場成本較高、維護(hù)要求高的各種高精度組合導(dǎo)航設(shè)備,單GPS 導(dǎo)航設(shè)備在使用卡爾曼濾波算法后在降低使用成本的同時(shí)也保持原有的高精度不變。但是GPS 導(dǎo)航系統(tǒng)也有諸多較大的缺陷:直接提供姿態(tài)信息難度較大,數(shù)據(jù)更新不及時(shí),頻帶寬度較窄,信號(hào)抗干擾性能差,且載體高速運(yùn)動(dòng)時(shí),GPS 信號(hào)容易丟失,導(dǎo)致導(dǎo)航系統(tǒng)失效[2]。本項(xiàng)目采用單GPS 配合多傳感器進(jìn)行探究,其目的是設(shè)計(jì)一種造價(jià)較低、維護(hù)難度不高、實(shí)用性能較強(qiáng)的自走式農(nóng)業(yè)機(jī)械設(shè)備組合導(dǎo)航系統(tǒng),實(shí)現(xiàn)解決機(jī)器人在復(fù)雜環(huán)境下易受電磁信號(hào)干擾、誤差累積、導(dǎo)航精度隨時(shí)間發(fā)散以及GPS 信號(hào)大滯后等實(shí)際問題,實(shí)現(xiàn)精細(xì)化農(nóng)業(yè)生產(chǎn)中機(jī)器人精密巡航策略研究與實(shí)現(xiàn)。
1.1 Kalman 濾波算法原理簡介。Kalman 濾波器用即時(shí)反饋的方法進(jìn)行估算教學(xué)過程發(fā)展?fàn)顟B(tài):濾波器先估算運(yùn)動(dòng)管理過程中某一時(shí)刻的狀態(tài),然后通過利用(含噪聲的)測量控制變量可以獲得即時(shí)反饋。因此,Kalman 濾波器包括兩個(gè)分支:即時(shí)間狀態(tài)更新方程以及測量狀態(tài)更新方程。時(shí)間狀態(tài)更新方程向前推算狀態(tài)值并估計(jì)方差協(xié)方差的值,然后構(gòu)造出下一個(gè)時(shí)間狀態(tài)先驗(yàn)估計(jì)值。測量狀態(tài)更新方程負(fù)責(zé)即時(shí)反饋,將先驗(yàn)估計(jì)與新的測量變量進(jìn)行結(jié)合,然后構(gòu)造后驗(yàn)估計(jì)。
zk= Hxk+vk
將過程激勵(lì)噪聲和觀測噪聲分別定義為隨機(jī)信號(hào)Wk和Vk。假設(shè)它們是彼此相互獨(dú)立,并服從正態(tài)分布的一對白色噪聲:
在實(shí)際應(yīng)用中,由于每次迭代計(jì)算,過程激勵(lì)噪聲矩陣Q 和觀測噪聲矩陣R 會(huì)產(chǎn)生響應(yīng)值變化,為方便推導(dǎo),我們將這兩個(gè)變量定義為常數(shù)。
當(dāng)控函uk-1或過程激勵(lì)噪聲Wk-1的值變成零時(shí),1.1 中的n×n 階矩陣A 將上一時(shí)刻k-1 的狀態(tài)線性映射到當(dāng)前時(shí)刻k的狀態(tài)。使用n×1 階矩陣B 來表示控制輸入增益。使用m×n階矩陣H 代表狀態(tài)變量xk對測量變量zk的增益[3]。這里假設(shè)H為常數(shù)。
1.4 Kalman 濾波器算法,見圖1。
圖1 離散卡爾曼濾波器循環(huán)更新圖[4]
2.1 設(shè)計(jì)機(jī)器人Mecanum 四輪電機(jī)同步工作與全向移動(dòng)的協(xié)調(diào)機(jī)制?;诠た貦C(jī)DSP 端的Python 編程上位機(jī)控制界面,通過Rasberry 與下位機(jī)運(yùn)動(dòng)控制卡實(shí)現(xiàn)相互通信。下位機(jī)將模擬信號(hào)或者數(shù)字脈沖信號(hào)發(fā)送給伺服電機(jī)驅(qū)動(dòng)器,對電機(jī)的速度或者角度進(jìn)行相應(yīng)驅(qū)動(dòng)。驅(qū)動(dòng)器將速度狀態(tài)及時(shí)反饋給上位機(jī)實(shí)現(xiàn)閉環(huán)控制。(圖2)
圖2 DSP 驅(qū)動(dòng)電機(jī)方案圖
2.2 基于嵌入式導(dǎo)航信號(hào)接收模塊的衛(wèi)星地面導(dǎo)航信號(hào)輸入反饋系統(tǒng)設(shè)計(jì)。GPS 模塊設(shè)計(jì)主要可以用來接收來自全球定位系統(tǒng)的定位信號(hào),當(dāng)GPS 模塊接受完坐標(biāo)信息后,將其傳給ARM處理器進(jìn)行相關(guān)信息分析處理。在本項(xiàng)目中,ARM9 芯片與GR-87 GPS 模塊相連,GPS 模塊的坐標(biāo)信息通過串口傳送到ARM 處理器,然后控制電機(jī)全方位運(yùn)動(dòng)[5]。該系統(tǒng)采納NMEA0l83 協(xié)議實(shí)現(xiàn)對GPS 傳輸信號(hào)的三維分析。單個(gè)GPS 導(dǎo)航系統(tǒng)硬件框圖如圖3。
圖3 控制系統(tǒng)硬件設(shè)計(jì)框圖
2.3 機(jī)器人單GPS 高精度、低成本導(dǎo)航系統(tǒng)搭載平臺(tái)硬件設(shè)計(jì)。系統(tǒng)進(jìn)行硬件設(shè)計(jì)平臺(tái)的核心電路可以采用S3C2440A處理器作為一個(gè)中央處理器,集成各種數(shù)據(jù)接口控制車載導(dǎo)航系統(tǒng)。利用HOLUX 的GR-87 模塊負(fù)責(zé)收集導(dǎo)航信號(hào),SD 卡用于電子地圖的儲(chǔ)存,GPS 模塊與處理器之間的通訊則是利用RS232 接口。(圖4)
具體工作過程如下: 首先,衛(wèi)星發(fā)射位置信息,GR-87 模塊進(jìn)行接收,由RS232 接口發(fā)送給處理器,在接受到坐標(biāo)信息后,根據(jù)指令,提取出原信息中自己所需的坐標(biāo)信息,然后傳送給投影坐標(biāo)轉(zhuǎn)換庫Proj。
圖4 農(nóng)業(yè)機(jī)器人實(shí)物圖
2.4 機(jī)器人導(dǎo)航系統(tǒng)GPS 定位程序設(shè)計(jì)與信號(hào)滯后誤差消除。GPS 定位程序部分基于嵌入式Linux 操作系統(tǒng),使用Python語言借助Qt 軟件進(jìn)行開發(fā)。將SK 定位模塊中傳輸?shù)男盘?hào)分為輸入信號(hào)和輸出信號(hào)。輸入信號(hào)包括GPS 導(dǎo)航信息和控制命令;輸出信號(hào)則包括農(nóng)機(jī)位置的經(jīng)度信息、緯度信息、行駛速率、行駛方向。利用RS232 串口與微控模塊進(jìn)行數(shù)據(jù)通信,利用串口COM1 接受目標(biāo)農(nóng)機(jī)位姿信息,利用串口COM2 傳遞控制指令、數(shù)據(jù)通信和接受控制命令。
由于GPS 信號(hào)傳輸過程中信號(hào)傳輸滯后的存在,不可避免的會(huì)導(dǎo)致產(chǎn)生機(jī)器人巡航偏離,因而可利用卡爾曼濾波算法構(gòu)建非線性模型來彌補(bǔ)誤差。設(shè)置完成SK 定位模塊數(shù)據(jù)傳輸串口后,即可接受定位數(shù)據(jù)。
綜上所述,本項(xiàng)目提出了一種新的基于單GPS 與多傳感器融合的機(jī)器人自主導(dǎo)航系統(tǒng),該系統(tǒng)由GPS 接受外部信號(hào),信號(hào)傳送到ARM 處理器進(jìn)行信號(hào)解析,再將解析信號(hào)傳送到DSP 控制系統(tǒng),對機(jī)器人的運(yùn)動(dòng)速率與方向進(jìn)行實(shí)時(shí)調(diào)節(jié)。同時(shí),該系統(tǒng)利用了Kalman 濾波算法,對由于GPS 刷新率較低導(dǎo)致的滯后誤差進(jìn)行修正,從而有效提高機(jī)器人實(shí)地作業(yè)時(shí)的工作效率和運(yùn)動(dòng)精度。伴隨著時(shí)代不斷進(jìn)步,探究以自走式導(dǎo)航機(jī)器人代替人力,利用路徑規(guī)劃,用以解決農(nóng)作物耕種、施肥、灌溉等諸多環(huán)節(jié),同時(shí)提高生產(chǎn)效率,具有非常積極的應(yīng)用價(jià)值及現(xiàn)實(shí)意義。