【摘 要】軟件結構設計是整個控制系統設計任務的重要組成部分,控制系統由于基于虛擬儀器開發,因此“軟件就是儀器”的概念在這里可以得到充分的體現。一般來講,采用模塊化、層次化的結構來構建整個控制系統可以使軟件結構清晰,組建方便快捷,調試簡單,各個層次由于設計了統一的接口,使得代碼的復用率得到提高,升級維護更加方便。
【關鍵詞】LabVIEW 控制系統 圖像處理 軟件
【中圖分類號】TP31 【文獻標識碼】A 【文章編號】1674-4810(2012)22-0047-02
本文為科普碼字機器人控制軟件設計的設計理論。此科普機器人工作流程為:系統上電后,進行初始化并讀取指令、標定等信息,系統做好準備;接著,觀眾可以在觸摸屏上輸入簡單圖形或不同語言的文字,經觀眾確認后,圖像處理功能模塊讀取觸摸屏上圖像信息并輸出機械手的目標位置;接收到目標位置后,機械手進行回零并進行軌跡規劃,然后抓放物體;抓放結束后,機械手回到零點位置;當機械手再次接收到信號時,機械手抓取圓片放回原處,機械手回到零點位置。
此科普作品通過識別觀眾在觸摸屏上輸入的簡單圖形或文字后,由機械手高速抓取圓片擺放出觀眾輸入的簡單圖形或文字來實現其科普性,因此要求控制系統軟件同時具有圖像處理模塊及運動控制模塊。為了保證機械手有確定的參考零點,要求軟件具有回零功能。此外,為了調試的方便及其他要求,控制系統必須具有急停處理、手動控制、參數設置、位置顯示等功能,軟件功能分析見表1。
軟件設計主要包括軟件結構設計、流程設計、軟件界面設計等。其中系統回零和圖像處理技術設計最能反映出設計者的設計思想和理念。
一 軟件結構設計
軟件結構設計是整個控制系統設計任務的重要組成部分,該控制系統由于基于虛擬儀器開發,因此“軟件就是儀器”的概念在這里可以得到充分的體現。一般來講,采用模塊化、層次化的結構來構建整個控制系統,可以使軟件結構清晰,組建方便快捷,調試簡單,各個層次由于設計了統一的接口,使得代碼的復用率得到提高,升級維護更加方便。
本作品控制系統軟件設計分為四個層次:用戶界面層、功能模塊層、儀器驅動層、I/O接口驅動層(見圖1)。
二 系統回零
系統上電后,必須確保機械手具有精確可靠的參考零點,以便所有的用戶程序都相對于該零點可靠地運行,這就要求機械手必須具備回零功能。由于機械手有三個主動臂,應該使每個主動臂都能可靠地返回到零參考點,才能保證機械手精確確定零點位置。
單軸回零點包括兩個基本過程:尋找參考點(Finding Home Switch)和尋找反饋裝置標記(Finding Index)。尋找參考點是通過尋找零位傳感器來確定零點的初始位置。尋找反饋裝置標記是在零位附近尋找到電機旋轉編碼器上的Z脈沖后通過位置偏移精確定位該軸的準確零點。本機械手包括三個基本軸,回零功能流程圖見圖2。
三 圖像處理
圖像處理模塊按照圖3的流程進行。首先,系統準備好之后,提示觀眾可以進行輸入,觀眾輸入完畢且確認后,系統讀取觸摸屏,并獲取圖像信息;接著,對圖像進行二值化處理,讀取二值化處理后圖像的像素矩陣,得到一個元素為0或1的矩陣,其中為0的元素代表該處為白板底色,為1的元素代表畫筆留下的痕跡;然后對得到圖像進行離散處理,獲得機械手的目標位置信息庫。
科普機器人的功能是用高速并聯機械手將圓片擺放成觀眾在觸摸屏上所書寫的文字或圖形,為了增強顯示效果,在觸摸屏顯示界面上對觀眾所書寫的內容進行了加粗處理,如圖4、圖5所示。
若要用圓片擺放出觀眾所繪制文字的形狀,就需要根據圓片大小對原始圖像進行離散處理,繪圖區域的像素相對較少,本文采用簡單的逐行掃描方式,由左到右、由上到下逐像素掃描圖像,像素為1則將以該像素為中心,半徑為r的區域置為0;像素為0則不做改動,繼續掃描。圖6為在LabVIEW中該算法框圖。
以“天”字為例,離散后的圖像見圖7,圖中各圓點像素坐標即為待擺放圓片的位置。將各點像素位置換算為機器人坐標系中坐標,高速并聯機械手根據這些坐標將圓片擺放至相應位置得到所需文字圖像。
四 控制系統軟件界面設計
使用LabVIEW虛擬儀器開發工具開發了全部控制程序代碼,設計了控制系統界面。軟件界面是實現人機對話的橋梁,因此應設計得清晰易懂,方便用戶上手操作。軟件界面應該能起到向導作用,引導用戶自己完成相關操作。工業上應用的軟件界面,應遵循規范性、安全性、協調性、易用性等原則,設計簡潔,充分考慮到現場操作的方便性(設計控制系統界面見圖8,使用者操作界面見圖9)。在操作界面中,左側空白區域用于觀眾輸入簡單的圖形或不同語言的文字(輸入過程中如果因某種原因需要重新輸入,按Clear鍵即可清除寫字區域);輸入完畢后按Run鍵,機械手則開始抓取圓片并進行拼字,拼字完成后可按系統提示將圓片復位。
本文介紹了基于圖形化編程語言LabVIEW開發實現的控制系統軟件。主要在作品控制系統軟件的需求分析基礎上,結合軟件工程的思想,規劃出了控制系統軟件結構、主要功能模塊流程圖,對文字圖像處理等關鍵技術進行了探討研究,并用LabVIEW開發設計出作品的控制面板,簡單實用,為今后的實際工作平臺設計奠定了基礎。
參考文獻
[1]楊樂平、李海濤、趙勇等.LabVIEW高級程序設計[M].北京:清華大學出版社,2003
[2]李剛、林凌.LabVIEW—易學易用的計算機圖形化編程語言[M].北京:北京航空航天大學出版社,2001
[3]李海濤、楊磊.在LabVIEW中定制Windows標準窗口風格的虛擬儀器前面板[J].工業控制計算機,2005(2)
[4]李濤.基于LabVIEW的小型虛擬儀器的開發[J].計量與測試技術,2007(11)
〔責任編輯:高照〕