張桂紅 武漢交通職業學院
基于Pixy Cmucam5圖像識別傳感器的物品分揀裝置
張桂紅 武漢交通職業學院
本系統以Pixy Cmucam5圖像識別傳感器,ATmega2560單片機為核心,利用圖像識別模塊采集物品圖像信息,經過色調過濾算法確定物品顏色及位置,單片機輸出3路脈沖信號到步進電機驅動器,驅動固定在滑臺x、y、z軸的3個步進電機工作,使固定在滑臺的機械手到達指定位置并完成抓取任務,搬送物品到指定坐標。
Pixy Cmucam5圖像識別傳感器;ATmega2560;色調過濾算法;高精度滑臺
1.1 圖像識別模塊的選擇
Pixy Cmucam5是由Charmed實驗室聯合卡內基梅隆大學共同推出的一款圖像傳感器。其強大的處理器上搭載著一個圖像傳感器,它會選擇性的處理有用的信息,將特定顏色的物體的視覺數據發送給相互配合的微型控制器,而不是輸出所有視覺數據以進行圖像處理。所以Arduino板或其它微控制器很容易跟它交流,并騰出許多CPU資源來執行其他事件。該模塊不僅能進行顏色識別,還能知道帶顏色物品的位置,通過顏色來追蹤物體。
1.2 色調過濾算法
系統在圖像識別時使用基于色調過濾算法(hue-based color filtering algorithm)來識別物體。通過將彩色圖像從RGB空間轉換到HSV空間,能夠有效地提取出彩色圖像中的顏色信息。另外,由于彩色圖像中景物的色調信息(H)具有恒常性,它不易受到光照條件變化的影響,因此適應性更強。本系統在圖像識別前,預先將被識別物體(立方體或乒乓球)的HSV值存入處理器,然后在識別過程中,將實時圖像中各個坐標的HSV值與存儲器中內容對比,從而找到匹配的物體,并將匹配物體的坐標發送給電機控制裝置。實驗證明,此方法對紅橙黃綠青藍紫各位顏色的物體均能快速識別,取得良好的效果。
1.3 微處理器的選擇

圖1 步進電機動作與坐標匹配
采用Arduino Mega2560。Arduino Mega 2560是一款基于ATmega2560的微控制器板。它有54個數字輸入/輸出引腳(其中15個可用作PWM輸出)、16個模擬輸入、4個UART(硬件串行端口)、1個16 MHz晶體振蕩器、1個USB連接、1個電源插座、1個ICSP頭和1個復位按鈕,USB供電。由于其理想的PWM輸出特性,是控制電機首選器件。
1.4 步進電機動作與坐標匹配
攝像頭圖片x軸坐標范圍為(0,320),y軸坐標范圍為(0,200),物體所在平面x軸坐標范圍為(0,150cm),y軸坐標范圍為(0,100cm),據此將攝像頭圖片坐標轉換為物體平面坐標。設滑臺動作起點坐標為(x1,y1),終點坐標為(x2,y2),則滑臺x軸位移距離為x2-x1,y軸位移距離為y2-y1,規定當距離為正時,電機正轉,滑臺沿坐標軸正向移動;當距離為負時,電機反轉,滑臺沿坐標軸負向移動。而單片機向驅動器發送的脈沖數與位移距離是正比例關系,可以據此對單片機進行編程。控制流程圖如圖1所示:
系統總體設計方案如圖2所示。

圖2 系統總體設計方案
2.1 硬件電路的組成
硬件電路由ATmega2560控制板模塊、電源模塊、圖像識別模塊、電機驅動模塊、按鍵模塊、聲光報警模塊組成。
2.2 搬送裝置的選擇
采用高精度三軸滑臺加機械手。滑臺x,y軸水平移動,可以找到物品的位置,再通過滑臺z軸的豎直移動和機械手動作完成抓取任務,最后搬送到指定的區域。
2.3 電機驅動模塊
電機驅動模塊選用MB450A兩相混合式步進電機驅動器。此驅動器采用交流伺服驅動器的電流環進行細分控制,電機的轉矩波動很小,低速運行很平穩,幾乎沒有振動和噪音。高速時力矩也大大高于其它二相驅動器,定位精度高。該步進電機靜力矩1.8Nm,步距角為1.8度,連續收到200個步進指令正好轉一圈。當驅動器設置為128細分時,單片機向驅動器發送25600個脈沖,電機轉一圈。因此,單片機可以通過脈沖信號對電機進行極高精度的控制。
2.4 程序設計
主程序設計流程圖如圖4所示。

圖4 主程序設計流程圖
本系統通過按鍵來選擇系統工作模式,圖像識別模塊將物品顏色及位置信息發送到Arduino Mega2560,經過分析運算后,驅動電機運動并完成搬送任務。
[1]唐良瑞,謝曉輝.基于D-S證據理論的圖像圖像分割方法[J].計算機學報,2003,26(7)
[2]楊小冬,寧新寶.自動圖像識別系統圖像分割算法的研究[J].南京大學學報.2004,40(4)