0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RT-Linux與Linux相結(jié)合的機(jī)器人控制系統(tǒng)的設(shè)計(jì)與實(shí)時(shí)性能分析

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2018-12-06 08:02 ? 次閱讀

機(jī)器人控制器的設(shè)計(jì)中,如何最大程度的提高機(jī)器人控制的實(shí)時(shí)性是一個(gè)關(guān)鍵問(wè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是完全開(kāi)放源代碼的免費(fèi)軟件,降低了開(kāi)發(fā)成本。

1 RT-Linux的系統(tǒng)結(jié)構(gòu)

RT-Linux的基本思想就是使Linux運(yùn)行在實(shí)時(shí)核心之下,如圖1所示。RT—Linux是一個(gè)可加載的核心模塊。一個(gè)小的RT-Linux實(shí)時(shí)內(nèi)核同原來(lái)的Linux內(nèi)核共同控制處理器。實(shí)時(shí)內(nèi)核直接管理硬件中斷,因此實(shí)時(shí)內(nèi)核操縱著機(jī)器的響應(yīng)時(shí)間,原來(lái)的Linux就無(wú)法影響實(shí)時(shí)任務(wù)了。在RT- Linux中設(shè)計(jì)了兩類中斷。軟中斷是正常的Linux中斷,硬中斷則是真正的實(shí)時(shí)中斷,執(zhí)行時(shí)幾乎沒(méi)有任何延遲。實(shí)現(xiàn)時(shí),RT-Linux是通過(guò)在 Linux核心和中斷處理器之間設(shè)計(jì)一個(gè)仿真軟件來(lái)達(dá)到其目的的。

RT-Linux與Linux相結(jié)合的機(jī)器人控制系統(tǒng)的設(shè)計(jì)與實(shí)時(shí)性能分析

在RT-Linux中采用兩種調(diào)度策略。一種是基于優(yōu)先級(jí)的搶占式調(diào)度算法;另一種是lsmaelRipoll實(shí)現(xiàn)的 EDF(EarliestDeadlineFirst)算法。對(duì)于周期性任務(wù)可以采用單調(diào)率調(diào)度算法,即周期短的任務(wù)能夠獲得較高的優(yōu)先級(jí)。調(diào)度策略將 Linux視為賦予最低優(yōu)先級(jí)的實(shí)時(shí)任務(wù)。

Linux僅僅在實(shí)時(shí)系統(tǒng)沒(méi)有其它任務(wù)時(shí)運(yùn)行。Linux和實(shí)時(shí)任務(wù)之間的轉(zhuǎn)換依據(jù)上述提及的軟中斷狀態(tài)而定。RT-Linux通過(guò)這樣一種設(shè)計(jì)方法,將標(biāo)準(zhǔn)的Linux核心改成一個(gè)可搶占的、具有低延遲中斷處理的實(shí)時(shí)系統(tǒng)。

2 實(shí)時(shí)機(jī)器人控制系統(tǒng)的軟/硬件結(jié)構(gòu)

2.1硬件系統(tǒng)結(jié)構(gòu)

整個(gè)實(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個(gè)自由度的日產(chǎn)PT500機(jī)器人。

機(jī)器人控制器運(yùn)行于一臺(tái)工業(yè)控制微型計(jì)算機(jī)(IPC)上。在該IPC上安裝了兩塊三軸位置控制卡。每塊三軸位置控制卡能對(duì)三軸進(jìn)行聯(lián)動(dòng)插補(bǔ)控制。每軸有專用位置芯片控制,構(gòu)成一個(gè)伺服位置和速度環(huán)。放在DDA脈沖緩沖器中的脈沖數(shù)被傳到DDA發(fā)生器,在下一個(gè)DDA周期中輸出。然后由三軸位置控制卡將各軸對(duì)應(yīng)的脈沖數(shù)解釋為相應(yīng)的電平信號(hào),驅(qū)動(dòng)伺服驅(qū)動(dòng)器以驅(qū)動(dòng)機(jī)器人本體的運(yùn)動(dòng)。

2.2軟件系統(tǒng)結(jié)構(gòu)

整個(gè)機(jī)器人實(shí)時(shí)控制器的系統(tǒng)結(jié)構(gòu)如圖2所示,整個(gè)系統(tǒng)分為2個(gè)域:實(shí)時(shí)域和非實(shí)時(shí)域。實(shí)時(shí)域中實(shí)現(xiàn)的是實(shí)時(shí)設(shè)備驅(qū)動(dòng)程序,負(fù)責(zé)PCL-832位置控制卡的控制與中斷響應(yīng),驅(qū)動(dòng)機(jī)器人本體運(yùn)動(dòng);非實(shí)時(shí)域中實(shí)現(xiàn)的是上層的機(jī)器人控制界面和遠(yuǎn)程監(jiān)控子系統(tǒng);二者之問(wèn)通過(guò)實(shí)時(shí)先進(jìn)先出(RT-FIFO)緩沖隊(duì)列進(jìn)行數(shù)據(jù)交換。內(nèi)核調(diào)度策略將Linux視為賦予最低優(yōu)先級(jí)的實(shí)時(shí)任務(wù),Linux中的非實(shí)時(shí)任務(wù)僅僅在實(shí)時(shí)系統(tǒng)沒(méi)有其它任務(wù)時(shí)運(yùn)行,以確保實(shí)時(shí)任務(wù)的最高實(shí)時(shí)優(yōu)先級(jí)。

RT-Linux與Linux相結(jié)合的機(jī)器人控制系統(tǒng)的設(shè)計(jì)與實(shí)時(shí)性能分析

(1)RT-Linux中的實(shí)時(shí)模塊

實(shí)時(shí)域中的軟件模塊主要是三軸位置控制卡(PCL一832)的設(shè)備驅(qū)動(dòng)程序。驅(qū)動(dòng)程序是能夠直接訪問(wèn)硬件的模塊,具有應(yīng)用程序不具備的處理中斷和讀寫(xiě)端口的能力,是嵌入操作系統(tǒng)核心的底層軟件。三軸位置控制卡以毫秒級(jí)發(fā)出DDA中斷請(qǐng)求,對(duì)DDA中斷的響應(yīng)的快慢是決定整個(gè)機(jī)器人控制器實(shí)時(shí)性能的關(guān)鍵指標(biāo)。RT-Linux中的三軸位置控制卡的實(shí)時(shí)設(shè)備驅(qū)動(dòng)程序必須處理以下事務(wù):

① 響應(yīng)三軸位置卡的插補(bǔ)周期中斷(DDA),并輸出位置脈沖數(shù)值;

② 響應(yīng)三軸位置卡的誤差溢出中斷(Ov),通知應(yīng)用程序進(jìn)行相應(yīng)處理;

③ 為應(yīng)用程序提供服務(wù),如讀寫(xiě)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ù),通過(guò)先進(jìn)先出(RT- FIFO)緩沖隊(duì)列發(fā)送給實(shí)時(shí)域中的驅(qū)動(dòng)程序驅(qū)動(dòng)機(jī)器人本體運(yùn)動(dòng)。同時(shí)具有權(quán)限的用戶能夠以離線編程方式或在線操作方式通過(guò)高速以太網(wǎng)分別與離線編程與仿真數(shù)據(jù)發(fā)生器和機(jī)器人控制器進(jìn)行連接,實(shí)現(xiàn)離線編程和對(duì)機(jī)器人的實(shí)際控制。

3 實(shí)時(shí)系統(tǒng)的性能評(píng)估

實(shí)時(shí)系統(tǒng)的性能評(píng)估主要在8個(gè)方面進(jìn)行。它們分別是任務(wù)換道性能、任務(wù)優(yōu)先級(jí)性能、內(nèi)存分配性能、任務(wù)內(nèi)部通信性能、中斷延遲時(shí)間、操作系統(tǒng)運(yùn)行時(shí)效率、初始化時(shí)間和關(guān)機(jī)時(shí)間。而在機(jī)器人控制中最講究的就是中斷響應(yīng)時(shí)問(wèn)。因?yàn)榫捅卷?xiàng)目而言,我們最關(guān)I~,RT-Linux系統(tǒng)對(duì)三軸位置控制卡(PCL一 832)的DDA中斷的響應(yīng)時(shí)間,所有工作的目的就是為了盡量減少中斷響應(yīng)時(shí)間。

