周旭華,伍懿美,黃曉茹,翁嘉欣
(河源職業(yè)技術學院,廣東 河源 517000)
隨著科技的發(fā)展和進步,人們的生活水平逐漸的提高,科技產品的使用也越來越普及,一切都向著智能化發(fā)展[1-3]?,F(xiàn)在,智能機器人的數(shù)量和適應場景的復雜性也在增加,這也顯示出對智能機器人的精確性,耐用性和靈活性等性能有更高的要求。機械臂技術的應用已越來越普及,已逐漸滲透到軍事、航天、醫(yī)療、日常生活及教育娛樂等各個領域,慢慢取代了人類的勞動,尤其是代替人不能到或不適宜去的、有危險的環(huán)境中,工業(yè)自動化對機器人的智能化水平依賴也越來越高,機械臂的發(fā)展越來越受到重視[4-5]。
本文設計了一種以AT Mega328(Uno)為主控元件的六自由度機械臂智能垃圾分揀機器人,包括硬件、軟件和機械等部分,能夠實現(xiàn)上位機和下位機的通信及控制,本文制作的樣機能夠滿足高職院校汽車智能化專業(yè)的實訓教學,通過對樣機進一步優(yōu)化,還能應用在貨物搬運、智能巡邏等領域,該機器人的研究符合我國人工智能技術的政策發(fā)展趨勢,具有很好的實用價值,具有很好的推廣應用前景。
垃圾的分類有很多種,本文設計利用顏色來代替不同種類的垃圾[6-8]。智能垃圾分揀機器人系統(tǒng)的主要結構為機械臂,視覺功能模塊和藍牙通信技術,在面對不同場合需求時,需要設計不同的動作組來實現(xiàn)機械臂的運動路徑,也就是說控制各個舵機的轉動角度,本系統(tǒng)視覺功能模塊設計中,利用星通科技提供的OpenMV 視覺模塊來完成物體顏色識別,在編程中設計三組顏色(紅黃綠)來代替三種類型的垃圾,通過OpenMV 攝像頭的識別來檢測目標物體,最終將顏色信息通過藍牙模塊傳遞給基于Arduino單片機的開源舵機控制板,從而實現(xiàn)機械臂的顏色自動分揀。
設計的智能分揀機器人,首先由視覺模塊先完成顏色識別功能,同時設計機械臂的動作組,視覺模塊識別物體顏色是否為目標顏色,如是目標物體,則將結果發(fā)送給機械臂的控制板,控制板根據(jù)所得的信息進行控制機械臂做出對應的動作組,整體設計流程圖如圖1 所示。
圖1 系統(tǒng)結構框圖
本系統(tǒng)主要有四個模塊:一是機械臂的主控模塊;二是機器的視覺模塊;三是機械臂模塊;四是藍牙通信技術。使用Arduino 編程的開源舵機控制板控制機械臂操作的運動,并連接藍牙模塊與OpenMV視覺模塊進行串口通信。其系統(tǒng)的硬件設計框圖如圖2 所示。
圖2 系統(tǒng)的硬件設計框圖
硬件部分包括OpenMV 模塊1 個,藍牙模塊2個,Arduino 控制板1 塊,數(shù)字舵機6 個,機械爪1個,旋轉底座1 個,U 型支架4 個,鋰電池1 個。整體設計硬件電路及實物如圖3 所示。
圖3 整體硬件電路圖及實物圖
智能分揀機器人整體的軟件設計開發(fā)環(huán)境有Arduino IDE 和OpenMV IDE。這兩個軟件系統(tǒng)的共同特點就是擁有豐富的開源功能代碼庫和通俗易通的編程操作。本文主要通過Arduino 編程來控制舵機的轉動和連接藍牙,從而實現(xiàn)機械臂的動作操作。通過OpenMV IDE 編程來對物體進行顏色識別。
藍牙模塊程序設計流程圖及部分程序如圖4 所示。
圖4 藍牙模塊程序設計流程圖及部分程序
通過Arduino 編程來控制舵機的轉動,從而實現(xiàn)機械臂的動作操作。其機械臂程序流程圖如圖5 所示。
圖5 機械臂模塊程序設計流程圖及部分程序
通過OpenMV IDE 編程來對物體進行顏色識別,將識別的顏色結果輸出給Arduino 控制板,當識別到紅色物體則發(fā)送“red”,綠色“green”,藍色“blue”,以字符串的形式由藍牙模塊發(fā)送出去,然后Arduino 板從藍牙從模塊中讀取,進行判斷是否為目標顏色,從而實現(xiàn)機械臂的分揀動作。其視覺模塊顏色識別部分程序流程圖如圖6 所示。
圖6 視覺模塊顏色識別部分程序流程圖級部分程序
測試部分主要檢測OpenMV 視覺模塊識別目標顏色是否正確以及檢測機械臂是否能正確抓取。首先將符合設定顏色的積木進行位置的擺放,并指定最終放置目標物體的位置。當視覺模塊檢測到目標顏色時,從IDE 界面中攝像頭的圖像里能看到,目標顏色的物體被矩形方框框起來,如圖7 所示。
圖7 視覺模塊識別目標顏色
經過多次的測試,智能分揀機器人總體的性能是良好的,OpenMV 攝像頭獲取的圖片后處理的信息基本是有效的,能把目標物體的顏色信息通過藍牙串口傳送至主控板,主控板獲取的信息后,能夠有效準確的控制機械臂進行抓取目標物體,機械臂抓取后能正確的將物體放置在指定的位置。但是OpenMV 在進行識別物體顏色時,如果背景顏色和目標物體的顏色過于接近的話,那么則會出現(xiàn)多個色塊識別的情況,不能分離出背景和物塊。如果在實驗環(huán)境下光照過強或著過暗,那么識別的物塊顏色可能會有點偏差。
設計了一種以AT Mega328(Uno)為主控元件的六自由度機械臂智能垃圾分揀機器人,包括硬件、軟件和機械等部分。文中給出了系統(tǒng)的硬件設計方案以及流程圖,同時給出了軟件系統(tǒng)設計方法。系統(tǒng)實現(xiàn)了上位機通過藍牙發(fā)送指定字符串、機械臂通過藍牙接收字符串和控制機械手臂的功能,并能實現(xiàn)機械臂回到初始位置,在設計時,由于需要測量的距離范圍固定,采用了量尺測量法。軟件主要分為顏色識別模塊和無線通信模塊、數(shù)據(jù)處理模塊這三大模塊,軟件的這種“自頂向下”的模塊化軟件編程方法,能使軟件的結構更清晰,并有利于軟件的調試和修改。經過調試,該機器人能夠實現(xiàn)發(fā)送指定字符串到機械臂然后機械臂工作。
目前,該機器人已經應用于我校汽車智能化專業(yè)的實訓教學中,能夠滿足基本教學,在將該機器人的硬件和軟件部分進一步優(yōu)化,還能應用在貨物搬運、智能巡邏等領域,該機器人的研究符合我國人工智能技術的政策發(fā)展趨勢,具有很好的實用價值。