



【摘要】? ? 本文介紹了一種基于機器視覺的嵌入式系統載貨小車,使用了NI公司的嵌入式系統模塊myRIO和圖形編程語言Labview,與傳統的C語言實現有所不同,具有一定的參考價值。
【關鍵詞】? ? 嵌入式? ? 機器視覺? ? myRIO
引言:
隨著信息化的發展,嵌入式系統技術無疑有了更廣闊的發展空間。嵌入式系統應用于我們日常生活中的各個領域。嵌入式系統是一種可裁剪的系統,對實時響應程度較高,它必須根據實際系統的需求進行合理的裁剪使用,可以更好的降低成本。
NI公司的myRIO是一個集成的嵌入式模塊,包含了一個嵌入式處理器和一個ZYNQ架構的FPGA。我們利用一定的硬件,并結合Labview的視覺助手,可以比較容易的搭建出一個機器視覺模型。本設計就采用了這樣一種方案。
一、硬件設計
該載貨小車以基于Cortex-A9內核的myRIO為核心,外圍電路包括一個電機驅動板,四個電機,以及一個攝像頭,電源供電由12V直流鋰電池供電,myRIO模塊里有整流電路將12V轉變為3.3V提供給Cortex-A9和FPGA。
基于Cortex-A9內核的myRIO程序控制,從攝像頭獲取圖片,輸出到myRIO,通過機器視覺算法判斷出物體的顏色,并通過小車機械臂的抓取,實現貨物的運輸。
myRIO型號為NI myRIO-1900 ,其核心芯片是 Xilinx Zynq-7010,該芯片集成了 667 MHz 雙核 ARM Cortex-A9 處理器以及包含 28K 邏輯單元、80 個 DSP slices、16 個 DMA 通道的 FPGA。
攝像頭采用普通高清USB攝像頭,驅動板采用普通電機驅動板,本方案中采用的DIGILENT公司的Motor Adapter for NI myRIO電機驅動擴展板。
二、軟件設計
本載貨小車實現從出發點出發,循跡到達貨物存放區,根據機器視覺判斷不同顏色的不同貨物并獲取,回到貨物存放點將貨物按顏色分類。具體流程圖如下圖2。
對貨物的顏色識別首先要通過攝像頭采集視頻,捕捉圖像。要實現此功能,上位機必須安裝好 NI Vision Acquisition Software(視覺采集軟件)和LabVIEW Vision Development Module(視覺開發模塊)。安裝好軟件后,我們可以開始進行視覺開發。
其中,小車電機的驅動程序如下圖3。
首先,在 LabVIEW 啟動界面上單擊 Create Project,會彈出一個對話框,用戶可以在左側看到不同的模板,選擇 Templates ? myRIO 之后會出現相應的一些模板,選擇創建 myRIO Project,用戶可以自行修改 Project Name 和 Project Root。在 USB線連接著 myRIO 和計算機的情況下, 在 Target 一欄中會自動搜索到已連接的硬件設備。如果用戶當前沒有 myRIO,可以在 Target 一欄選擇 Generic Target 先進行程序的開發,在后面再連接上硬件之后便可以直接運行。單擊 Finish 完成工程的創建。
在程序自動創建的項目管理器中,用戶可以觀察到主程序,例如 Main.vi,如果是在myRIO 這個 Target 下面,那么將來它就會運行在 ARM 處理器上。本工程中的 Main.vi 是所選用模板為用戶提供的一個實例,可直接運行。打開 LabVIEW ? Help ? Find Examples ? Hardware Input and Output ? Vision Acquisition ? NI-IMAQdx,在此目錄下可以找到一個名叫Grab的機器視覺例程,雙擊打開后另存。將另存的示例程序添加到 myRIO 的目標下面,通過右擊彈出菜單中 Add ? File,選擇對應程序。此時程序位于 myRIO 的目標下,因此它將運行在嵌入式處理器上。
我們選擇National Instruments ? Vision ? Vision Assistant工具,打開后會有一個提示窗口詢問用戶測試圖片的來源,我們事先保存好了紅色和黃色的圖片,所以直接點擊Open Image。
使用 Color 函數選項卡下的 Color Matching函數,選擇 Create Template,在彈出的對話框中選擇ROI(Region of Interest)后,在右上方圖片區域選擇一個區域,點擊 OK 將圖像匹配算法添加入腳本。
完成顏色匹配驗證后,可將檢測步驟保存以備后用。選擇 File ? Save Script 進行保存 。NI Vision Assistant 不僅能幫助我們選擇合適的算法和參數還能將一系列操作步驟自動生成
LabVIEW 代碼:點擊 Tools ? Create LabVIEW VI,Step1 中選擇生成路徑時可選擇上一小節創建的項目路徑;Step2 中選擇默認的 Current Script;Step3 選擇圖片來源,選擇IMAQdx Image Acquisition 即可;Step4 供用戶選擇在生成的 LabVIEW 程序中哪些參數作為輸入控件,哪些參數作為顯示控件,如果不進行選擇,將根據 NI Vision Assistant軟件中的設置采用常量作為默認值,由于我們關心其輸出值,因此將 Match Flag勾選上。點擊 Finish 后將自動生成所需 VI,如圖4所示。
完成顏色匹配的相關操作并將操作步驟自動生成 LabVIEW 代碼后,打開程序框圖查看生成的 VI,可發現程序首先完成了圖像采集的工作,然后通過函數 Color Matching(顏色匹配)進行比較,最后得到匹配的結果Match Flag(匹配標志)和Match Score(匹配得分)。我們需要將此 VI 中圖像處理的程序和上一小節中圖像采集的程序整合成一個可以運行在 myRIO 上的完整的程序。
打開上一小節創建的工程,將顏色匹配程序當作子VI 添加至 myRIO 的 Target 下,調整總程序得到連續顏色匹配程序。
三、結束語
本設計從硬件和軟件兩方面介紹了基于機器視覺的載貨小車的制作。硬件上解決了機器視覺與嵌入式系統的連接,軟件方面主要解決了小車的驅動、循跡,顏色識別匹配,本設計還有不足以及需要改進的地方,將在以后的工作中進行改進。
參? 考? 文? 獻
[1]李積英,基于機器視覺的智能車設計開發,[J]智能化儀表,2014
[2]張興華,基于機器視覺的物流倉儲智能車設計,[J]技術與市場,2019
[3] NI,NI myRIO 入門指南。2015.4
王波(1980),男,無錫職業技術學院教師,碩士,副教授,主要研究方向是IP通信、嵌入式。