3.1測(cè)試環(huán)境及方法

用于測(cè)試的工業(yè)控制微機(jī)的硬件配置為IntelPentium(clockl20MHz),RAM64MB;服務(wù)器軟件是用 RedHatLinux6.0(內(nèi)核版本號(hào)2.2.5一l5),RT-Linux的版本號(hào)2.2;網(wǎng)絡(luò)環(huán)境l0/100M自適應(yīng)網(wǎng)卡。中斷響應(yīng)時(shí)間的快慢直接反映了這樣一個(gè)過(guò)程的快慢:在用戶層的用戶進(jìn)程通過(guò)系統(tǒng)調(diào)用將脈沖數(shù)據(jù)寫(xiě)入位于核心層的實(shí)時(shí)驅(qū)動(dòng)程序的數(shù)據(jù)緩沖隊(duì)列,在下一個(gè)DDA中斷請(qǐng)求到來(lái)時(shí),中斷服務(wù)例程將數(shù)據(jù)緩沖隊(duì)列中的脈沖數(shù)據(jù)寫(xiě)入三軸位置控制卡的動(dòng)作控制芯片的緩沖區(qū),驅(qū)動(dòng)機(jī)器人本體運(yùn)行。圖3反映了上述過(guò)程。

RT-Linux與Linux相結(jié)合的機(jī)器人控制系統(tǒng)的設(shè)計(jì)與實(shí)時(shí)性能分析

