宋 敏,吳豪杰
(天津職業(yè)技術(shù)師范大學(xué),天津 300222)
隨著經(jīng)濟的快速發(fā)展,種植農(nóng)作物的種類日漸豐富,農(nóng)民的工作強度和工作量也在逐漸增加,在農(nóng)業(yè)耕作方面越來越多的人選擇農(nóng)用機器人解放繁重的勞動力。 各種普通電池驅(qū)動農(nóng)用機器人數(shù)量的增加,緩解了部分勞動力的同時,也帶來了環(huán)境污染、消耗成本大、生產(chǎn)效率低、資源利用不合理等問題[1]。 這些現(xiàn)實問題限制了在農(nóng)業(yè)上使用機器人代替人力的頻率,從而無法滿足農(nóng)民追求解放繁重勞動力的需求。
本系統(tǒng)以嵌入式硬件平臺為基礎(chǔ),利用GPS 定位、超聲波傳感器、慣性導(dǎo)航等技術(shù)完成設(shè)計,研究普通電池驅(qū)動農(nóng)用機器人出現(xiàn)的各種問題,通過對機器人進(jìn)行定位、導(dǎo)航以及避障的控制,實現(xiàn)對任務(wù)目標(biāo)路徑優(yōu)化,提高系統(tǒng)的安全性和工作效率。 采用燃料電池驅(qū)動的方式,改善了普通電池驅(qū)動帶來的環(huán)境污染問題。
通過AGV、GPS、 慣性導(dǎo)航等技術(shù)的燃料電池驅(qū)動農(nóng)用機器人控制系統(tǒng),實現(xiàn)對任務(wù)目標(biāo)路徑優(yōu)化,提高安全性、工作的可靠性以及工作效率。 利用超聲波傳感器對行駛方向進(jìn)行障礙檢測,若前方存在障礙物則需要優(yōu)先避開障礙。 系統(tǒng)總體設(shè)計框圖如圖1 所示。
圖1 系統(tǒng)總體框圖
系統(tǒng)的硬件部分主要有GPS 模塊、AGV 電磁巡線模塊、MPU6050 陀螺儀模塊、超聲波避障模塊以及微控制器。
在室外定位的方式多種多樣,如果只需要大概的位置信息,便可以使用GPS 定位。 在一般情況下,GPS 定位的精度在5m 左右,通過GPS 模塊就可以確定機器人在戶外的大致位置信息。 本設(shè)計采用了集成的GPS 定位模塊,模塊采集的位置信息通過串口發(fā)送至主控制器。 模塊原理圖如圖2 所示。
圖2 模塊原理圖
在地面鋪設(shè)電磁引導(dǎo)線并通入20kHz 的正弦信號,機器人加裝用于采集磁場信號的電感后就可以用自動沿著電磁引導(dǎo)線前進(jìn)。 這一方式的定位精度可到亞厘米級,精度較高,可用于機器人的運動路徑規(guī)劃。 巡線的原理是電磁感應(yīng)定律,即磁通量的變化會在線圈中引起感應(yīng)電動勢。傳感器與電磁引導(dǎo)線的距離越近,感應(yīng)電動勢就越大,故這一電動勢稍加處理就可以反映出當(dāng)前機器人與引導(dǎo)線的相對位置偏差,進(jìn)而實現(xiàn)巡線功能。 使用10mH 電感與6.8nF 電容組成并聯(lián)諧振電路,可以有效地輸出20kHz的信號而抑制其他頻率信號的影響,但因輸出是交變的信號,故還須在后一級電路中對信號進(jìn)行整流[2]。 圖3 為電感傳感器的等效電路圖。
圖3 等效電路圖
MPU6050 是一款集成的運動處理組件,可用于采集地磁方向與加速度信息。 在本設(shè)計中未使用地磁場信息,僅使用了模塊的三軸加速度信息。 確定了出發(fā)位置后,不斷對機器人的三軸加速度積分,就可推算出當(dāng)前的位置、速度以及偏航角等信息。這種定位或路徑規(guī)劃方法稱為慣性導(dǎo)航,因幾乎不依賴任何外界信息,也幾乎不受外界環(huán)境干擾的優(yōu)點,廣泛用于潛艇、飛機與彈道導(dǎo)彈等等[3]。 因為無法獨立預(yù)測識別途中是否存在合適的道路或障礙物,這一方法較少應(yīng)用于地面交通工具。圖4 為模塊原理圖。
圖5 超聲波測距模塊原理圖
超聲波避障的原理是使用超聲波對機器人的行駛方向測距,若在距離測量范圍之內(nèi)有障礙物,則可以確定機器人到障礙物的距離,進(jìn)而通過MCU 實現(xiàn)避障。 超聲波測距是一種間接測距方式。 在進(jìn)行測距時,模塊發(fā)射端向某一方向發(fā)出一段一定頻率的超聲波,若該方向上有某一物體,則超聲波會被反射回來并被接收端捕獲,因為聲波在空氣中的傳播速度相對固定,15℃時約為340m/s,通過記錄發(fā)射與接收的時間間隔,就可以算出模塊到障礙物的直線距離。 圖5 為超聲波測距模塊的原理圖。
STM32F103 是 ST (意法半導(dǎo)體) 公司推出的基于ARM Cortex-M3 架構(gòu)的32 位微控制器系列。 本設(shè)計中的主控制器使用的是其中一款暢銷的芯片STM32F103ZET6,該芯片支持最大72MHz 時鐘主頻,支持單周期的乘法與硬件除法,擁有11 個定時器、3 個ADC、5個USART 接口與112 個雙向I/O 口,性能強勁,功能強大。 圖6 為最小系統(tǒng)的原理圖。
圖6 最小系統(tǒng)原理圖
完成硬件電路的搭建后,就可以著手進(jìn)行軟件部分的設(shè)計。 軟件與硬件有機協(xié)調(diào)配合才能讓系統(tǒng)更加平穩(wěn)地運行。 在進(jìn)行軟件設(shè)計的時候需要充分考慮硬件電路的特性以及可能發(fā)生的意外情況。
系統(tǒng)軟件部分開發(fā)在集成的開發(fā)環(huán)境中完成。 一般用于開發(fā)STM32 系列微控制器軟件的集成開發(fā)環(huán)境是Keil MDK。 Keil MDK 簡潔實用,完美支持 Cortex-M 系列的產(chǎn)品,且可搜集到的STM32 的源碼資料大多是在Keil MDK 平臺上編寫的,這有助于新手學(xué)習(xí)開發(fā)技術(shù)。機器人的軟件部分主要包括各硬件模塊的初始化,AGV 巡線程序,定位程序,避障程序等[4]。 接下來分別進(jìn)行介紹。
路徑的規(guī)劃由電磁巡線模塊完成,需要編寫驅(qū)動程序?qū)υ撃K進(jìn)行初始化以及數(shù)據(jù)采集等操作。 AGV 電磁巡線模塊返回的是模擬信號,其初始化程序主要是對微控制器A/D 轉(zhuǎn)換模塊的配置[5]。STM32F103ZET6 自帶A/D轉(zhuǎn)換器,故無需外接A/D 轉(zhuǎn)換芯片。 巡線程序流程圖如圖7 所示。
圖7 巡線程序流程圖
圖7 中,對傳感器返回的數(shù)據(jù)進(jìn)行了差比和運算,在此對差比和算法加以簡要介紹。 機器人行進(jìn)方向共安裝了5 個電感傳感器模塊,取左右對稱的一對傳感器AD 值進(jìn)行如下運算:
式中:e(t)為經(jīng)由這一對傳感器計算出的當(dāng)前的位置偏差;eL(t)為左側(cè)傳感器采集到的位置偏差;eR(t)為右側(cè)傳感器采集到的位置偏差。
取三種特殊情況進(jìn)行分析:
1)eL(t)=eLmax,eR(t)=0 時,e(t)=1,可認(rèn)為此時機器人的向左偏差達(dá)到最大。
2)eR(t)=eRmax,eL(t)=0 時,e(t)=-1,可認(rèn)為此時機器人的向右偏差達(dá)到最大。
3)eL(t)=eR(t)時,e(t)=0,可認(rèn)為此時機器人行走在引導(dǎo)線的正中間。
4)其它情況時,e(t)在上述3 個值之間連續(xù)變化。
使用這一種方法處理電感傳感器的偏差數(shù)據(jù),可以有效地抑制環(huán)境影響,增加系統(tǒng)的魯棒性。
本設(shè)計使用的ATK1218-BD 是一款GPS 定位模塊,采用串口方式與其它模塊通信。通信協(xié)議是NMEA-0813。NMEA - 0183 是一種海用電子設(shè)備定位的標(biāo)準(zhǔn)格式,由美國國家海洋電子協(xié)會(National Marine Electronics Association) 提出。 NMEA-0183 協(xié)議采用 ASCII 碼來傳遞GPS 定位信息,稱之為幀。 幀格式形如:$aaccc,ddd,ddd,…,ddd*hh(CR)(LF)。
1)“$”:幀命令起始位。
2)aaccc:地址域,前兩位為識別符(aa),后三位為語句名(ccc)。
3)ddd…ddd:數(shù)據(jù)。
4)“*”: 校驗和前綴 (也可以作為語句數(shù)據(jù)結(jié)束的標(biāo)志)。
5)hh: 校驗和 (check sum),$與 * 之間所有字符ASCII 碼的校驗和(各字節(jié)做異或運算,得到校驗和后,再轉(zhuǎn)換 16 進(jìn)制格式的 ASCII 字符)。
6)(CR)(LF):幀結(jié)束,回車和換行符。
NMEA-0183 常用命令如下表1 所示。
表1 NMEA-0183 常用命令
本設(shè)計中使用的MPU6050 模塊自帶數(shù)字運動處理器(DMP),通過IIC 接口向控制器輸出數(shù)據(jù)。 慣性導(dǎo)航程序模塊中包含模塊的初始化程序、數(shù)據(jù)接收程序,加速度積分程序以及路徑規(guī)劃程序等。 程序流程圖如圖8 所示。
圖8 程序流程圖
小車在行進(jìn)過程中需要主動避開障礙物,這一功能由超聲波測距傳感器作為硬件基礎(chǔ)。 避障功能的軟件部分主要是超聲波傳感器的驅(qū)動程序[6]。驅(qū)動程序包括傳感器的初始化與距離檢測程序等。 避障程序的流程圖如圖 9 所示。
圖9 避障程序流程圖
綜上所述,本系統(tǒng)設(shè)計了燃料電池驅(qū)動機器人,工作效率高,減少環(huán)境污染等優(yōu)點。通過AGV、GPS、慣性導(dǎo)航等技術(shù)進(jìn)行控制,能夠完成對物料的準(zhǔn)確定位,保證了系統(tǒng)的安全性和可靠性。 系統(tǒng)設(shè)計減少了功耗,便于維修和檢修且維護(hù)成本較低,可廣泛應(yīng)用于農(nóng)業(yè)耕作的各個方面,可減少人力工資花費,增加農(nóng)民收入,有較好的應(yīng)用前景。