西北民族大學(xué)電氣工程學(xué)院 唐 媛 馬 喆 張峻瑞 向 宇 金 梅
傳統(tǒng)機器人分揀存在笨重、系統(tǒng)穩(wěn)定性較差、精度較低等缺點。本項目針對這些問題進行技術(shù)改良,設(shè)計的智能分揀機器人以STM32微控芯片作為控制器,機器人利用攝像頭進行物品二維碼掃描得到相關(guān)物品信息后,機器人使用機械臂對物品進行抓取,再進行巡線將物品送到相應(yīng)區(qū)域。這樣保證了整個分揀過程的方便性、準(zhǔn)確性與安全性,因此也降低了人工分揀疲勞所帶來的錯誤率,提高工作效率。
隨著社會經(jīng)濟的快速發(fā)展和人們生活水平的提高,已經(jīng)有越來越多的人開始在網(wǎng)上購物,這極大地促進了快遞等物流行業(yè)的發(fā)展。快遞物流業(yè)作為國民經(jīng)濟發(fā)展的戰(zhàn)略性、基礎(chǔ)性、先導(dǎo)性產(chǎn)業(yè)是連接供給側(cè)和消費側(cè)的現(xiàn)代服務(wù)業(yè)的重要組成部分。特別是在像“雙十一”這樣的大型網(wǎng)購活動時,大量包裹需要在一段時間內(nèi)快速分揀、運送。
目前,物流企業(yè)普遍采用人工分揀的方式對收到的貨物進行分揀,而這種分揀方式存在著諸多的問題,比如基層工人負(fù)擔(dān)大、分揀效率低等;有些物流公司也采用機器人分揀,但傳統(tǒng)機器人分揀存在笨重、系統(tǒng)穩(wěn)定性較差、精度較低等缺點。為了解決這些問題,本項目設(shè)計的智能分揀機器人便應(yīng)運而生。經(jīng)過對傳統(tǒng)機器人分揀技術(shù)改良后,智能分揀機器人能很好地滿足企業(yè)生產(chǎn)需求,通過智能分揀機器人的幫助可大大提高工作效率、降低勞動成本。
本項目中使用STM32微控制器對整個機器人進行控制,在項目中使用到的功能有IO口復(fù)用、PWM波的輸出、串口通訊、定時器中斷、外部中斷、定時器等。本次硬件識別模塊采用二維碼掃描傳感器識別技術(shù),通過掃描傳感器對貨物二維碼進行掃描獲取相關(guān)貨物信息。電機驅(qū)動部分主要是直流電機,直流電機負(fù)責(zé)輪子的轉(zhuǎn)動,其起動和調(diào)速性能好。機械臂采用六個舵機和爪子組成,舵機由PWM波控制占空比來進行控制。CCD模塊進行圖像采集,圖像數(shù)據(jù)反饋給STM32進行處理,最后通過MCU統(tǒng)一控制進行調(diào)配。
本項目設(shè)計的智能分揀機器人,其硬件系統(tǒng)設(shè)計流程圖如圖1所示。