3.2測(cè)試結(jié)果

分別設(shè)置DDA周期為8、12、16、24ms的4種情況作了測(cè)試,經(jīng)過(guò)計(jì)算,可以得出表1所示的結(jié)果。

RT-Linux與Linux相結(jié)合的機(jī)器人控制系統(tǒng)的設(shè)計(jì)與實(shí)時(shí)性能分析

表1 低負(fù)載下D DA中斷響應(yīng)處理時(shí)問(wèn)測(cè)試結(jié)果

由此得出,在低負(fù)載下RT-Linux的測(cè)量時(shí)間要比Linux下快0.5—0.6ms左右,證明采用RT—Linux系統(tǒng)確實(shí)能夠提高系統(tǒng)的實(shí)時(shí)性能。需要注意的是:

① RT—Linux直接接受硬件中斷,所以我們將PCL一832卡的DDA中斷和OV中斷安裝在實(shí)時(shí)域中,目的就是讓RT-Linux最先捕獲這兩個(gè)實(shí)時(shí)中斷,進(jìn)行處理。

② 如果用戶應(yīng)用層開(kāi)辟大量的用戶進(jìn)程,則對(duì)于分時(shí)的標(biāo)準(zhǔn)Linux來(lái)說(shuō)會(huì)受到很大程度的影響。

由測(cè)試結(jié)果可看出,RT-Linux系統(tǒng)中斷響應(yīng)比標(biāo)準(zhǔn)Linux延時(shí)時(shí)間短,這個(gè)結(jié)果也預(yù)示在系統(tǒng)高負(fù)載情況下RT-Linux系統(tǒng)中的實(shí)時(shí)性能的優(yōu)勢(shì)將更為明顯。實(shí)際使用該實(shí)時(shí)機(jī)器人控制器時(shí),機(jī)器人運(yùn)行非常穩(wěn)定,能夠滿足實(shí)時(shí)控制的需要。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    6477

    瀏覽量

    110326
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    210

    文章

    28020

    瀏覽量

    205622
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11182

    瀏覽量

    208538
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于LinuxRTLinux實(shí)現(xiàn)實(shí)時(shí)機(jī)器人控制系統(tǒng)的設(shè)計(jì)

    實(shí)時(shí)系統(tǒng)是能夠在確定的時(shí)間內(nèi)執(zhí)行計(jì)算或處理事務(wù)并對(duì)外部事件作出響應(yīng)的計(jì)算機(jī)系統(tǒng)。對(duì)工業(yè)機(jī)器人控制來(lái)說(shuō),實(shí)
    的頭像 發(fā)表于 04-08 09:42 ?1.3w次閱讀
    基于<b class='flag-5'>Linux</b>和<b class='flag-5'>RT</b>—<b class='flag-5'>Linux</b>實(shí)現(xiàn)<b class='flag-5'>實(shí)時(shí)機(jī)器人</b><b class='flag-5'>控制系統(tǒng)</b>的設(shè)計(jì)

    基于arm的實(shí)時(shí)linux操作系統(tǒng)

    最近想嘗試使用armA8做一款機(jī)器人主控制器,一般說(shuō)來(lái)目前的絕大部分工業(yè)機(jī)器人都是采用x86架構(gòu)的處理器。這就造車了控制器體積、散熱、功耗、擴(kuò)展能力的諸多不便。由于機(jī)器人
    發(fā)表于 07-18 22:27

    如何設(shè)計(jì)智能滅火機(jī)器人控制器?

    應(yīng)用對(duì)象相結(jié)合后的系統(tǒng),其是硬件和軟件緊密捆綁在一起的系統(tǒng)。將嵌入式系統(tǒng)應(yīng)用于滅火機(jī)器人的設(shè)計(jì)中,對(duì)機(jī)器
    發(fā)表于 07-31 06:23

    4種實(shí)時(shí)操作系統(tǒng)實(shí)時(shí)性的分析對(duì)比分析,VxWorks、μC/OS-II、RT-Linux、QNX選哪個(gè)?

    本文從實(shí)時(shí)性的角度細(xì)致的分析對(duì)比了適用于此類有苛刻實(shí)時(shí)性要 求的4種操作系統(tǒng)—VxWorks、μC/OS-II、RT-Linux、QNX,為
    發(fā)表于 04-27 06:46

    如何實(shí)現(xiàn)基于RT-Linux的防危核?

    要保證危核的有效性需要遵循哪些原則?開(kāi)發(fā)平臺(tái)RT-Linux OS構(gòu)架與特征是什么在RT-Linux中實(shí)現(xiàn)防危核的可行性如何實(shí)現(xiàn)基于RT-Linux的防危核?
    發(fā)表于 04-28 06:59

    機(jī)器人控制系統(tǒng)

    1、機(jī)器人控制系統(tǒng)控制”的目的是使被控對(duì)象產(chǎn)生控制者所期望的行為方式。 .“控制”的基本條件是了解被控對(duì)象的特性。 “實(shí)質(zhì)”是對(duì)驅(qū)動(dòng)器輸
    發(fā)表于 09-13 08:40

    什么是機(jī)器人控制系統(tǒng)

    什么是機(jī)器人控制系統(tǒng)?機(jī)器人的運(yùn)動(dòng)控制系統(tǒng)包含哪些方面?機(jī)器人控制系統(tǒng)的基本功能有哪些?
    發(fā)表于 10-11 09:38

    通過(guò)多軸工業(yè)機(jī)器人來(lái)聊聊機(jī)器人控制系統(tǒng)以及控制器的實(shí)現(xiàn)

    機(jī)器人控制系統(tǒng)當(dāng)中。那么今天,我們就通過(guò)多軸工業(yè)機(jī)器人來(lái)聊聊機(jī)器人控制系統(tǒng)以及控制器的實(shí)現(xiàn)?!?/div>
    發(fā)表于 02-24 17:05

    基于ARM9和Linux機(jī)器人控制系統(tǒng)設(shè)計(jì)

    利用ARM 和嵌Linux 作為智能機(jī)器人平臺(tái)具有很大的優(yōu)勢(shì),但在國(guó)內(nèi)還未發(fā)現(xiàn)用該平臺(tái)開(kāi)發(fā)智能機(jī)器人系統(tǒng)。本設(shè)計(jì)完成了對(duì)該
    發(fā)表于 11-30 12:04 ?10次下載

    變電站巡檢機(jī)器人控制系統(tǒng)設(shè)計(jì)

    本文針對(duì)變電站設(shè)備巡檢工作的實(shí)際情況,提出了一種基于嵌入式Linux 操作系統(tǒng)的巡檢機(jī)器人控制系統(tǒng)的軟件體系結(jié)構(gòu);完成了在PC104 硬件模塊上的機(jī)
    發(fā)表于 12-16 16:41 ?22次下載

    基于RT-Linux防危保障機(jī)制的實(shí)驗(yàn)?zāi)P?/a>

    本文以RT-Linux實(shí)時(shí)操作系統(tǒng)為平臺(tái),對(duì)十字路口交通燈控制建立安全實(shí)驗(yàn)?zāi)P停布牢:藢?shí)現(xiàn)技術(shù),為防危保障探索新的實(shí)現(xiàn)途徑
    發(fā)表于 05-14 10:24 ?882次閱讀
    基于<b class='flag-5'>RT-Linux</b>防危保障機(jī)制的實(shí)驗(yàn)?zāi)P? />    </a>
