基于LabVIEW的6-DOF并聯(lián)機(jī)器人控制系統(tǒng)
控制系統(tǒng)軟件設(shè)計(jì)
控制系統(tǒng)的復(fù)雜性使得軟件設(shè)計(jì)的過程中必須進(jìn)行合理有效的層面和模塊劃分。結(jié)合控制系統(tǒng)硬件和所要呈現(xiàn)的功能,本軟件劃分為應(yīng)用軟件層、核心軟件層和驅(qū)動(dòng)軟件層,每層根據(jù)功能要求又分為若干功能模塊。如圖2.
應(yīng)用軟件層:考慮到系統(tǒng)操作過程中需要運(yùn)用一些開關(guān)來控制電機(jī)或抱閘、一些接口來改變各電機(jī)或壓電陶瓷的運(yùn)行參數(shù)、一些指示燈來發(fā)出正常或報(bào)警信號(hào)、一些軌跡曲線來實(shí)時(shí)監(jiān)控各部分的運(yùn)行情況以及各界面之間的切換等功能,我們選用了最能體現(xiàn)虛擬儀器技術(shù)價(jià)值的LabVIEW圖形化編程語言,編寫了友好、方便、靈活的人機(jī)界面。程序的整體采用了主/從結(jié)構(gòu)的編程方式,主要是為了解決多個(gè)不同頻率的循環(huán)和循環(huán)之間的信息交互。程序中嵌入了并聯(lián)機(jī)器人的反解模型及控制算法,采用全局變量、局部變量、共享變量等實(shí)現(xiàn)各程序模塊之間及模塊內(nèi)部的信息交互,充分利用用戶事件技術(shù)、通知或隊(duì)列技術(shù)實(shí)現(xiàn)各界面之間的切換,為了避免諸如兩個(gè)循環(huán)同時(shí)操作一個(gè)對象之類的競爭問題,采用了同步技術(shù)。因?yàn)槌绦虮容^大,所要反映的信息多,因此在程序的管理上,我們也充分利用了LabVIEW的高級編程技巧,如為了節(jié)省內(nèi)存和清晰化程序框架及前面板,我們采用了動(dòng)態(tài) VI控制技術(shù),不但實(shí)現(xiàn)了子VI的即用即調(diào),而且實(shí)現(xiàn)了多面板程序設(shè)計(jì)的動(dòng)態(tài)載入和界面重用。
核心軟件層:面向機(jī)器人的軌跡控制與I/O 邏輯控制的程序集合,如回零點(diǎn)、連續(xù)運(yùn)行、單軸調(diào)整、軌跡曲線選擇、系統(tǒng)自檢等。該層軟件一方面負(fù)責(zé)完成機(jī)器人各關(guān)節(jié)驅(qū)動(dòng)電機(jī)的精確同步運(yùn)動(dòng)控制,實(shí)現(xiàn)末端執(zhí)行器在操作空間中的精確軌跡;另一方面,該層軟件還需要完成一組通用I/O的輸入輸出控制,實(shí)現(xiàn)對機(jī)構(gòu)運(yùn)動(dòng)的過程控制以及對外圍設(shè)備的協(xié)調(diào)控制等,以適應(yīng)復(fù)雜的控制任務(wù)需要。
驅(qū)動(dòng)軟件層:驅(qū)動(dòng)軟件是實(shí)現(xiàn)單軸與多軸運(yùn)動(dòng)控制、D/A轉(zhuǎn)換和硬件I/O控制的函數(shù)集合,包括軸配置、運(yùn)動(dòng)類型設(shè)置、電機(jī)運(yùn)行和停止等操作函數(shù)。該層軟件主要進(jìn)行運(yùn)動(dòng)軸參數(shù)設(shè)置、電機(jī)加減速控制、起停控制、D/A轉(zhuǎn)換和運(yùn)動(dòng)I/O的設(shè)置與控制等。該層的函數(shù)主要是控制板卡所帶有的底層功能模塊,可以用這些函數(shù)很方便的根據(jù)自己設(shè)定的控制方案編程實(shí)現(xiàn)上一級的核心控制軟件層。LabVIEW 圖形化語言和LabVIEW RT、Control Design and Simulation Bundle、Labview System identification toolkit, motion assistant等相關(guān)的NI工具包開發(fā)應(yīng)用程序不但使得軟件程序的開發(fā)效率大大提高,而且使得軟件的功能齊全、人機(jī)界面友好。
系統(tǒng)整體特性與實(shí)驗(yàn)
本方案是并聯(lián)機(jī)器人控制系統(tǒng)設(shè)計(jì)領(lǐng)域中一種新型的系統(tǒng)組建方法,其出發(fā)點(diǎn)和落腳點(diǎn)是縮短開發(fā)周期、降低系統(tǒng)造價(jià)、提高系統(tǒng)特性、完善系統(tǒng)功能?;贚abVIEW和PXI平臺(tái)的6-DOF并聯(lián)機(jī)器人開放式數(shù)字控制系統(tǒng)不需要從最低層進(jìn)行開發(fā),只需對各個(gè)模塊進(jìn)行配置并編寫出用戶需要的特定功能程序即可,與以往的機(jī)器人控制系統(tǒng)的開發(fā)相比,不僅大大縮短了開發(fā)周期,而且系統(tǒng)的升級和維護(hù)也非常方便,在這個(gè)意義上來說此系統(tǒng)是性價(jià)比最高的。系統(tǒng)特性方面的優(yōu)勢主要體現(xiàn)在穩(wěn)定性、快速性和精確性上,25KHz—25.6MHz的編碼器反饋信號(hào)濾波范圍使得系統(tǒng)能夠在強(qiáng)電干擾的工業(yè)現(xiàn)場的穩(wěn)定工作,6軸PID控制周期可以達(dá)到250μs使得實(shí)時(shí)性遠(yuǎn)遠(yuǎn)高于一般控制控制系統(tǒng)1ms的要求,機(jī)器人六軸協(xié)調(diào)運(yùn)動(dòng)后的末端執(zhí)行器穩(wěn)態(tài)誤差可達(dá) 1μm體現(xiàn)了系統(tǒng)精確的特性。下圖列出了幾個(gè)典型的模塊說明了系統(tǒng)的一些技術(shù)特點(diǎn)和成熟的功能。圖3是點(diǎn)動(dòng)運(yùn)行模塊,該模塊不僅具有6個(gè)軸中每軸的單軸點(diǎn)動(dòng),而且根據(jù)機(jī)器人的構(gòu)型特點(diǎn)和運(yùn)動(dòng)需求設(shè)置了任何兩軸的雙軸點(diǎn)動(dòng);該模塊可以根據(jù)用戶不同的運(yùn)動(dòng)需求設(shè)置點(diǎn)動(dòng)步長、速度、加減速的基數(shù)值及其倍率;該模塊能夠?qū)崟r(shí)顯示運(yùn)動(dòng)的位置和運(yùn)動(dòng)完成狀態(tài),圖示顯示了軸1經(jīng)過幾個(gè)單軸點(diǎn)動(dòng)完成后的狀態(tài)。圖4為軌跡跟蹤模塊,該模塊不僅設(shè)置了預(yù)定軌跡的跟蹤也具有軌跡規(guī)劃的功能,并且能夠同時(shí)顯示六個(gè)軸的運(yùn)行情況,圖示為反映x向兩軸同步運(yùn)行的狀態(tài)。圖5為速度PID控制器加入前后同一余弦波的位置曲線運(yùn)動(dòng)所表現(xiàn)出的不同速度曲線特性,可見雙PID控制器能夠很大程度上改善其運(yùn)動(dòng)特性。圖6為并聯(lián)機(jī)器人整體系統(tǒng)。限于篇幅,此用于染色體切割裝置的宏動(dòng)并聯(lián)機(jī)器人數(shù)控系統(tǒng)的其他特性不再一一贅述。
伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理
評論