鐘 晨,張鳳濤
(長春師范大學 工程學院,吉林 長春 130032)
現如今,隨著人們生活水平的逐漸提高,線上購物越來越多。物流倉儲是線上銷售中非常重要的一環,而貨物分揀投遞又是其中必不可少的,所以現在的快遞量以及倉儲的貨物量都非常大,若是全靠人力分揀貨物不僅費時費力,而且容易出現錯誤。因此,研究一種分揀機器人在如今電商為主導的貨物銷售中是很有必要的,它可以自動完成掃描識別,并根據貨物信息將其投遞到指定位置,既節省人力,又提高了貨物分揀的準確率。為此,本文研究了一種可以掃描-投遞的自動分揀機器人。
本文設計的分揀機器人系統組成及應用場景如圖1所示,它主要由黑色標識線1、投放口2、掃描模塊3、門形識別系統4、貨物5(含條形碼)、分揀機器人6等組成。分揀機器人從門形識別系統處出發,根據所攜帶貨物的條形碼,沿著黑線自主規劃行走路徑,并將貨物投放至對應的投放口中,投放后能夠重新回到出發點,等待下一次裝入貨物,如此周而復始地循環工作。

1-黑色標識線;2-投放口;3-掃描模塊;4-門形識別系統;5-貨物(含條形碼);6-分揀機器人
按其功能,可將分揀機器人系統分為門形識別系統和分揀機器人控制系統兩部分,本文將分別介紹其設計要點。
根據分揀機器人的工作環境,對分揀機器人控制系統進行設計,分揀機器人控制系統結構框圖如圖2所示。它主要由電源部分、主控部分、傳感器部分、機械傳動部分和顯示部分等組成,該分揀機器人以兩輪差速的形式進行運動控制。

圖2 分揀機器人控制系統結構框圖
采用電池供電有方便移動式機器人攜帶的優點,因此在分揀機器人供電方式上選擇使用電池供電。設計采用3S鋰聚合物電池作為電源,該電池能量密度高且放電倍率較大,能以較大的電流在一段時間內持續放電,從而驅動電機。
但是在設計過程中發現3S鋰聚合物電池電壓較大,可以直接為DC12 V電動機供電,但傳感器、單片機及其外圍電路需要采用DC5 V電源供電,且所需的功率與電機消耗的功率相比微乎其微,因此我們設計了如圖3所示的DC-DC降壓電路,這樣可以使控制系統中所有電源均來自一塊3S鋰聚合物電池。

圖3 DC-DC降壓電路
根據整體設計思路,需要主控系統擁有至少2個PWM輸出端口、兩組串口以及大約30個數字輸入/輸出端口。因此設計使用Arduino Mega2560單片機開發板配合拓展板,它共有54個數字輸入/輸出端口(且有15個可以作為PWM輸出)、16個模擬輸入端口和4個UART串口,接口非常豐富,完全可以滿足使用要求。并且其處理速度較快,能使分揀機器人穩定運行。
為使分揀機器人在循跡過程中保持較高準確度,并排安裝了3個循跡傳感器,并且設計過程中發現分揀機器人能允許安裝的位置較小,因此我們采用了自主設計的四路封裝的紅外循跡模塊,其優點在于紅外探頭體積較小、方便多個并排安裝,并且將比較電路等集中在一塊電路板上,提高了循跡的準確性。
根據分揀機器人的使用場景,該系統需要顯示貨物的相關信息以及運行時間等,考慮到只需要顯示兩行字符,因此采用了體積較小的LCD1602,它雖然只能顯示16×2即32個字符,但是可以滿足本設計的需要,并且方便安裝。
由于分揀機器人與門形識別系統之間需要進行無線通訊,因此使用HC-12無線通訊模塊,它具有易于安裝、連接方便穩定、成本低廉等特點。
分揀機器人采用電池供電,因此電機采用常見的DC12 V直流電機,這類電機結構簡單、驅動方便、使用壽命長,比較符合分揀機器人的使用場景。
綜上所述,設計的分揀機器人控制系統硬件結構如圖4所示。該系統以Arduino Mega 2560單片機為主控芯片,通過自主設計的四路封裝的紅外循跡模塊為機器人指路,從而使機器人能按照既定路線行進,通過HC-12接收模塊接收貨物信息,由電機驅動分揀機器人實現穩定高效的運行。

