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

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

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


圖2 軟件控制框圖

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


圖3 機械臂的結構
通過計算可得:

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

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

圖4 整體流程圖
在完成搭建后,為了得到設備運行的準確性對本設計進行了幾次測試,測試過程以夾取紅色物塊為例如下圖5。

圖5 測試圖
夾取期間發現攝像頭位置的擺放和準星的校對對其有很大的影響,經過對其調整后重新進行了測試并分別記錄了測試數據測試結果如表1所示。

表1 測試數據表
使用機械的目的不僅是減輕或代替人類勞動,同樣用于提高人類生活質量的機械也在不斷增加。鍛煉身體的各類機械、空調、冰箱、醫療器械、機械玩具也會越來越豐富。自動控制算法的完善研究。為了實現機械臂自動協調運行,需要有更加完善的控制算法,尤其在輸入參數和機械臂逆向運動方程求解方而,需要更加優化的算法,使計算出的控制參數更加精確和完整。
隨著科學技術的深入發展,降低能耗、保護環境、高精度、高性能的各類機械產品將不斷涌現,微型機械將會普及應用。