使用LabVIEW令“20歲”的機(jī)器人恢復(fù)活力
信號(hào)I/O
CompactRIO控制器的現(xiàn)場(chǎng)可編程門陣列(FPGA)背板,能夠以完全并行化的方式讀取、輸出和處理I/O模塊通道。利用數(shù)量充足的可編程門電路,我們能夠以1kHz的頻率輸出5個(gè)獨(dú)立的PWM信號(hào),輸出10個(gè)數(shù)字信號(hào)到外部的馬達(dá)驅(qū)動(dòng)芯片,同時(shí)以100kHz頻率對(duì)10條編碼通道進(jìn)行采樣。在FPGA上,我們將每個(gè)機(jī)器人關(guān)節(jié)上的兩個(gè)編碼器上獲得的信號(hào),顯示成整數(shù)以表示相對(duì)的關(guān)節(jié)角度。使用NI網(wǎng)站上提供的VI幫助我們進(jìn)一步縮短了FPGA上VI的開發(fā)時(shí)間。兩個(gè)高速切換的數(shù)字輸出和數(shù)字輸入模塊為我們的應(yīng)用提供了充足的通道數(shù)。
圖形化用戶界面
上述硬件接口的功能一定程度上受到FPGA技術(shù)能力的限制,但是系統(tǒng)的用戶界面在Windows PC上運(yùn)行,可以充分利用LabVIEW 8.5的特性。使用基于事件的界面,用戶可以通過輸入位置向量或上下、左右和前后增量式移動(dòng)機(jī)器人,來設(shè)定機(jī)器人終端效應(yīng)器的笛卡爾坐標(biāo)位置和方向。然后進(jìn)行坐標(biāo)變換,計(jì)算出每個(gè)機(jī)器人關(guān)節(jié)所需的關(guān)節(jié)角。這些數(shù)據(jù)會(huì)反饋給控制器子VI,從所需和實(shí)際的關(guān)節(jié)角中計(jì)算出電機(jī)命令信號(hào)。
為了允許學(xué)生們?cè)趯韺?shí)現(xiàn)不同的控制算法,只要模板定義的前面板元件存在,控制器子VI在每次運(yùn)行時(shí)都加載并可以包含任意的邏輯。這非常有用,因?yàn)閷W(xué)生們可能不能使用LabVIEW環(huán)境下的所有功能,而只能使用缺少LabVIEW FPGA和LabVIEW Real-Time Module的學(xué)生版本。雖然學(xué)生版軟件不能打開全部的機(jī)器人軟件,但學(xué)生們?nèi)匀豢梢允褂盟_發(fā)機(jī)器人控制器,并在機(jī)器人上進(jìn)行測(cè)試。
我們的“老”機(jī)器人的可靠性是整個(gè)項(xiàng)目中的一個(gè)問題,我們需要一個(gè)機(jī)器人仿真以便我們?cè)跈C(jī)器人維修時(shí)繼續(xù)工作。使用LabVIEW 3D圖像控制,我們創(chuàng)建了機(jī)器人的示意原理圖。使用圖形化用戶界面,用戶可以得知軟件是否精確表示了當(dāng)前機(jī)器人的位置。當(dāng)可視化與現(xiàn)實(shí)不符合時(shí),用戶可將機(jī)器人送到啟動(dòng)原點(diǎn),并按下按鈕重新啟動(dòng)軟件。
結(jié)論
使用CompactRIO和LabVIEW,我們可以在同一個(gè)編程環(huán)境中,從零開始構(gòu)建完整的機(jī)器人驅(qū)動(dòng)和控制系統(tǒng)。借助于CompactRIO控制器的易用性,使用高科技的FPGA技術(shù)來喚醒我們的“古董”機(jī)器人簡(jiǎn)直輕而易舉。作為本科生的我,利用不到九個(gè)月的兼職項(xiàng)目工作,就開發(fā)出了包括軟件和硬件的整個(gè)系統(tǒng)。
評(píng)論