</div>                            <div   id=

    幾個(gè)RT-Linux 源碼

    幾個(gè)RT-Linux 源碼
    發(fā)表于 01-08 14:27 ?11次下載

    關(guān)于四種實(shí)時(shí)嵌入式Linux操作系統(tǒng)的對(duì)比分析淺析

    本文對(duì)四種實(shí)時(shí)操作系統(tǒng)(RTOS)特性進(jìn)行分析和比較。它們是:Lynx實(shí)時(shí)系統(tǒng)公司的LynxOS、QNX軟件
    發(fā)表于 09-05 17:39 ?6253次閱讀

    機(jī)器人控制系統(tǒng)分類_機(jī)器人控制系統(tǒng)有哪些

    機(jī)器人控制系統(tǒng),就相當(dāng)于人體的大腦,是機(jī)器人的核心組成部分。關(guān)于機(jī)器人控制系統(tǒng)有哪些分類呢?機(jī)器人
    發(fā)表于 11-04 08:45 ?2.6w次閱讀

    工業(yè)實(shí)時(shí)操作系統(tǒng)對(duì)比:鴻道Intewell跟rt-linux有啥區(qū)別

    Intewell和RT-Linux是兩種不同的實(shí)時(shí)操作系統(tǒng)(RTOS),它們具有各自獨(dú)特的特點(diǎn)和優(yōu)勢(shì)。以下是Intewell操作系統(tǒng)的一些關(guān)鍵特性,以及與
    的頭像 發(fā)表于 07-03 10:00 ?358次閱讀
    工業(yè)<b class='flag-5'>實(shí)時(shí)</b>操作<b class='flag-5'>系統(tǒng)</b>對(duì)比:鴻道Intewell跟<b class='flag-5'>rt-linux</b>有啥區(qū)別