技術文章
工研部-鄭亮:嵌入式檢測技術在機器人視覺領域中的應用
1 引言
機器人設計是一門集機械設計、檢測技術、控制技術、計算機技術、材料科學等于一體的綜合性學科。其中,檢測技術對機器人控制技術的發展尤為關鍵,在常見的機器人閉環運動控制系統中,機器人的運動精度依賴于測量的精度,因此,提高測量精度對提高機器人控制精度具有重要意義。機器人視覺檢測技術是工業自動化檢測技術的一種,其使用的圖像傳感器可以獲取大量的外界環境信息,賦予了機器人識別外界環境的能力,因此,視覺檢測在高精度要求的工業檢測領域中應用廣泛。嵌入式視覺檢測是機器人視覺檢測的一部分,因其具有設備輕、便攜性好、成本低等優勢而具有重要的研究價值。
2 嵌入式檢測技術的發展
傳統的工業檢測技術多采用基于單片機、DSP等的儀器儀表技術或模擬測量電路、數據采集卡、PC機組成的上位機測量系統。兩種方式因各自不同的特點被應用于不同場合。表2.1給出了兩種測量方式的優缺點:
表2. 1 嵌入式測量系統與上位機系統的優缺點對比
特點 |
嵌入式測量系統 |
上位機測量系統 |
測量精度 |
低 |
高 |
數據處理能力 |
弱 |
強 |
實時性 |
差 |
好 |
可便攜性 |
好 |
差 |
功耗 |
低 |
高 |
設備大小 |
小 |
大 |
系統設計難度 |
高 |
低 |
如表2.1所示,嵌入式系統在實時性、數據處理能力以及測量精度等方面相對較差,主要優點是可便攜性、低功耗及設備尺寸小。隨著微電子技術的發展,嵌入式系統同上位機之間的實時性與處理大數據的能力等差距也正在逐漸縮小,尤其是擁有高速運算能力的DSP的出現,使得具有控制優勢的ARM與運算優勢的DSP組成的小型PC機也能完成原先只有上位機才能實現的功能,因此,研究嵌入式測量系統對實現設備的小型化、便攜化以及低功耗化具有重要價值。
3 嵌入式測量系統組成
測量系統一般主要包括被測信息的獲取、轉換、處理及輸出幾個部分。通常采用傳感器對被測量如物理量、化學量、生物量等進行信息獲取,并轉換為電量,傳感器輸出電信號經過調理電路進行放大、整形等轉換處理,再通過輸出單元顯示測量信息。測量系統的組成如圖3.1所示:
圖3. 1 測量系統的組成
嵌入式測量電路的硬件以微處理器作為運算與控制的核心,一般包括電源電路、驅動電路、調理電路、濾波電路、信號采集電路、LCD顯示電路、上位機通信電路、按鍵電路。其中電源電路負責給整個測量系統進行供電、驅動電路用于驅動傳感器、調理電路對傳感器輸出信號進行放大整形等處理、濾波電路對調理輸出信號進行濾波處理,信號采集電路采用AD對濾波輸出信號進行數據采集、處理器對采集的數據進行信號處理,獲取信號的特征量,得出測量結果并在LCD中進行實時顯示,上位機接口電路實現嵌入式系統與上位機的通信,按鍵電路用于人機交互。嵌入式測量系統硬件電路的一般組成如圖3.2所示:
圖3. 2 嵌入式測量系統的組成框圖
4 嵌入式視覺檢測系統的研究目標
嵌入式視覺測量系統在工業自動化檢測領域中應用廣泛,如快速分揀、定位、瑕疵檢測等。項目組主要研究其在快速分揀中的應用,該研究的主要性能指標包括:(1)功能上實現目標物體的快速分揀;(2)實時性要求測量系統完成數據采集與信號處理的時間在300ms以內,即完成一次測量所需時間不超過300ms;(3)攝像頭性能指標要求其分辨率在50w左右,視野范圍為0.5m*0.5m。嵌入式視覺快速分揀系統模型如圖4.1所示:
圖4. 1 嵌入式視覺分揀系統模型
5 嵌入式視覺檢測系統的組成
5.1 嵌入式視覺檢測系統硬件
項目組研究的嵌入式視覺項目測量系統硬件部分包括工業相機、ARM+DSP的控制與信號處理單元,其中ARM+DSP的結構有兩種不同類型,分別為兩片單核的ARM與DSP構成的運算控制單元、ARM與DSP集成在一塊芯片上的雙核處理器構成的運算控制單元,兩種方式各自具有不同的特點。1采用標準的攝像頭接口實現ARM處理器對圖像信號的采集,并將采集到的圖像信號傳遞給DSP,由DSP進行信號處理,再將處理結果傳給ARM,經LCD實時顯示測量結果,這種方式其主要不足在于圖像信號數據量大,處理器間的信號傳輸會消耗較多時間,影響系統的實時性;2采用ARM+DSP的雙核處理器,兩種處理器之間采用內存共享技術,ARM將采集到的信號存儲于共享內存之中,當圖像采集完畢,ARM將共享內存的使用權交給DSP,由DSP對存儲的圖像數據進行信號處理,并將處理結果存儲于共享內存,信號處理結束后,由DSP通知ARM來讀取共享內存里的處理結果并實時顯示,該方法節省了圖像數據在兩個處理器之間的傳遞時間,增強了系統的實時性;目前的內存共享技術多見于ARM+DSP的多核處理器,因此,第二種方式可以降低系統硬件的設計難度,同時也可減小PCB的尺寸,但軟件設計相對復雜,且兩個處理器在同一時間最多允許其中一款處理器訪問共享內存,如果訪問不正確,將導致系統崩潰。兩種方式的優缺點各有不同,但整體的設計思想類似,嵌入式視覺檢測系統框圖如圖4.1所示:
圖5. 1 嵌入式視覺檢測系統框圖
另外,目前市場上的數字攝像頭多將傳感器與放大電路、模數轉換電路封裝在一起,提供一個標準的圖像采集接口,因此,硬件設計時,PCB板上只需留有標準的圖像采集接口,而無需設計攝像頭模組,降低了嵌入式測量系統的硬件設計難度。
5.2 嵌入式視覺檢測系統軟件
Linux操作系統因其具有代碼免費開源、內核功能強大、支持多種架構的處理器、強大的網絡功能以及廣泛的技術支持等優勢,在嵌入式系統中被廣泛應用。嵌入式視覺系統軟件開發的主要工作是在Linux操作系統下進行驅動程序開發與應用程序開發。
正式開發之前,首先需要選擇一款開發板作為軟件開發平臺,搭建嵌入式Linux開發環境,并將Uboot、Kernel和Rootfs燒寫至目標處理器,利用NFS服務實現程序的在線調試。
項目軟件開發的關鍵在設備驅動程序的開發。設備驅動程序是應用程序和實際設備之間的軟件層,它向下負責和硬件設備的交互,向上通過一個通用的接口掛接至文件系統,用戶應用程序可通過操作普通文件的方式操作硬件設備。項目組分別以通用免驅的USB攝像頭和CMOS攝像頭驅動為基礎,進行驅動程序的二次開發,并開發相應的應用程序。嵌入式Linux下單任務程序流程如圖所示:
圖5. 2 嵌入式Linux下單任務程序流程
6 嵌入式視覺項目的核心技術
嵌入式視覺項目主要包括六個關鍵技術。(1)根據系統要求的性能指標以及處理數據量等要求選定合適的ARM+DSP處理器、工業相機等器件;(2)設計系統的硬件電路;(3)調試系統軟件,包括圖像數據采集、ARM與DSP間的數據傳輸等;(4)實際應用中對目標物體特征信息的定義;(5)采用雙攝像頭結構實現立體視覺效果;(6)設計合適的嵌入式圖像處理算法。
7 總結與展望
項目組選用單核ARM開發板作為軟件開發平臺,并在Windows操作系統下構建了Linux虛擬機平臺;安裝、配置并啟動了FTP服務、SSH服務、NFS服務;利用CuteFTP工具實現了Windows與虛擬機之間的文件傳輸;利用SecureCRT實現登錄虛擬機與串口調試開發板;在虛擬機平臺上搭建完成ARM-Linux軟件開發環境,并實現Windows、虛擬機及開發板三者之間的無線網絡通訊。虛擬機平臺、SecureCRT、CuteFTP界面及開發板構成的軟件調試平臺如圖4.3所示:
圖6. 1 軟件調試平臺
項目組完成了開發環境的搭建、實現了PC機、虛擬機和開發板之間的無線網絡通訊,并在現有驅動基礎上做二次開發。但是項目組仍然面臨大量的研究工作,將ARM采集到的圖像數據通過網絡傳送給上位機,并在PC機上實現圖像處理算法;選擇合適的DSP開發板,利用DSP對ARM采集的圖像數據進行信號處理;在完成數據傳輸與算法等功能后完善整個嵌入式軟件;軟件測試完成后,以開發板硬件電路為基礎,結合項目實際需要,設計嵌入式視覺檢測系統的硬件電路。