劉炎楊,牟麗萍,李淼鑫,李楠
(天津職業(yè)技術(shù)師范大學(xué)工程實(shí)訓(xùn)中心,天津,300222)
樹(shù)莓派 B型被選為本設(shè)計(jì)的控制單元,它是一個(gè)輕便但是非常實(shí)用的微機(jī)單元,它包含了CPU,GPU,DSP,SDRAM,USB接口還有GPIO口等。樹(shù)莓派上的26個(gè)GPIO口中有6個(gè)可以被重新設(shè)置為PWM型信號(hào)的輸出源,也就是說(shuō)樹(shù)莓派可以通過(guò)一次性輸出6個(gè)獨(dú)立的PWM型信號(hào)控制6個(gè)伺服電機(jī)的位置。通過(guò)opencv攝像頭采集圖像信息,傳輸信號(hào)到樹(shù)莓派主控,經(jīng)過(guò)算法處理后傳輸動(dòng)作信號(hào)給機(jī)械臂使組成機(jī)械臂的六個(gè)舵機(jī)根據(jù)指令完成相應(yīng)的動(dòng)作。
整體動(dòng)作程序分為三個(gè),分別是分揀、碼垛、和追蹤。在樹(shù)莓派接到命令之前,內(nèi)部不處理攝像頭收到的數(shù)據(jù),待數(shù)據(jù)下發(fā)成功后,攝像頭開(kāi)始工作,檢測(cè)目標(biāo)區(qū)域是否有物塊,如果沒(méi)有就一直檢測(cè),當(dāng)接到分揀的命令的時(shí)候,攝像頭開(kāi)始識(shí)別物塊顏色,物塊的識(shí)別順序是從紅色開(kāi)始,依次是紅、藍(lán)、綠(暫時(shí)使用這三種來(lái)模擬,內(nèi)部程序可修改),待識(shí)別成功就控制機(jī)械臂抓取并擺放在設(shè)定好的位置;當(dāng)接到碼垛的命令時(shí)跟上述識(shí)別順序一樣,放置在同一個(gè)地方的不同高度;當(dāng)接到追蹤的命令時(shí),攝像頭開(kāi)始識(shí)別區(qū)域內(nèi)的物塊,如果檢測(cè)到物塊就記錄物塊的位置,手動(dòng)移動(dòng)物塊模擬情景,則機(jī)械臂以最快的速度追蹤物塊到相應(yīng)的位置,待物塊靜止后兩秒,進(jìn)行抓取并放在相應(yīng)顏色的位置,程序流程圖如下:

圖1 整體系統(tǒng)控制框圖
機(jī)械臂結(jié)構(gòu)方面選用5個(gè)旋轉(zhuǎn)關(guān)節(jié)組成一個(gè)5自由度的機(jī)械臂,因?yàn)?自由度的機(jī)械臂與人類的手臂相似,有一個(gè)冗余自由度可以使得機(jī)械臂在執(zhí)行任務(wù)時(shí)能夠規(guī)避障礙物。機(jī)械臂末端安裝一個(gè)1自由度鉗狀機(jī)械手用于拿起物體考慮到機(jī)械臂的控制需要建立坐標(biāo)系,在此選用Craig法建立坐標(biāo)系。6個(gè)伺服電機(jī)充當(dāng)機(jī)械臂及機(jī)械手的旋轉(zhuǎn)關(guān)節(jié),通過(guò)向伺服電機(jī)輸入PWM型控制信號(hào),伺服電機(jī)能夠通過(guò)讀取信號(hào)的占空比信息精確地到達(dá)被要求到達(dá)的位置。
將機(jī)械臂的模型簡(jiǎn)化,去掉底座云臺(tái),和執(zhí)行器部分得到機(jī)械臂的主體。從上圖可以看到機(jī)械臂的端點(diǎn) P 的坐標(biāo)(x,y),最終由三個(gè)部分組成(x1+x2+x3,y1+y2+y3)。其中上圖的θ1,θ2 ,θ3 就是我們要求解的舵機(jī)的角度,α是爪子與水平面的夾角。從圖上來(lái)看顯然爪子的俯視角度α=θ1+θ2+θ3,據(jù)此我們可以列出下式:

其中x,y已知,l1、l2、l3為機(jī)械臂的機(jī)械結(jié)構(gòu)固有屬性。為了方便計(jì)算,我們將已知部分處理一下,作整體考慮:


圖2 軟件控制框圖

將m、n代入已有方程,再化簡(jiǎn)可得:


圖3 機(jī)械臂的結(jié)構(gòu)
通過(guò)計(jì)算可得:

上式為一元二次方程的求根公式,其中:

