管樹龍
The Design of Material Sorting System Based on Image Recognition
GUAN Shu-long
(Suzhou Hanlong Intelligent Equipment Co., Ltd., Suzhou 215000, China)
【摘? 要】論文以四個(gè)自由度的機(jī)械臂為研究對(duì)象,對(duì)其進(jìn)行機(jī)械機(jī)構(gòu)的設(shè)計(jì),首先利用SolidWorks進(jìn)行有限元分析,進(jìn)而驗(yàn)證機(jī)械臂的應(yīng)用可行性,然后采用Arduino開發(fā)板來控制舵機(jī),從而使機(jī)械臂產(chǎn)生不同的運(yùn)動(dòng),最后基于Proteus軟件對(duì)舵機(jī)進(jìn)行仿真。分揀的總工作流程就是利用Matlab進(jìn)行圖像識(shí)別,檢測(cè)出該物料的類別,然后輸出坐標(biāo)和數(shù)據(jù)給Arduino,從而完成機(jī)械臂對(duì)物料的整個(gè)分揀動(dòng)作。
【Abstract】The paper takes the manipulator with four degrees of freedom as the research object, and designs its mechanical mechanism. The paper firstly uses SolidWorks to perform finite element analysis to verify the application feasibility of the manipulator, then uses the Arduino development board to control the steering gear, so that the manipulator produces different motions, and finally simulates the steering gear based on the Proteus software. The total work procedure of sorting is to use Matlab for image recognition, detect the category of the material, and then output coordinates and data to Arduino, so as to complete the whole sorting action of the manipulator for the material.
【關(guān)鍵詞】SolidWorks有限元分析;Arduino控制系統(tǒng);Proteus仿真
【Keywords】SolidWorks finite element analysis; Arduino control system; Proteus simulation
【中圖分類號(hào)】TH122;TP241? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【文獻(xiàn)標(biāo)志碼】A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【文章編號(hào)】1673-1069(2021)05-0178-02
1 引言
產(chǎn)品分揀是工業(yè)自動(dòng)化生產(chǎn)中的一項(xiàng)重要生產(chǎn)環(huán)節(jié),傳統(tǒng)的人工分揀或示教工業(yè)機(jī)器人分揀無法適應(yīng)現(xiàn)代工業(yè)對(duì)勞動(dòng)生產(chǎn)率和生產(chǎn)過程自動(dòng)化水平的需求,將機(jī)器視覺技術(shù)與工業(yè)機(jī)器人相結(jié)合可使分揀作業(yè)具有更高的柔性和可靠性。本文設(shè)計(jì)的是基于Arduino控制的四自由度機(jī)械臂,總工作流程是先通過Matlab的圖像識(shí)別分析出該物料的歸屬范疇,然后給予機(jī)械臂一個(gè)坐標(biāo),再通過Arduino的普通數(shù)字傳感器接口產(chǎn)生占空比不同的方波,模擬產(chǎn)生出PWN信號(hào)來進(jìn)行舵機(jī)定位,從而實(shí)現(xiàn)對(duì)機(jī)械臂的控制,完成物料分揀的整個(gè)任務(wù)流程。最后基于Proteus軟件對(duì)其電氣原理圖進(jìn)行仿真,驗(yàn)證Arduino程序的對(duì)與錯(cuò)。
2 機(jī)械臂本體的設(shè)計(jì)
2.1 機(jī)械臂類型方案選擇
本設(shè)計(jì)采用的是伺服電機(jī)驅(qū)動(dòng)的四軸旋轉(zhuǎn)坐標(biāo)機(jī)械臂。此類機(jī)械臂又稱關(guān)節(jié)型機(jī)械臂,其最大的特點(diǎn)就是工作的空間范圍大,只要在機(jī)械臂結(jié)構(gòu)設(shè)計(jì)上多加幾個(gè)關(guān)節(jié),就可以實(shí)現(xiàn)多自由度的運(yùn)動(dòng),配合其控制系統(tǒng),其運(yùn)動(dòng)軌跡可以是多種多樣的,只要對(duì)控制系統(tǒng)的程序進(jìn)行編輯,就可以控制其關(guān)節(jié)部位,從而控制機(jī)械臂的整個(gè)運(yùn)動(dòng)。
2.2 SolidWorks建模與裝配
待所有的機(jī)械設(shè)計(jì)完成之后,利用SolidWorks對(duì)其進(jìn)行建模,并裝配,得到物料分揀機(jī)械臂三維圖示,如圖1所示。
3 機(jī)械臂控制系統(tǒng)的設(shè)計(jì)
程序的開始先是調(diào)用Arduino的Servo庫,隨后建立幾個(gè)舵機(jī)的Servo對(duì)象,設(shè)置舵機(jī)轉(zhuǎn)角變化的速度,告知Arduino開發(fā)板舵機(jī)需要接在哪幾個(gè)引腳上,當(dāng)然,舵機(jī)必須接在模擬端口。這部分就類似于準(zhǔn)備工作,準(zhǔn)備工作完成后,就正式開始程序主要部分的編寫。為了方便查看數(shù)據(jù),調(diào)用串口通訊命令,在串口監(jiān)視器編寫想要知道的信息。由于分揀物品包含三類,因此,就用到switch case語句,分出三套獨(dú)立的動(dòng)作,且分揀動(dòng)作完成后,舵機(jī)會(huì)返回到初始狀態(tài)的位置。
在Arduino IDE編譯正確且完成后,打開串口監(jiān)視器,可以對(duì)其輸入A、B、C指令,這會(huì)反饋出舵機(jī)角度的信息,如圖2所示。
4 基于Proteus的仿真測(cè)試
4.1 Proteus電氣原理圖的建立
電氣原理圖如圖3所示,由于設(shè)計(jì)的機(jī)械臂是采用吸盤吸取物料,涉及氣泵的驅(qū)動(dòng)和兩位三通電磁閥,氣泵的作用是抽吸吸盤內(nèi)部的氣體,在此電氣原理圖采用直流電機(jī)來代替,電機(jī)開始轉(zhuǎn)動(dòng)就表示氣泵開始工作。
4.2 Proteus仿真結(jié)果分析
仿真舵機(jī)初始位置的波形圖如圖4所示。從圖中可以看出,每一格的長度為1ms,第一條線代表0°位置,脈寬為半格,為0.5ms,第二條線、第三條線和第四條線代表90°位置,脈寬為1格半,為1.5ms。
4.2.1 輸入指令為分揀瓶蓋(bottle cap)
當(dāng)要分揀的物品是瓶蓋時(shí),首先大臂舵機(jī)轉(zhuǎn)到34°位置,小臂舵機(jī)轉(zhuǎn)到78°位置,末端執(zhí)行器轉(zhuǎn)到136°位置,這時(shí)末端執(zhí)行器的吸盤已經(jīng)貼在了瓶蓋的表面,驅(qū)動(dòng)氣泵工作,抽走吸盤內(nèi)部的所有空氣。然后大臂與小臂的角度轉(zhuǎn)到90°位置,提升重物,腰部舵機(jī)轉(zhuǎn)到180°的位置,大、小臂角度分別轉(zhuǎn)到最初的34°和78°位置,放下重物,這時(shí)接通電磁閥,如圖5所示,開始放走吸盤內(nèi)的空氣,松開重物。在完成重物的搬運(yùn)后,機(jī)械臂各關(guān)節(jié)就會(huì)再次返回到初始狀態(tài)的位置。
4.2.2 輸入指令為分揀充電器(charger)
當(dāng)要分揀的物品是充電器時(shí),首先大臂舵機(jī)轉(zhuǎn)到36°位置,小臂舵機(jī)轉(zhuǎn)到78°位置,末端執(zhí)行器轉(zhuǎn)到138°位置,這時(shí)末端執(zhí)行器的吸盤已經(jīng)貼在了充電器的表面,驅(qū)動(dòng)氣泵工作,抽走吸盤內(nèi)部的所有空氣。然后大臂與小臂的角度轉(zhuǎn)到90°位置,提升重物,腰部舵機(jī)轉(zhuǎn)到135°的位置,大、小臂角度分別轉(zhuǎn)到最初的36°和78°位置,放下重物,這時(shí)接通電磁閥,如圖6所示,開始放走吸盤內(nèi)的空氣,松開重物。在完成重物的搬運(yùn)后,機(jī)械臂各關(guān)節(jié)就會(huì)再次返回到初始狀態(tài)的位置。
5 結(jié)語
本文設(shè)計(jì)了機(jī)械臂,分為三大部分,機(jī)械結(jié)構(gòu)的設(shè)計(jì),基于Arduino控制系統(tǒng)的設(shè)計(jì),基于Proteus的仿真測(cè)試。第一部分機(jī)械機(jī)構(gòu)的設(shè)計(jì),并進(jìn)行了SolidWorks建模與裝配。第二部分控制系統(tǒng)的設(shè)計(jì),利用了Arduino開發(fā)板無限性的特點(diǎn),重點(diǎn)是了解舵機(jī)的控制原理。第三部分是基于Proteus的仿真,Proteus軟件中有虛擬示波器,在一定程度上解決了舵機(jī)運(yùn)行工作狀態(tài)的問題。透過示波器,可以很直觀地觀測(cè)到Arduino輸出給舵機(jī)的PWM信號(hào),得到舵機(jī)轉(zhuǎn)軸在不同角度位置下的脈沖寬度,以此來驗(yàn)證程序的對(duì)與錯(cuò)。
【參考文獻(xiàn)】
【1】焦恩璋,杜榮.工業(yè)機(jī)器人分揀技術(shù)的實(shí)現(xiàn)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2010(2):84-87.
【2】范象波.光電分選機(jī)[J].礦山機(jī)械,1982(6):26-32+37.
【3】賀雅琴.自動(dòng)物料分揀機(jī)器人系統(tǒng)的關(guān)鍵技術(shù)研究[D].廣州:華南理工大學(xué),2011.
【4】楊成文,張鐵.基于ADAMS的SCARA機(jī)器人運(yùn)動(dòng)學(xué)仿真研究[J].機(jī)床與液壓,2011,39(21):118.
【5】宋召衛(wèi).我國自動(dòng)分揀技術(shù)及其應(yīng)用[J].中國物流與采購,2003(6):46-47.
【6】謝存禧,張鐵.機(jī)器人技術(shù)及其應(yīng)用[M].北京:機(jī)械工業(yè)出版社,1955.