技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 機(jī)器人控制系統(tǒng)實(shí)時(shí)性的研究

機(jī)器人控制系統(tǒng)實(shí)時(shí)性的研究

時(shí)間:2009-04-09 13:15:59來源:chendong

導(dǎo)語:?著重研究了機(jī)器人控制系統(tǒng)的實(shí)時(shí)性提高和改進(jìn)方法,提出了一種建立在RT—Linux基礎(chǔ)上的實(shí)時(shí)機(jī)器人控制系統(tǒng)。
摘要:著重研究了機(jī)器人控制系統(tǒng)的實(shí)時(shí)性提高和改進(jìn)方法,提出了一種建立在RT—Linux基礎(chǔ)上的實(shí)時(shí)機(jī)器人控制系統(tǒng)。文章闡述了將機(jī)器人控制器任務(wù)進(jìn)行實(shí)時(shí)域和非實(shí)時(shí)域劃分的思想,并給出了一個在RT.Linux操作系統(tǒng)下遠(yuǎn)程機(jī)器人實(shí)時(shí)控制系統(tǒng)實(shí)現(xiàn)的例子。最后還比較了在RT.Linux與標(biāo)準(zhǔn)Linux下的性能測試結(jié)果。 關(guān)健詞:實(shí)時(shí)系統(tǒng);RT.Linux;機(jī)器人控制器;響應(yīng)時(shí)間   實(shí)時(shí)系統(tǒng)是能夠在確定的時(shí)間內(nèi)執(zhí)行計(jì)算或處理事務(wù)并對外部事件作出響應(yīng)的計(jì)算機(jī)系統(tǒng)。對工業(yè)機(jī)器人控制來說,實(shí)時(shí)性是一個相當(dāng)重要的內(nèi)容,尤其是在遠(yuǎn)程機(jī)器人控制中,如果不能很好地滿足系統(tǒng)所需的實(shí)時(shí)性要求,就失去了研究的基礎(chǔ)和意義。當(dāng)前專用的實(shí)時(shí)操作系統(tǒng)很多,但是遺憾的是它們的價(jià)格高昂,增加了開發(fā)成本。在考慮實(shí)時(shí)操作系統(tǒng)核心的性能之外,更應(yīng)該對開發(fā)工具、編譯器、調(diào)試器之類的開發(fā)環(huán)境進(jìn)行全面考慮,尤其是隨著應(yīng)用的不斷升級,要求實(shí)時(shí)操作系統(tǒng)支持各類網(wǎng)絡(luò)協(xié)議和編程語言,系統(tǒng)的通用性和可移植性也應(yīng)當(dāng)列入考慮的范圍內(nèi)。于是力求尋找一種高性能的、低價(jià)的甚至是免費(fèi)的實(shí)時(shí)操作系統(tǒng),且功能必須完備,通用性必須強(qiáng)。RT—Linux與Linux的結(jié)合是一項(xiàng)比較新穎的技術(shù),一方面它提供了面向非實(shí)時(shí)的POSIX.1的標(biāo)準(zhǔn)功能,另一方面又提供了非常高效的滿足底層硬件設(shè)備的實(shí)時(shí)性能需要。這種實(shí)現(xiàn)方法可以充分利用Linux的強(qiáng)大功能和RT—Linux的實(shí)時(shí)性能。而且RT—Linux是免費(fèi)的,完全開放源代碼,可降低開發(fā)成本,適用范圍廣泛。 1 RT-Linux的系統(tǒng)結(jié)構(gòu) RT-Linux的基本思想就是使Linux運(yùn)行在實(shí)時(shí)核心之下,見圖1。RT—Linux是一個可加載的核心模塊。一個小的RT-Linux實(shí)時(shí)內(nèi)核同原來的Linux內(nèi)核共同控制處理器。實(shí)時(shí)內(nèi)核直接管理硬件中斷,因此實(shí)時(shí)內(nèi)核操縱著機(jī)器的響應(yīng)時(shí)間,原來的Linux就無法影響實(shí)時(shí)任務(wù)了。在RT-Linux中設(shè)計(jì)了兩類中斷。軟中斷是正常的Linux中斷,硬中斷則是真正的實(shí)時(shí)中斷,執(zhí)行時(shí)幾乎沒有任何延遲。實(shí)現(xiàn)時(shí),RT-Linux是通過在Linux核心和中斷處理器之間設(shè)計(jì)一個仿真軟件來達(dá)到其目的的。
  實(shí)時(shí)中斷不經(jīng)過中斷仿真器,標(biāo)準(zhǔn)Linux的所有硬件中斷首先被中斷仿真器捕獲,所以也根本無法影響實(shí)時(shí)進(jìn)程的處理。當(dāng)實(shí)時(shí)內(nèi)核禁止中斷時(shí),仿真器中的一個標(biāo)志位被置0。當(dāng)有其它非實(shí)時(shí)中斷產(chǎn)生時(shí),仿真器檢查那個標(biāo)志位,如果為0,說明不允許中斷,否則可以立即執(zhí)~Linux中斷處理程序。筒而言之,Linux不能中斷自身,但是RT-Linux可以中斷Linux,這也就達(dá)到了所謂的”RT—Linux的核心可搶占機(jī)制”。實(shí)時(shí)任務(wù)與普通進(jìn)程之間的通信是通過封鎖,釋放隊(duì)列來完成的。具體地說就是當(dāng)有實(shí)時(shí)任務(wù)要完成時(shí),實(shí)時(shí)操作系統(tǒng)運(yùn)行實(shí)時(shí)內(nèi)核下的任務(wù);當(dāng)沒有實(shí)時(shí)任務(wù)時(shí),實(shí)時(shí)內(nèi)核調(diào)度Linux運(yùn)行。所以Linux是實(shí)時(shí)內(nèi)核中優(yōu)先級最低的一個任務(wù)。   目前為止,在RT-Linux中采用兩種調(diào)度策略。一種是基于優(yōu)先級的搶占式調(diào)度算法;另一種是lsmaelRipoll實(shí)現(xiàn)的EDF(EarliestDeadlineFirst)算法。對于周期性任務(wù)可以采用單調(diào)率調(diào)度算法,即周期短的任務(wù)能夠獲得較高的優(yōu)先級。調(diào)度策略將Linux視為賦予最低優(yōu)先級的實(shí)時(shí)任務(wù)。   Linux僅僅在實(shí)時(shí)系統(tǒng)沒有其它任務(wù)時(shí)運(yùn)行。Linux和實(shí)時(shí)任務(wù)之間的轉(zhuǎn)換依據(jù)上述提及的軟中斷狀態(tài)而定。RT-Linux通過這樣一種設(shè)計(jì)方法,將標(biāo)準(zhǔn)的Linux核心改成一個可搶占的、具有低延遲中斷處理的實(shí)時(shí)系統(tǒng)。 2 實(shí)時(shí)機(jī)器人控制系統(tǒng)的軟/硬件結(jié)構(gòu) 2.1硬件系統(tǒng)結(jié)構(gòu)   整個實(shí)時(shí)機(jī)器人控制系統(tǒng)主要的硬件部件為:與IBM—PC兼容PentiumIII733MHzq-業(yè)控制微機(jī)(IPC),內(nèi)存l28MB;三軸位置控制卡(PCL一832);l0/100M自適應(yīng)網(wǎng)卡、集線器等以太網(wǎng)連接設(shè)備;機(jī)器人本體為具有5個自由度的日產(chǎn)PT500機(jī)器人。   機(jī)器人控制器運(yùn)行于一臺工業(yè)控制微型計(jì)算機(jī)(IPC)上。在該IPC上安裝了兩塊三軸位置控制卡。每塊三軸位置控制卡能對三軸進(jìn)行聯(lián)動插補(bǔ)控制。每軸有專用位置芯片控制,構(gòu)成一個伺服位置和速度環(huán)。三軸位置控制卡以插補(bǔ)時(shí)間為周期連續(xù)發(fā)出中斷,我們需要在DDA周期開始之前,將位置信息寫入位置控制卡動作控制芯片的緩沖區(qū)中。放在DDA脈沖緩沖器中的脈沖數(shù)被傳到DDA發(fā)生器,在下一個DDA周期中輸出。然后由三軸位置控制卡將各軸對應(yīng)的脈沖數(shù)解釋為相應(yīng)的電平信號,驅(qū)動伺服驅(qū)動器以驅(qū)動機(jī)器人本體的運(yùn)動。 2.2軟件系統(tǒng)結(jié)構(gòu)
  整個機(jī)器人實(shí)時(shí)控制器的系統(tǒng)結(jié)構(gòu)如圖2所示,整個系統(tǒng)分為2個域:實(shí)時(shí)域和非實(shí)時(shí)域。實(shí)時(shí)域中實(shí)現(xiàn)的是實(shí)時(shí)設(shè)備驅(qū)動程序,負(fù)責(zé)PCL-832位置控制卡的控制與中斷響應(yīng),驅(qū)動機(jī)器人本體運(yùn)動;非實(shí)時(shí)域中實(shí)現(xiàn)的是上層的機(jī)器人控制界面和遠(yuǎn)程監(jiān)控子系統(tǒng);二者之問通過實(shí)時(shí)先進(jìn)先出(RT-FIFO)緩沖隊(duì)列進(jìn)行數(shù)據(jù)交換。內(nèi)核調(diào)度策略將Linux視為賦予最低優(yōu)先級的實(shí)時(shí)任務(wù),Linux中的非實(shí)時(shí)任務(wù)僅僅在實(shí)時(shí)系統(tǒng)沒有其它任務(wù)時(shí)運(yùn)行,以確保實(shí)時(shí)任務(wù)的最高實(shí)時(shí)優(yōu)先級。 (1)RT-Linux中的實(shí)時(shí)模塊   實(shí)時(shí)域中的軟件模塊主要是三軸位置控制卡(PCL一832)的設(shè)備驅(qū)動程序。驅(qū)動程序是能夠直接訪問硬件的模塊,具有應(yīng)用程序不具備的處理中斷和讀寫端口的能力,是嵌入操作系統(tǒng)核心的底層軟件。三軸位置控制卡以毫秒級發(fā)出DDA中斷請求,對DDA中斷的響應(yīng)的快慢是決定整個機(jī)器人控制器實(shí)時(shí)性能的關(guān)鍵指標(biāo)。我們開發(fā)的實(shí)時(shí)設(shè)備驅(qū)動程序位于RT-Linux的實(shí)時(shí)域中,享有系統(tǒng)最高實(shí)時(shí)優(yōu)先級。它是整個實(shí)時(shí)機(jī)器人控制系統(tǒng)的前提和基礎(chǔ)。RT-Linux中的三軸位置控制卡的實(shí)時(shí)設(shè)備驅(qū)動程序必須處理以下事務(wù): 1)響應(yīng)三軸位置卡的插補(bǔ)周期中斷(DDA),并輸出位置脈沖數(shù)值; 2)響應(yīng)三軸位置卡的誤差溢出中斷(Ov),通知應(yīng)用程序進(jìn)行相應(yīng)處理; 3)為應(yīng)用程序提供服務(wù),如讀寫I/O端口、設(shè)置參數(shù)、讀取狀態(tài)等。 (2)Linux中的非實(shí)時(shí)模塊   非實(shí)時(shí)域中的軟件模塊由機(jī)器人控制器和遠(yuǎn)程監(jiān)控子系統(tǒng)組成。本地的機(jī)器人控制器負(fù)責(zé)將文本機(jī)器人指令解釋成相應(yīng)的位置脈沖數(shù)據(jù),通過先進(jìn)先出(RT-FIFO)緩沖隊(duì)列發(fā)送給實(shí)時(shí)域中的驅(qū)動程序驅(qū)動機(jī)器人本體運(yùn)動。圖形仿真與監(jiān)控系統(tǒng)運(yùn)行于另一臺微機(jī)上,它能夠接收來自機(jī)器人控制器或者離線編程與仿真數(shù)據(jù)發(fā)生器的機(jī)器人實(shí)時(shí)狀態(tài),通過三維圖形仿真的方式實(shí)時(shí)顯示出來,給用戶一個直觀的機(jī)器人運(yùn)行狀態(tài)信息,隨時(shí)監(jiān)視機(jī)器人的運(yùn)動狀態(tài)。同時(shí)具有權(quán)限的用戶能夠以離線編程方式或在線操作方式通過高速以太網(wǎng)分別與離線編程與仿真數(shù)據(jù)發(fā)生器和機(jī)器人控制器進(jìn)行連接,實(shí)現(xiàn)離線編程和對機(jī)器人的實(shí)際控制。 3 實(shí)時(shí)系統(tǒng)的性能評估   實(shí)時(shí)系統(tǒng)的性能評估主要在8個方面進(jìn)行。它們分別是任務(wù)換道性能、任務(wù)優(yōu)先級性能、內(nèi)存分配性能、任務(wù)內(nèi)部通信性能、中斷延遲時(shí)間、操作系統(tǒng)運(yùn)行時(shí)效率、初始化時(shí)間和關(guān)機(jī)時(shí)間。而在機(jī)器人控制中最講究的就是中斷響應(yīng)時(shí)問。因?yàn)榫捅卷?xiàng)目而言,我們最關(guān)I~,RT-Linux系統(tǒng)對三軸位置控制卡(PCL一832)的DDA中斷的響應(yīng)時(shí)間,所有工作的目的就是為了盡量減少中斷響應(yīng)時(shí)間。 3.1測試環(huán)境及方法   用于測試的工業(yè)控制微機(jī)的硬件配置為IntelPentium(clockl20MHz),RAM64MB;服務(wù)器軟件是用RedHatLinux6.0(內(nèi)核版本號2.2.5一l5),RT-Linux的版本號2.2;網(wǎng)絡(luò)環(huán)境l0/100M自適應(yīng)網(wǎng)卡。中斷響應(yīng)時(shí)間的快慢直接反映了這樣一個過程的快慢:在用戶層的用戶進(jìn)程通過系統(tǒng)調(diào)用將脈沖數(shù)據(jù)寫入位于核心層的實(shí)時(shí)驅(qū)動程序的數(shù)據(jù)緩沖隊(duì)列,在下一個DDA中斷請求到來時(shí),中斷服務(wù)例程將數(shù)據(jù)緩沖隊(duì)列中的脈沖數(shù)據(jù)寫入三軸位置控制卡的動作控制芯片的緩沖區(qū),驅(qū)動機(jī)器人本體運(yùn)行。因此,我們將用戶層的用戶進(jìn)程開始調(diào)用系統(tǒng)調(diào)用發(fā)送脈沖數(shù)據(jù)的時(shí)刻作為測試開始時(shí)刻,將下一個DDA中斷請求到來時(shí),相應(yīng)的DDA中斷服務(wù)例程將數(shù)據(jù)寫入三軸位置控制卡的動作控制芯片的緩沖區(qū),以驅(qū)動機(jī)器人本體運(yùn)行的時(shí)刻作為測試結(jié)束的時(shí)刻。圖3反映了上述過程。