圖1 硬件系統(tǒng)設(shè)計流程圖
智能分揀機器人主要包含識別模塊、核心主板、運輸模塊、機械結(jié)構(gòu)這4個模塊,下面分別詳述。
識別模塊主要運用攝像頭識別二維碼。該模塊采用CMOS感光器件和專用鏡頭模組,支持全方向識讀智能鎖定目標(biāo)從而快速、超強的識讀二維/一維條碼,其可以將二維碼圖像通過感光頭讀取、識別并解讀二維碼圖像信息,實現(xiàn)信息的解碼和采集。其可以實現(xiàn)使智能分揀機器人識別標(biāo)簽包含的貨物運輸信息,進而將貨物運送到相應(yīng)區(qū)域。
使用STM32系列芯片作為核心主板,STM32系列是專為要求高性能、低成本、低功耗的嵌入式應(yīng)用設(shè)計的ARM Cortex-M3,STM32的核心Cortex-M3處理器是一個標(biāo)準(zhǔn)化的微控制器結(jié)構(gòu),而Cortex-M3系列處理器的開發(fā)應(yīng)用可以全部在C語言環(huán)境中完成。此模塊可以對不同的類型的信息進行處理結(jié)合,其是智能分揀機器人的大腦和判斷機構(gòu)。
利用CCD模塊實現(xiàn)機器人的巡線運輸?shù)墓δ埽撃K可以實現(xiàn)圖像的自掃描,從而將照射在CCD上的光學(xué)圖像轉(zhuǎn)換成電信號圖像,直接顯示圖像全貌。本項目中的機器人就是利用CCD模塊對路面進行圖像采集,并將采集到的數(shù)據(jù)反饋給主控芯片進行數(shù)據(jù)處理,之后,機器人聽從核心板的控制對識別出身份的貨物進行傳送和送達(dá)指定的位置。
本設(shè)計采用具有六自由度的機械臂來完成對貨物的裝卸。該機械臂由6個舵機組成,實現(xiàn)機械臂的六自由度運動,機械手采用主從控制方式,其開發(fā)可基于STM32單片機的編寫程序,因此可以通過串口與STM32單片機串行通訊,從而達(dá)到連續(xù)動作對貨物進行裝卸的目的。
智能分揀機器人在電源打開后,經(jīng)過穩(wěn)壓模塊后給主控芯片STM32微控器、二維碼掃描模塊、CCD圖像采集模塊、電機驅(qū)動、機械臂模塊進行供電。首先二維碼掃描模塊對物品的二維碼進行掃描,獲取信息后反饋給主控芯片,之后主控芯片調(diào)動機械臂進行貨品抓取,之后機器人根據(jù)CCD模塊采集到的圖像數(shù)據(jù)傳送給主控芯片進行數(shù)據(jù)處理,處理后調(diào)控電機驅(qū)動,從而調(diào)控了直流電機的運動,進而進入循跡狀態(tài)。
在本項目中,使用C語言來編寫程序,使用的編譯器為Keil5。Keil編譯器完美的支持使用C語言對STM32系列芯片的驅(qū)動,該編譯器功能非常強大,支持在線仿真功能,可以通過觀察窗看到每一個寄存器的值,可以更加直觀的看到程序設(shè)計時出現(xiàn)的錯誤并及時改正,對于程序的調(diào)試非常有幫助。程序編寫時使用模塊化編程,把不同模塊的初始化及驅(qū)動過程封裝在不同的.c文件中,在main.c文件中只實現(xiàn)調(diào)用的過程,不同文件中函數(shù)的調(diào)用通過對相應(yīng).h文件的引用來實現(xiàn)。模塊化編程最大的好處就是程序的可閱讀力比較強,編程思路的體現(xiàn)更加清晰,對于程序的分模塊調(diào)試以及程序修改也非常方便。
智能分揀機器人在開始程序啟動后,完成各模塊的初始化。區(qū)定位功能等,直到機器人達(dá)到預(yù)期效果。
首先將小車放置在取貨點,打開電源開關(guān),機器人進行二維碼掃描和抓取貨物,獲取信息后,小車根據(jù)得到的信息進行搬運貨物至相應(yīng)區(qū)域,之后再返回取貨點,如此來回。
試驗結(jié)果表明,本智能分揀機器人能對正確的物品二維碼信息進行處理、物品的裝卸動作較為流暢、送達(dá)指定分區(qū)功能較為完善。因此,本智能分揀機器人具有一定的實用性、方便性、準(zhǔn)確性與安全性,其降低了人工分揀疲勞所帶來的錯誤率,提高了工作效率。
總結(jié)與展望:根據(jù)市場需求,本智能分揀機器人選取STM32微控芯片作為主控芯片對整體系統(tǒng)進行控制。相較于人工分揀貨物來說,本智能分揀機器人的工作效率更高、工作時間更加持久、工作費用更加低廉;相較于傳統(tǒng)分揀裝置來說,本智能分揀機器人擁有更良好的穩(wěn)定性、更便捷的操作性、更高的精確性。本機器人通過攝像頭掃碼,識別出二維碼中分揀目的地和路線等信息,從而使貨物快速高效地分揀、裝卸,節(jié)省了大量的人工。本設(shè)計采用無線模塊傳輸數(shù)據(jù),數(shù)據(jù)傳輸信息完整,降低信息丟失機率,降低了貨物丟失的機率。結(jié)合搬運條件的各方面來說,在降低成本的同時,提高了工作的效率。
本項目以物流分揀為基礎(chǔ),聯(lián)想到智能分揀機器人,但其本身的應(yīng)用層面更廣,不僅局限在單純的物流分揀之中,首先,對物品的二維碼掃描。其次,機器人判斷其是否為正確的二維碼。若是正確的二維碼則機械臂進行貨物夾取;若不是正確二維碼,機器人移除該物品,繼續(xù)檢測下一貨物的二維碼信息。之后,機器人將物品送達(dá)指定位置。后再返回取貨點,如此反復(fù)作業(yè)。具體操作流程圖如圖2所示。

圖2 軟件流程圖
本項目完成后,在模擬的貨物分揀情境中不斷調(diào)試智能分揀機器人對貨物二維碼的識別功能、貨物裝卸的動作功能、送到指定分更是可以應(yīng)用到家禽、化工、礦石等領(lǐng)域,應(yīng)用于食品行業(yè)、醫(yī)療行業(yè)、化妝品的生產(chǎn)線等之中。