據(jù)此求出θ1 的角度,同理我們也可以求出θ2。由此便可求出三個(gè)舵機(jī)的角度,然后根據(jù)角度控制舵機(jī)即可實(shí)現(xiàn)坐標(biāo)位置的控制。
傳感器使用opencv攝像頭,它將被固定在機(jī)械臂外的一個(gè)支架上上方,這樣一來(lái)它可以不受機(jī)械臂的旋轉(zhuǎn)影響從而實(shí)現(xiàn)最大范圍的目標(biāo)物體掃描。之所以選擇opencv是因?yàn)樵诳刂浦行枰粋€(gè)二維空間中目標(biāo)物體的位置及顏色信息。控制系統(tǒng)基于HSV 色彩圓柱原理,利用OpenCV 庫(kù)進(jìn)行 Micropython 語(yǔ)言的匯編達(dá)到能夠識(shí)別特殊顏色的效果,從而達(dá)到尋找目標(biāo)物體和識(shí)別顏色的目的。攝像頭不斷掃描有效區(qū)域,將視頻信息放入樹(shù)莓派中的CPU中進(jìn)行處理。一旦視野內(nèi)出現(xiàn)目標(biāo)物體,會(huì)將攝像頭所搜集到的目標(biāo)位置信息輸入到CPU中,然后CPU 會(huì)根據(jù)已建立的坐標(biāo)系和運(yùn)動(dòng)學(xué)逆解的算法規(guī)劃出機(jī)械臂行進(jìn)和抓取的路線。同時(shí)用物聯(lián)網(wǎng)技術(shù)把數(shù)據(jù)傳到app上,可使數(shù)據(jù)和攝像頭拍攝實(shí)時(shí)發(fā)送到app上并實(shí)時(shí)監(jiān)控,并且兼容下發(fā)指令等功能。
用傅里葉變換對(duì)圖像和視頻的進(jìn)行處理。因?yàn)閿?shù)學(xué)中所有的波形都可以由一系列簡(jiǎn)單而且頻率不同的正弦曲線疊加得到。由此推斷并證明了人們所看到的任何波形都是由其他波形疊加得到的。在處理圖像時(shí),可以通過(guò)去掉一部分波形來(lái)得到感興趣的區(qū)域。除了傅里葉變換外,在圖像處理過(guò)程常常會(huì)提到高通濾波器和低通濾波器。本設(shè)計(jì)使用高通濾波器檢測(cè)圖像區(qū)域,然后根據(jù)像素與周圍像素的亮度差值來(lái)提升該像素亮度的濾波器。可以增大像素點(diǎn)與周圍像素點(diǎn)亮度差距,用在邊緣檢測(cè)上得到物料的邊框,同時(shí)用輪廓檢測(cè)findCounters函數(shù)去確定邊框從而建立一個(gè)坐標(biāo)系去定位,在坐標(biāo)和數(shù)據(jù)經(jīng)過(guò)處理后就得到了機(jī)械臂的運(yùn)動(dòng)軌跡。

圖4 整體流程圖
在完成搭建后,為了得到設(shè)備運(yùn)行的準(zhǔn)確性對(duì)本設(shè)計(jì)進(jìn)行了幾次測(cè)試,測(cè)試過(guò)程以?shī)A取紅色物塊為例如下圖5。

圖5 測(cè)試圖
夾取期間發(fā)現(xiàn)攝像頭位置的擺放和準(zhǔn)星的校對(duì)對(duì)其有很大的影響,經(jīng)過(guò)對(duì)其調(diào)整后重新進(jìn)行了測(cè)試并分別記錄了測(cè)試數(shù)據(jù)測(cè)試結(jié)果如表1所示。

表1 測(cè)試數(shù)據(jù)表
使用機(jī)械的目的不僅是減輕或代替人類勞動(dòng),同樣用于提高人類生活質(zhì)量的機(jī)械也在不斷增加。鍛煉身體的各類機(jī)械、空調(diào)、冰箱、醫(yī)療器械、機(jī)械玩具也會(huì)越來(lái)越豐富。自動(dòng)控制算法的完善研究。為了實(shí)現(xiàn)機(jī)械臂自動(dòng)協(xié)調(diào)運(yùn)行,需要有更加完善的控制算法,尤其在輸入?yún)?shù)和機(jī)械臂逆向運(yùn)動(dòng)方程求解方而,需要更加優(yōu)化的算法,使計(jì)算出的控制參數(shù)更加精確和完整。
隨著科學(xué)技術(shù)的深入發(fā)展,降低能耗、保護(hù)環(huán)境、高精度、高性能的各類機(jī)械產(chǎn)品將不斷涌現(xiàn),微型機(jī)械將會(huì)普及應(yīng)用。