張建民,廖嘉欣,謝濟(jì)鍵,鄭英明,楊匯瀅,周湘源
(1.五邑大學(xué)智能制造學(xué)部,廣東江門 529020;2.恩平市億歌電子有限公司,廣東江門 529400)
隨著工業(yè)技術(shù)的迅速發(fā)展,在現(xiàn)代的工業(yè)化生產(chǎn)中,企業(yè)對(duì)智能化和自動(dòng)化生產(chǎn)的需求日益劇增,對(duì)材料和產(chǎn)品在工廠中的物流運(yùn)輸要求越來(lái)越高,因此出現(xiàn)了各種AGV的搬運(yùn)小車用于搬運(yùn)工件和貨物等[1]。
現(xiàn)代工業(yè)生產(chǎn)中的AGV搬運(yùn)小車運(yùn)動(dòng)方式簡(jiǎn)單,雖然其能夠完成搬運(yùn)任務(wù),但只能完成一些簡(jiǎn)單和具有重復(fù)性的工作,并且每次只能運(yùn)輸一種特定的工件,如果需要運(yùn)輸一種或多種新工件,其無(wú)法迅速完成相應(yīng)的工作[2]。
時(shí)至今日,AGV 小車在路徑規(guī)劃及其控制器這兩方面日趨成熟。特別是國(guó)外正在研究和逐漸應(yīng)用AGV 的視覺(jué)引導(dǎo)技術(shù)。因?yàn)橐恍┛萍脊镜耐度胙芯浚瑖?guó)內(nèi)機(jī)器視覺(jué)AGV研究也進(jìn)步飛速,該類型的自主引導(dǎo)技術(shù)必然會(huì)進(jìn)一步擴(kuò)展AGV 的應(yīng)用領(lǐng)域。
本設(shè)計(jì)是一款擺脫了傳統(tǒng)AGV小車呆板的特點(diǎn)和搬運(yùn)處理單一性,可迅速地識(shí)別物料是否超限,通過(guò)A*算法自適應(yīng)地自主安排搬運(yùn)路線的工廠搬運(yùn)小車。此小車的智能化設(shè)計(jì)和一定的創(chuàng)新性將為工廠運(yùn)輸和生產(chǎn)帶來(lái)便利[3]。
本設(shè)計(jì)以STM32F103ZET6為中央控制處理器為核心,由主控芯片通過(guò)發(fā)送數(shù)字信號(hào)控制各個(gè)模塊實(shí)現(xiàn)其對(duì)應(yīng)功能,以及通過(guò)Wifi 和藍(lán)牙完成與上位機(jī)的通訊工作,整體共同實(shí)現(xiàn)小車的自動(dòng)導(dǎo)航功能。其電路結(jié)構(gòu)框圖如圖1所示。
圖1 智能工廠搬運(yùn)小車電路結(jié)構(gòu)框圖
本設(shè)計(jì)的硬件電路由主控電路、降壓電路、通訊模塊、定位模塊、驅(qū)動(dòng)電路、編碼器模塊、測(cè)距電路、避障電路、顯示模塊、測(cè)壓電路、報(bào)警模塊、電源模塊、IMU 模塊、下載模塊等部分組成。
主控電路由STM32F103ZET6 作為中央處理器,復(fù)位電路、起振電路等作為單片機(jī)正常工作的基本要求。降壓電路利用XL4015 和AMS117 進(jìn)行降壓,為各個(gè)子模塊提供6 V、5 V及3.3 V的直流電壓。驅(qū)動(dòng)電路由BTN7971b驅(qū)動(dòng)模塊控制4個(gè)麥克納姆輪正常工作。編碼器模塊反饋輸入PID,控制小車的運(yùn)行軌跡。通訊模塊由HC-05藍(lán)牙模塊及ESP8266Wifi模塊共同組成,主控電路通過(guò)Wifi 與電腦進(jìn)行數(shù)據(jù)交換,使用者可以利用藍(lán)牙模塊使手機(jī)能對(duì)小車進(jìn)行簡(jiǎn)單的控制和調(diào)試。定位模塊利用UWB 模塊實(shí)時(shí)獲取小車的當(dāng)前坐標(biāo)[4]。測(cè)距電路利用GY-56 激光模塊檢測(cè)小車與前方貨物的精確位置距離[5]。避障電路是在小車車身周圍安裝多個(gè)GP2Y0A21YK0F激光測(cè)距模塊,可以使小車及時(shí)檢測(cè)到周圍的障礙物[6]。顯示模塊利用OLED屏實(shí)時(shí)顯示小車的坐標(biāo)、前方貨物的距離以及貨物的重量。IMU 模塊利用MPU6050 芯片實(shí)時(shí)獲取小車的運(yùn)動(dòng)角度以及運(yùn)動(dòng)方向上的加速度[7],作為反饋給上位機(jī)和輸入傳遞給PID,控制小車正常運(yùn)行。
主程序功能流程圖如圖2 所示,程序首先進(jìn)行初始化,主要是定時(shí)器初始化、按鍵初始化、OLED 初始化、編碼器初始化、 電機(jī)初始化、MPU6050初始化等。初始化完成后,采用絲桿推進(jìn)的圓盤機(jī)構(gòu),叉車行駛到貨物的底部,通過(guò)電機(jī)旋轉(zhuǎn)絲桿推進(jìn)直接將貨物抬起,小車自動(dòng)識(shí)別物料是否超限[8],若沒(méi)有超限,則自動(dòng)定位合適的搬運(yùn)位置或電腦控制端給出位置指令,自動(dòng)規(guī)劃最優(yōu)路線后根據(jù)路線自動(dòng)導(dǎo)航至搬運(yùn)位置[9]。
在算法部分,本設(shè)計(jì)主要應(yīng)用了PID算法和A*算法。
PID(比例積分微分)算法是一個(gè)在過(guò)程控制中,按偏差的比例(P)、積分(I)和微分(D)進(jìn)行控制的PID 控制器。當(dāng)?shù)玫较到y(tǒng)的輸出后,程序?qū)⑵罱?jīng)過(guò)比例、積分、微分3種運(yùn)算方式疊加到輸入中,從而輸出用戶設(shè)置的輸出值。PID算法一般分為位置式和增量式2種,由于需要考慮此小車過(guò)去的所有狀態(tài)量,所以選用位置式PID。
利用里程計(jì)航跡推算定位方法的編碼器,隨著時(shí)間的增長(zhǎng)會(huì)漂移,小的誤差在經(jīng)過(guò)時(shí)間積分后會(huì)被無(wú)限放大。加入定位模塊獲取實(shí)時(shí)坐標(biāo)與編碼器的位置信息,兩者做差輸入位置環(huán)PID 中,以控制小車準(zhǔn)確運(yùn)行相應(yīng)的里程。利用左右車輪編碼器運(yùn)行偏差計(jì)算小車在水平面內(nèi)的旋轉(zhuǎn)角度,與MPU6050 輸出的角度信息進(jìn)行比較,比較值輸入方向環(huán)PID中,以控制小車準(zhǔn)確旋轉(zhuǎn)一定的角度[10]。
A*算法是一種靜態(tài)路網(wǎng)中求取最短路徑最直接有效的搜索方法。因其效率高、計(jì)算量小且能得到最短路徑的優(yōu)點(diǎn),被廣泛應(yīng)用于處理路徑規(guī)劃問(wèn)題。
把地圖分成小網(wǎng)格,從起點(diǎn)出發(fā),將起點(diǎn)附近的網(wǎng)格壓入到一個(gè)列表中,通過(guò)下式來(lái)衡量下一步應(yīng)該選擇哪個(gè)網(wǎng)格:
式中:F為起點(diǎn)經(jīng)由指定方格到終點(diǎn)的估算消耗;G為從起點(diǎn)到指定方格的移動(dòng)消耗;H 為從指定方格移動(dòng)到終點(diǎn)的估算消耗。
每走一步都要選取F 值最小的網(wǎng)格作為下一步的落腳點(diǎn)。G 值的計(jì)算是令水平和垂直方向上的移動(dòng)消耗為10,而對(duì)角線方向的消耗為14,計(jì)算沿著已走的路徑所消耗的G值。而H 值的計(jì)算則應(yīng)用曼哈頓方法,計(jì)算當(dāng)前格到目的格之間在水平和垂直方格上的數(shù)量總和,忽略對(duì)角線方向,再乘以10。通過(guò)以上的計(jì)算方法,就可以用A*算法得到理想路徑。
圖2 小車程序功能實(shí)現(xiàn)流程圖
經(jīng)過(guò)硬件電路和軟件設(shè)計(jì)的完善,小車效果如圖3 所示。搬運(yùn)小車能夠?qū)崿F(xiàn)室內(nèi)的定位功能;能夠利用A*算法完成智能的規(guī)劃搬運(yùn)地點(diǎn)和目標(biāo)地點(diǎn)之間的路徑及小車自動(dòng)導(dǎo)航功能;能夠迅速自動(dòng)識(shí)別物料超限,有效地減少超負(fù)荷對(duì)小車本體的損壞;在搬運(yùn)過(guò)程中,小車自動(dòng)靈敏地避讓行人和障礙??傮w上,搬運(yùn)小車的各方面功能效果實(shí)現(xiàn)良好,操作簡(jiǎn)單,實(shí)現(xiàn)智能化。
圖3 SolidWorks繪制的結(jié)構(gòu)效果圖
本設(shè)計(jì)以STM32F103ZET6為中央控制處理器為核心,由主控芯片通過(guò)發(fā)送數(shù)字信號(hào)控制各個(gè)模塊實(shí)現(xiàn)其對(duì)應(yīng)功能,以及通過(guò)Wifi 和藍(lán)牙模塊完成與上位機(jī)的通訊工作,整體共同實(shí)現(xiàn)小車的自動(dòng)導(dǎo)航功能。小車通過(guò)UWB技術(shù)實(shí)現(xiàn)室內(nèi)的定位功能、利用A*算法完成智能的規(guī)劃搬運(yùn)地點(diǎn)和目標(biāo)地點(diǎn)之間的路徑及小車自動(dòng)導(dǎo)航功能;壓力傳感器實(shí)現(xiàn)小車自動(dòng)識(shí)別物料超限的功能,有效地減少超負(fù)荷對(duì)小車本體的損壞;紅外測(cè)距模塊達(dá)到小車自動(dòng)避讓行人和障礙的要求。
綜合測(cè)試結(jié)果,此具有自動(dòng)定位及路徑規(guī)劃的智能工廠搬運(yùn)小車能夠運(yùn)用于工廠搬運(yùn)中,實(shí)現(xiàn)智能搬運(yùn)。