3.2測試結(jié)果   我們分別設(shè)置DDA周期為8、12、16、24ms的4種情況作了測試,經(jīng)過計(jì)算,可以得出表1所示的結(jié)果。
表1 低負(fù)載下D DA中斷響應(yīng)處理時(shí)問測試結(jié)果
  可見,在低負(fù)載下RT-Linux的測量時(shí)間要比Linux下快0.5—0.6ms左右,證明了采用RT—Linux系統(tǒng)確實(shí)能夠提高系統(tǒng)的實(shí)時(shí)性能。在這里有幾點(diǎn)需要說明:   (1)RT—Linux直接接受硬件中斷,所以我們將PCL一832卡的DDA中斷和OV中斷安裝在實(shí)時(shí)域中,目的就是讓RT-Linux最先捕獲這兩個實(shí)時(shí)中斷,進(jìn)行處理。但是在標(biāo)準(zhǔn)Linux下采用的是軟中斷的概念,也就是說無法保證DDA中斷和OV中斷最先執(zhí)行。我們的機(jī)器人控制器一旦加上網(wǎng)絡(luò)通信模塊,進(jìn)行監(jiān)視和仿真時(shí),則在運(yùn)行過程中DDA中斷和OV中斷要受到來自網(wǎng)卡中斷的影響。所以在這種情況下,為了保證機(jī)器人運(yùn)動的實(shí)時(shí)性,采用RT-Linux的優(yōu)勢就體現(xiàn)出來了。如果在網(wǎng)卡干預(yù)的情況下測試,標(biāo)準(zhǔn)Linux下的中斷處理時(shí)間將比RT.Linux下要來得更長。 (2)如果用戶應(yīng)用層開辟大量的用戶進(jìn)程,則對于分時(shí)的標(biāo)準(zhǔn)Linux來說會受到很大程度的影響。但是對于RT-Linux來說,實(shí)時(shí)進(jìn)程不會受到非實(shí)時(shí)域中用戶進(jìn)程的影響,所以在這種重負(fù)載情況下,RT-Linux的實(shí)時(shí)性比標(biāo)準(zhǔn)Linux下要高。   由測試結(jié)果可以看出,RT-Linux系統(tǒng)中斷響應(yīng)比標(biāo)準(zhǔn)Linux延時(shí)時(shí)間短,這個結(jié)果也預(yù)示在系統(tǒng)高負(fù)載情況下RT-Linux系統(tǒng)中的實(shí)時(shí)性能的優(yōu)勢將更為明顯。實(shí)際使用該實(shí)時(shí)機(jī)器人控制器時(shí),機(jī)器人運(yùn)行非常穩(wěn)定,能滿足實(shí)時(shí)控制的需要。 4 總結(jié)   在機(jī)器人控制器的設(shè)計(jì)中,如何最大程度的提高機(jī)器人控制的實(shí)時(shí)性是一個關(guān)鍵問題。本文中我們運(yùn)用了將軟件任務(wù)劃分實(shí)時(shí)域與非實(shí)時(shí)域的思想,提出并實(shí)現(xiàn)了一種將RT-Linux與Linux結(jié)合的實(shí)時(shí)機(jī)器人控制系統(tǒng)。該系統(tǒng)的優(yōu)點(diǎn)是:一方面提供了非常高效的滿足底層硬件設(shè)備的實(shí)時(shí)性能,另一方面可以充分利用Linux的強(qiáng)大功能。而且RT-Linux是完全開放源代碼的免費(fèi)軟件,降低了開發(fā)成本。因此該技術(shù)具有非常廣泛的產(chǎn)業(yè)化前景。 參考文獻(xiàn): l RubiniA.LinuxDeviceDrivers.O’Reil&Associates,1998 2 MaxwellS.Linux內(nèi)核源代碼分析.北京:機(jī)械工業(yè)出版社.2000.06 3 YodaikenV.BarabanovM.RT.LinuxVersionTwo.WWW.thinkingnerds.com/fsmlabs/archive/design.pdf,1999-ll 4 李開生,張慧慧.費(fèi)仁元等.機(jī)器人控制器體系結(jié)構(gòu)研究的現(xiàn)狀和發(fā)展.機(jī)器人,2000.22(3) 5 毛羽剛,金士蕘,張擁軍等.分布強(qiáng)實(shí)時(shí)系統(tǒng)的可預(yù)測性研究.計(jì)算機(jī)研究與發(fā)展,2000,37(6) 點(diǎn)擊下載:機(jī)器人控制系統(tǒng)實(shí)時(shí)性的研究

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:MEMS 傳感器的優(yōu)化與動態(tài)試驗(yàn)

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號