成文娟,陳銀樹,尹序臻,江永鑫
(廈門理工學院 電氣工程與自動化學院,福建 廈門 361024)
制造業(yè)是衡量國家綜合實力的重要標準,近年來隨著電子、汽車、快遞、電商等行業(yè)的發(fā)展,物流倉儲行業(yè)也得到了迅速發(fā)展。但是,由于訂單數(shù)量與種類激增使商品揀選任務繁重,從而導致出錯率高、成本高,甚至在特殊情況下,已經(jīng)是人力所不及,可以說,傳統(tǒng)的倉儲系統(tǒng)面臨著諸多挑戰(zhàn)。
在“中國制造2025”的推動下,柔性制造業(yè)迎來了重大的發(fā)展,這也是構(gòu)建未來智能工廠的基石[1]。對此,本文提出一種基于柔性制造系統(tǒng)的智能物料運送機器人的設計與實現(xiàn),該機器人可自動識別需要搬運的物料并運送至指定目標區(qū)域。該機器人具有接受、規(guī)劃、協(xié)調(diào)和控制的功能,這對改進生產(chǎn)過程和實現(xiàn)管理的自動化,減少員工的工作量和失誤,提高勞動生產(chǎn)率及降低生產(chǎn)成本有至關重要的意義[2]。
本設計以STM32F103C8T6作為控制核心,通過OpenMV機器視覺模塊掃描二維碼讀取工作地點的信息,利用STM32PWM設置定時器,控制PWM信號通過L298N驅(qū)動底部直流電機和控制前部機械手舵機,從而完成抓取、移動、卸貨等操作。機器人整體系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
圖1 智能運送機器人系統(tǒng)結(jié)構(gòu)框圖
整體的技術路線具體如下:
⑴ OpenMV攝像頭實時捕捉二維碼的信息傳遞給單片機;
⑵ STM32F103C8T6單片機控制小車底部電機,到達抓取目標物料的位置;
⑶ OpenMV識別物料;
⑷ STM32F103C8T6單片機控制舵機,利用舵機的轉(zhuǎn)動執(zhí)行帶動機械爪進行分離閉合,控制機械手抓取物品。
智能運送機器人硬件模塊相關型號和參數(shù)具體見表1。
智能運送機器人的主框架主要以亞克力板為材料,直流電機選用“Z”字形減速馬達(24 V/540轉(zhuǎn)),為機器人留有足夠的安全裕度容量的同時提高兼容性,內(nèi)置電壓轉(zhuǎn)換電路,即DC/DC模塊又充當了電壓變化器的作用,可將12 V鋰電池電壓降成5 V為STM32單片機及直流電機供電[3]。
該機器人的硬件電路主要包括:STM32F103C8T6、OpenMV機器視覺模塊、電機驅(qū)動模塊、基于LM2596S的DC-DC降壓模塊等硬件組成,硬件設計如圖2所示。
圖2 硬件電路圖
表1 智能運送機器人各硬件模塊及其參數(shù)表
本設計的軟件采用模塊化程序的設計思路,整體程序主要包括利用OpenMV視覺庫用Python書寫視覺庫和控制機器人的程序。視覺子系統(tǒng)又分為圖像采集子模塊、圖像預處理子模塊、圖像分析子模塊3個子模塊組成[4]。軟件部分主要為機械手舵機控制、底部移動小車電機控制以及圖像識別3部分。
在系統(tǒng)程序初始化階段,需要配置TIM4和TIM3為PWM輸出模式2,使所用通道的預裝載通過配置T_period和T_prescaler得到輸出的PWM信號頻率為50 kHz,頻率計算方法為:
取T_period為2000-1,即1999,取T_prescaler為720-1,即719。通過改變T_puls即可控制舵機轉(zhuǎn)角,T_puls變化范圍在50~250 之間,若超出,很可能會永久損傷舵機,在調(diào)試時應當警惕。該智能物料運送機器人舵機控制流程圖如圖3所示。
初始化4個引腳,每2個分別來控制其中的一個電機的方向,設置一個定時器來控制PWM信號占空比,tim=pyb.Timer(4,freq=1000),即通過定時器來控制電機的左右轉(zhuǎn)。該智能物料運送機器人底部移動小車電機控制流程圖,如圖4。
圖像識別以OpenMV作為主體硬件識別。OpenMV搭載MicroPython解釋器,這允許在嵌入式上使用Python來編程(Python 3 to be precise)。Python是機器視覺算法的編程。
3.3.1 二維碼識別
二維碼識別采用軟件畸變矯正,對圖像進行畸變矯正,調(diào)用函數(shù)find_qrcode進行二維碼檢測。該智能物料運送機器人二維碼識別流程圖如圖5所示。
3.3.2 顏色追蹤
一個顏色閾值的結(jié)構(gòu)是這樣的:red=(minL,maxL,minA,maxA,minB,maxB)。我們可以在閾值編輯器里將目標顏色變成白色,其他顏色全變?yōu)楹谏V恍鑼⑺粉櫟念伾撝颠M行設定,便可成功進行識別所需色塊。該智能物料運送機器人顏色追蹤的流程圖如圖6所示。
圖3 舵機控制圖
圖4 底部移動小車電機控制
圖5 二維碼識別
圖6 顏色追蹤
將程序燒入單片機后完成該智能運送物料機器人的組裝,作品如圖7所示。
圖7 智能運送物料機器人整體結(jié)構(gòu)圖
圖8 二維碼識別圖
圖9 識別物料顏色
對該智能運送物料機器人的功能進行測試:首先,OpenMV掃描二維碼讀取信息,圖8為OpenMV成功識別二維碼;其次,OpenMV識別物料顏色,鎖定目標,圖9為OpenMV成功識別物料顏色;然后,STM32單片機控制機器人移動到目標物料的位置;最后,STM32單片機控制舵機、進而控制機械手抓取物品。
經(jīng)測試,所設計的智能運送物料機器人可以掃描識別二維碼信息,準確的將信息傳送給控制中心。其能夠通過顏色追蹤快速準確的鎖定目標物塊,然后驅(qū)動機械手抓取物料,且在發(fā)現(xiàn)沒有符合要求的物料時,繼續(xù)尋找目標物料。物料機器人移動過程中整體運行穩(wěn)定,抓取準確,功耗低。
本文設計了一種基于柔性制造系統(tǒng)的智能物料運送機器人,該機器人具有掃描識別二維碼、顏色追蹤、機械手抓取物料、運送物料的功能。該機器人運用OpenMV模塊實現(xiàn)了掃描識別二維碼、顏色追蹤的功能。通過直流電機L298N來控制機器人停止、前進、左轉(zhuǎn)和右轉(zhuǎn)的功能。通過顏色追蹤發(fā)現(xiàn)目標物料, STM32F103C8T6控制舵機,讓機械手抓取目標物料。
與傳統(tǒng)的人工相比,本設計解決了人工耗資在生產(chǎn)過程中占比重大、物料種類繁多、效率低下等一系列問題,推進了物流業(yè)由勞動密集型產(chǎn)業(yè)向智能化產(chǎn)業(yè)轉(zhuǎn)型的發(fā)展。