基于LabVIEW和PXI平臺的6-DOF并聯(lián)機器人控制系統的開(kāi)發(fā)
控制系統軟件設計
本文引用地址:http://dyxdggzs.com/article/108857.htm控制系統的復雜性使得軟件設計的過(guò)程中必須進(jìn)行合理有效的層面和模塊劃分。結合控制系統硬件和所要呈現的功能,本軟件劃分為應用軟件層、核心軟件層和驅動(dòng)軟件層,每層根據功能要求又分為若干功能模塊。如圖2.

圖2. 軟件結構與信息傳遞
應用軟件層:考慮到系統操作過(guò)程中需要運用一些開(kāi)關(guān)來(lái)控制電機或抱閘、一些接口來(lái)改變各電機或壓電陶瓷的運行參數、一些指示燈來(lái)發(fā)出正?;驁缶盘?、一些軌跡曲線(xiàn)來(lái)實(shí)時(shí)監控各部分的運行情況以及各界面之間的切換等功能,我們選用了最能體現虛擬儀器技術(shù)價(jià)值的LabVIEW圖形化編程語(yǔ)言,編寫(xiě)了友好、方便、靈活的人機界面。程序的整體采用了主/從結構的編程方式,主要是為了解決多個(gè)不同頻率的循環(huán)和循環(huán)之間的信息交互。程序中嵌入了并聯(lián)機器人的反解模型及控制算法,采用全局變量、局部變量、共享變量等實(shí)現各程序模塊之間及模塊內部的信息交互,充分利用用戶(hù)事件技術(shù)、通知或隊列技術(shù)實(shí)現各界面之間的切換,為了避免諸如兩個(gè)循環(huán)同時(shí)操作一個(gè)對象之類(lèi)的競爭問(wèn)題,采用了同步技術(shù)。因為程序比較大,所要反映的信息多,因此在程序的管理上,我們也充分利用了LabVIEW的高級編程技巧,如為了節省內存和清晰化程序框架及前面板,我們采用了動(dòng)態(tài)VI控制技術(shù),不但實(shí)現了子VI的即用即調,而且實(shí)現了多面板程序設計的動(dòng)態(tài)載入和界面重用。
核心軟件層:面向機器人的軌跡控制與I/O邏輯控制的程序集合,如回零點(diǎn)、連續運行、單軸調整、軌跡曲線(xiàn)選擇、系統自檢等。該層軟件一方面負責完成機器人各關(guān)節驅動(dòng)電機的精確同步運動(dòng)控制,實(shí)現末端執行器在操作空間中的精確軌跡;另一方面,該層軟件還需要完成一組通用I/O的輸入輸出控制,實(shí)現對機構運動(dòng)的過(guò)程控制以及對外圍設備的協(xié)調控制等,以適應復雜的控制任務(wù)需要。
驅動(dòng)軟件層:驅動(dòng)軟件是實(shí)現單軸與多軸運動(dòng)控制、D/A轉換和硬件I/O控制的函數集合,包括軸配置、運動(dòng)類(lèi)型設置、電機運行和停止等操作函數。該層軟件主要進(jìn)行運動(dòng)軸參數設置、電機加減速控制、起??刂?、D/A轉換和運動(dòng)I/O的設置與控制等。該層的函數主要是控制板卡所帶有的底層功能模塊,可以用這些函數很方便的根據自己設定的控制方案編程實(shí)現上一級的核心控制軟件層。LabVIEW 圖形化語(yǔ)言和LabVIEW RT、Control Design and Simulation Bundle、Labview System identification toolkit, motion assistant等相關(guān)的NI工具包開(kāi)發(fā)應用程序不但使得軟件程序的開(kāi)發(fā)效率大大提高,而且使得軟件的功能齊全、人機界面友好。
評論