毛怡琳,張鳳濤,王 菁,陳塏格,王鈴凱
(長春師范大學(xué) 工程學(xué)院,吉林 長春 130032)
為實現(xiàn)“工業(yè)4.0”和“中國制造2025”,越來越多的產(chǎn)業(yè)開啟了信息化和工業(yè)化兩化深度融合,以加快智能工廠在工業(yè)行業(yè)領(lǐng)域的應(yīng)用。智能工廠是實現(xiàn)智能制造的重要載體,不同行業(yè)建設(shè)的智能工廠的重點內(nèi)容、發(fā)展模式和突破環(huán)節(jié)各有不同[1]。為探求智能起重機在智能工廠上的應(yīng)用,設(shè)計研發(fā)了基于機器視覺技術(shù)的智能堆碼起重機器人,本文主要對智能堆碼起重機器人電控系統(tǒng)進(jìn)行了設(shè)計。
該智能堆碼起重機器人可完成箱裝牛奶的分類、抓取、搬運和碼垛等工作。采用門形結(jié)構(gòu)設(shè)計可保證機器人提起重物后行走時重心平穩(wěn),通過視覺傳感器完成箱裝牛奶的類型識別及搬運路徑的自主規(guī)劃,采用前后雙臂升降機結(jié)構(gòu)設(shè)計使得機器人每次可提起兩箱牛奶,減少往返行走次數(shù),提高了機器人的工作效率。更加輕量化的設(shè)計使得機器人體型不斷縮小,從而節(jié)省原材料,對動力的需求也就更少,更加低碳環(huán)保[2]。
為滿足以上要求,設(shè)計了該智能堆碼起重機器人電控系統(tǒng)整體方案,如圖1所示。
根據(jù)整體設(shè)計方案,該控制系統(tǒng)共需要45個IO,其中包括4個PWM、4個外部中斷、2個UART、1個定時器等資源,其余為基本IO功能,因此在選擇控制器時,單片機51系列沒有找到適合的CPU,縱觀Arduino系列最適合的只有Arduino MEGA2560單片機。因此Arduino控制器選擇了Arduino MEGA2560開發(fā)版為控制核心。
起重裝置是該機器人最重要的組成部分,它能夠完成對箱裝牛奶的抓取、提起、下放、松開等一系列動作。為提高工作效率,采用前后雙臂升降機結(jié)構(gòu)設(shè)計方案。機器人首先移動到貨物的正上方,升降電機開始下放升降桿直到垂直限位被觸發(fā);然后,水平方向的步進(jìn)電機反向旋轉(zhuǎn)直到水平限位被觸發(fā),此時系統(tǒng)處于復(fù)位狀態(tài);步進(jìn)電機正轉(zhuǎn)使抓手垂直伸入拎手的內(nèi)部,當(dāng)抓手伸入到指定位置時,反射式光電開關(guān)被觸發(fā)輸出低電平給單片機,使單片機感知該反饋信息,步進(jìn)電機停止,同時啟動升降電機將物體向上提起,單片機通過對光柵產(chǎn)生脈沖計數(shù),并實時計算上升高度,將物體準(zhǔn)確運送到指定高度后停止,這樣就完成了貨物抓取和起重過程。下放和松開動作與上述流程正好相反。
圖1 智能堆碼起重機器人電控系統(tǒng)整體設(shè)計方案
當(dāng)兩套升降裝置的升降桿位于底部,將觸發(fā)垂直限位開關(guān)1和2,表示豎直運動初始位置。升降桿上升過程中光柵得到連續(xù)脈沖觸發(fā),CPU根據(jù)脈沖數(shù)量可實時計算上升高度(位置信息),從而形成閉環(huán)反饋。光柵檢測電路如圖2所示。
當(dāng)機械手水平移動到最左端,將觸發(fā)水平限位開關(guān)1和2,表示水平運動的初始位置。由于步進(jìn)電機運行的步數(shù)與位移成正比,可通過程序?qū)崟r計算水平位移(位置信息)。
當(dāng)機械手鉤住貨物的提手后,抓取反饋傳感器將輸出低電平,表示抓取成功。抓取反饋電路結(jié)構(gòu)同光柵檢測電路,只不過光柵檢測使用遮擋方式,而抓取反饋使用反射方式。
升降電機采用DC12 V、10 r/min的減速電機控制,共2個,需要1片L298P進(jìn)行驅(qū)動,如圖3所示。平移電機采用DC12 V、步距角1.8°的步進(jìn)電機,共2個,需要2片A4988芯片控制,如圖4所示。
圖2 光柵檢測電路
圖3 直流電機控制電路
圖4 步進(jìn)電機控制電路
該裝置對于平穩(wěn)性、靈活性有一定要求,在設(shè)計控制電路時,選擇了4個直流減速電機連接4個麥克納姆輪作為機器人底盤。麥克納姆輪也稱為全向輪,四驅(qū)方式可方便實現(xiàn)前后、左右、斜45°等8個方向的平移以及原地旋轉(zhuǎn)等動作。
雖然該裝置的靈活度有一定保證,但當(dāng)負(fù)載較重或分配不均時,四驅(qū)車走直線需要程序不斷矯正,因此選擇DC12 V、330 r/min、減速比為1∶16的直流減速電機,每個電機自帶2路編碼器,可作為速度和方向反饋,利用PID算法使得每個電機能夠做到恒速控制,這樣可保證機器人直線運動偏差較小。
同時每片L298P可控制兩個直流電機,每個電機需要2個IO控制方向、1個PWM控制轉(zhuǎn)速;每個電機有2路編碼器反饋,其中一個接外部中斷,另一個接普通IO,配合內(nèi)部定時器(5 ms左右)使用PID算法可完成每個電機的恒速控制。兩路底盤電機的控制電路如圖5所示。
圖5 兩路底盤電機控制電路
顏色識別可以使用TCS230等模塊完成,但沒有方便有效的傳感器能夠準(zhǔn)確快速識別圓形、方形、三角形等形狀。因此該系統(tǒng)中使用了OpenMV4視覺傳感器模塊,通過Python語言編寫算法程序,可同時完成顏色和形狀的檢測。由于OpenMV4上集成了一片STM32F7系列的單片機,可通過Uart與Arduino控制器通信,將檢測信息傳送回來。在機器人前進(jìn)過程中,視覺傳感器還可以檢測地表特定顏色標(biāo)識線,即承擔(dān)尋跡傳感器的角色。
LCD12864是一款128列64行的點陣液晶顯示屏,能夠同時顯示16列4行(即64個)字符數(shù)。若選擇帶字庫的LCD12864模塊,可最多顯示8列4行(即32個)漢字?jǐn)?shù)。有并行驅(qū)動和串行驅(qū)動兩種方式可供選擇,為節(jié)省控制器IO使用數(shù)量,本系統(tǒng)選擇使用串行驅(qū)動方式,只需要3個IO接口,工作速度完全符合設(shè)計要求,其接口電路如圖6所示。
液晶顯示器的15引腳接GND表示串行方式,19、20引腳分別接VCC和GND,使得該液晶顯示器的背光處于常亮狀態(tài),Arduino單片機的35、36、33端口分別控制LCD12864的RE、RW、EN實現(xiàn)串行顯示。
圖6 LCD12864接口電路
執(zhí)行部分由4個直流減速電機連接4個麥克納姆輪構(gòu)成,對于空間相對較小的室內(nèi)場景,基于麥克納姆輪的移動機器人可以實現(xiàn)全方向無約束的運動,具有良好的機動性和靈活性[3],因此利用麥克納姆輪全方位移動方式加上位于機輪周邊輪軸的中心輪,使得起重機裝置在運行時能夠每一面都為正方向行駛而且能實現(xiàn)前后左右等8個方位的運動。
起重機從初始位置開始運行,首先通過OpenMV機器視覺模塊進(jìn)行檢索,尋找需要裝載的物體。確認(rèn)貨物后,該裝置??吭谪浳镏苓?,控制核心控制卷揚機將起重裝置下放;在起重機豎直底部留有起限位作用的行程開關(guān),當(dāng)起重裝置到達(dá)豎直方向上最大運動距離后,底部垂直限位開關(guān)打開,此時起重裝置在豎直方向上留有大于一個生產(chǎn)線上牛奶箱高度大小的空間,通過控制A4988芯片高低電平的輸入使步進(jìn)電機正反轉(zhuǎn),起重裝置小范圍運動;在取物裝置處設(shè)有抓取反饋開關(guān)及水平限位開關(guān),水平限位開關(guān)限制水平方向上的最大位移,抓取開關(guān)檢測牛奶箱是否被有效抓取,若牛奶箱手柄未置于抓取裝置上或者只有部分在抓取裝置上,在此狀態(tài)下的抓取反饋開關(guān)閉合;只有當(dāng)水平垂直限位開關(guān)及抓取反饋開關(guān)同時打開時,OpenMV機器視覺模塊才確認(rèn)抓取,并將信息反饋給控制核心,光柵計數(shù)器輔助控制核心操控兩個升降電機上升。
起重機在信息采集時啟用OpenMV機器視覺模塊,通過Python語言進(jìn)行編程。OpenMV機器視覺模塊通過自身算法,在運行過程中對貨物進(jìn)行識別和距離檢測。OpenMV機器視覺模塊還具有循跡功能,根據(jù)地面上鋪設(shè)的軌跡路線,裝置在指定場地中行進(jìn)循跡。到達(dá)卸貨位置后,卸貨流程與起重流程類似。
從起重機械行業(yè)的增速來看,中國起重工業(yè)已經(jīng)實現(xiàn)了產(chǎn)值和出口量的增加以及產(chǎn)品產(chǎn)量的提升,它們不僅顛覆了傳統(tǒng)制造業(yè)的生產(chǎn)模式,也描繪了制造企業(yè)未來的發(fā)展前景,甚至正在催生新的經(jīng)濟(jì)價值。以工業(yè)驅(qū)動生產(chǎn),以智能推動發(fā)展,部署先進(jìn)的自動化技術(shù)和物聯(lián)網(wǎng)技術(shù),完成人工智能機器人在生產(chǎn)運輸?shù)拳h(huán)節(jié)的全面高效利用,將會成為現(xiàn)階段企業(yè)轉(zhuǎn)型和制造業(yè)發(fā)展的重要步驟。本文闡述的設(shè)計方案,將為其他輕小型起重機器人的機械結(jié)構(gòu)設(shè)計以及控制系統(tǒng)的設(shè)計等提供參考。