圖4 分揀機器人控制系統硬件結構框圖
門形識別系統的作用主要是完成貨物識別并告知分揀機器人投放位置,同時控制分揀機器人的啟動和停止,這個系統在整個系統起掃描貨物編號并發送指令的作用。采用了使用較為方便的HC-12無線傳輸模塊來將貨物信息傳送給分揀機器人,并且門形識別系統上的光電傳感器還可以使機器人返回起點時每次都停在指定位置。門形識別系統的主控、電源、顯示部分均采用與分揀機器人主系統相同的設計方案。門形識別系統的硬件結構框圖如圖5所示。

圖5 門形識別系統的硬件結構框圖
機器人的程序設計主要考慮了接收數據、循跡以及電機PWM調速等部分。機器人啟動后,各個傳感器完成初始化,限位開關檢測到貨物后,機器人開始循跡沿既定路線通過龍門架,門形識別系統上的條形碼掃描模塊掃描到貨物信息后發送至機器人,機器人沿著路線停到對應位置,此時舵機旋轉一定角度,將貨物投入;而后,機器人再次開啟循跡,按照路線返回起點,光電傳感器檢測到機器人后,機器人停止運動。
機器人主程序流程如圖6所示。

圖6 機器人的主程序流程
(1) 軟件仿真:通過電腦軟件測試電路的可行性。
(2) 軟件硬件聯合調試:將使用C語言編寫的Arduino程序燒錄至單片機,開啟機器人及門形識別系統,測試條碼掃描是否正確,機器人投遞是否準確,返回起點時是否按照既定位置停車。
經過多次測試得到如表1所示的測試數據。由表1可知,機器人投遞準確率達到了66.7%,由于測試條件受限,并未達到理論的準確率,說明設計中還存在問題。

表1 第1輪測試結果
(1) 問題1:機器人在轉彎后會出現識別不到路線并開始原地繞圈的問題。解決方案:將2個識別黑線的傳感器改成3個,并在循跡程序中加入了糾偏算法,使其迅速找回路線。
(2) 問題2:機器人在投放過程中容易出現投放不準確的情況。解決方案:延時投放會隨著電池電壓的下降出現每次投放位置不同的問題,必須將其改成位置定位。因此在車輪后安裝傳感器,監測車輪轉過的圈數,從而使機器人準確停在相應的位置。
(3) 問題3:投放完貨物后機器人總是按照最遠的路線返回起點。解決方案:對每個投放位置單獨做機器人的循跡算法優化,使得其每次都可以按照最優路線返回起點。
(4) 問題4:門形識別系統偶爾會出現無法識別貨物條形碼或識別不準確的情況。解決方案:由于環境光線對條形碼識別傳感器的影響較大,因此在門形識別系統的上方安裝LED補光系統,使系統在條形碼識別過程中不受外界光線干擾。
解決上述問題后,進行了第2輪測試,測試結果如表2所示。由表2可知,測試準確率較第一次有明顯提升,投放準確率達到了100%。
經過多次測試,自動分揀機器人的投遞準確率、掃描準確率都在理論值范圍內,完全可以勝任自動識別貨物、自動完成投遞的任務。在機械與電子兩個系統的協同工作下,它可以代替人工更快地完成工作,顯著提高了工作效率以及準確度。
在設計過程中當然也存在一些問題,例如機器人的工作時間較長,后續可以通過程序算法的優化提高投遞速度,減少單個貨物的分揀投放時間,進一步提高工作效率。