精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于Linux和RT—Linux實現實時機器人控制系統的設計

電子設計 ? 來源: 計算機工程與科學 ? 作者:施華,陳一民,李超 ? 2021-04-08 09:42 ? 次閱讀

實時系統是能夠在確定的時間內執行計算或處理事務并對外部事件作出響應的計算機系統。對工業機器人控制來說,實時性是一個相當重要的內容,尤其是在遠程機器人控制中,如果不能很好地滿足系統所需的實時性要求,就失去了研究的基礎和意義。當前專用的實時操作系統很多,但是遺憾的是它們的價格高昂,增加了開發成本。在考慮實時操作系統核心的性能之外,更應該對開發工具、編譯器、調試器之類的開發環境進行全面考慮,尤其是隨著應用的不斷升級,要求實時操作系統支持各類網絡協議和編程語言,系統的通用性和可移植性也應當列入考慮的范圍內。于是力求尋找一種高性能的、低價的甚至是免費的實時操作系統,且功能必須完備,通用性必須強。RT—Linux與Linux的結合是一項比較新穎的技術,一方面它提供了面向非實時的POSIX.1的標準功能,另一方面又提供了非常高效的滿足底層硬件設備的實時性能需要。這種實現方法可以充分利用Linux的強大功能和RT—Linux的實時性能。而且RT—Linux是免費的,完全開放源代碼,可降低開發成本,適用范圍廣泛。

1 RT-Linux的系統結構

RT-Linux的基本思想就是使Linux運行在實時核心之下,見圖1。RT—Linux是一個可加載的核心模塊。一個小的RT-Linux實時內核同原來的Linux內核共同控制處理器。實時內核直接管理硬件中斷,因此實時內核操縱著機器的響應時間,原來的Linux就無法影響實時任務了。在RT- Linux中設計了兩類中斷。軟中斷是正常的Linux中斷,硬中斷則是真正的實時中斷,執行時幾乎沒有任何延遲。實現時,RT-Linux是通過在 Linux核心和中斷處理器之間設計一個仿真軟件來達到其目的的。

實時中斷不經過中斷仿真器,標準Linux的所有硬件中斷首先被中斷仿真器捕獲,所以也根本無法影響實時進程的處理。當實時內核禁止中斷時,仿真器中的一個標志位被置0。當有其它非實時中斷產生時,仿真器檢查那個標志位,如果為0,說明不允許中斷,否則可以立即執~Linux中斷處理程序。筒而言之,Linux不能中斷自身,但是RT-Linux可以中斷Linux,這也就達到了所謂的”RT—Linux的核心可搶占機制”。實時任務與普通進程之間的通信是通過封鎖,釋放隊列來完成的。具體地說就是當有實時任務要完成時,實時操作系統運行實時內核下的任務;當沒有實時任務時,實時內核調度 Linux運行。所以Linux是實時內核中優先級最低的一個任務。

目前為止,在RT-Linux中采用兩種調度策略。一種是基于優先級的搶占式調度算法;另一種是lsmaelRipoll實現的 EDF(EarliestDeadlineFirst)算法。對于周期性任務可以采用單調率調度算法,即周期短的任務能夠獲得較高的優先級。調度策略將 Linux視為賦予最低優先級的實時任務。

Linux僅僅在實時系統沒有其它任務時運行。Linux和實時任務之間的轉換依據上述提及的軟中斷狀態而定。RT-Linux通過這樣一種設計方法,將標準的Linux核心改成一個可搶占的、具有低延遲中斷處理的實時系統。

2 實時機器人控制系統的軟/硬件結構

2.1硬件系統結構

整個實時機器人控制系統主要的硬件部件為:與IBM—PC兼容PentiumIII733MHzq-業控制微機(IPC),內存l28MB;三軸位置控制卡(PCL一832);l0/100M自適應網卡、集線器等以太網連接設備;機器人本體為具有5個自由度的日產PT500機器人。

機器人控制器運行于一臺工業控制微型計算機(IPC)上。在該IPC上安裝了兩塊三軸位置控制卡。每塊三軸位置控制卡能對三軸進行聯動插補控制。每軸有專用位置芯片控制,構成一個伺服位置和速度環。三軸位置控制卡以插補時間為周期連續發出中斷,我們需要在DDA周期開始之前,將位置信息寫入位置控制卡動作控制芯片的緩沖區中。放在DDA脈沖緩沖器中的脈沖數被傳到DDA發生器,在下一個DDA周期中輸出。然后由三軸位置控制卡將各軸對應的脈沖數解釋為相應的電平信號,驅動伺服驅動器以驅動機器人本體的運動。

2.2軟件系統結構

整個機器人實時控制器的系統結構如圖2所示,整個系統分為2個域:實時域和非實時域。實時域中實現的是實時設備驅動程序,負責PCL-832位置控制卡的控制與中斷響應,驅動機器人本體運動;非實時域中實現的是上層的機器人控制界面和遠程監控子系統;二者之問通過實時先進先出(RT-FIFO)緩沖隊列進行數據交換。內核調度策略將Linux視為賦予最低優先級的實時任務,Linux中的非實時任務僅僅在實時系統沒有其它任務時運行,以確保實時任務的最高實時優先級。

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

實時域中的軟件模塊主要是三軸位置控制卡(PCL一832)的設備驅動程序。驅動程序是能夠直接訪問硬件的模塊,具有應用程序不具備的處理中斷和讀寫端口的能力,是嵌入操作系統核心的底層軟件。三軸位置控制卡以毫秒級發出DDA中斷請求,對DDA中斷的響應的快慢是決定整個機器人控制器實時性能的關鍵指標。我們開發的實時設備驅動程序位于RT-Linux的實時域中,享有系統最高實時優先級。它是整個實時機器人控制系統的前提和基礎。RT-Linux中的三軸位置控制卡的實時設備驅動程序必須處理以下事務:

1)響應三軸位置卡的插補周期中斷(DDA),并輸出位置脈沖數值;

2)響應三軸位置卡的誤差溢出中斷(Ov),通知應用程序進行相應處理;

3)為應用程序提供服務,如讀寫I/O端口、設置參數、讀取狀態等。

(2)Linux中的非實時模塊

非實時域中的軟件模塊由機器人控制器和遠程監控子系統組成。本地的機器人控制器負責將文本機器人指令解釋成相應的位置脈沖數據,通過先進先出(RT- FIFO)緩沖隊列發送給實時域中的驅動程序驅動機器人本體運動。圖形仿真與監控系統運行于另一臺微機上,它能夠接收來自機器人控制器或者離線編程與仿真數據發生器的機器人實時狀態,通過三維圖形仿真的方式實時顯示出來,給用戶一個直觀的機器人運行狀態信息,隨時監視機器人的運動狀態。同時具有權限的用戶能夠以離線編程方式或在線操作方式通過高速以太網分別與離線編程與仿真數據發生器和機器人控制器進行連接,實現離線編程和對機器人的實際控制。

3 實時系統的性能評估

實時系統的性能評估主要在8個方面進行。它們分別是任務換道性能、任務優先級性能、內存分配性能、任務內部通信性能、中斷延遲時間、操作系統運行時效率、初始化時間和關機時間。而在機器人控制中最講究的就是中斷響應時問。因為就本項目而言,我們最關I~,RT-Linux系統對三軸位置控制卡(PCL一 832)的DDA中斷的響應時間,所有工作的目的就是為了盡量減少中斷響應時間。

3.1測試環境及方法

用于測試的工業控制微機的硬件配置為IntelPentium(clockl20MHz),RAM64MB;服務器軟件是用 RedHatLinux6.0(內核版本號2.2.5一l5),RT-Linux的版本號2.2;網絡環境l0/100M自適應網卡。中斷響應時間的快慢直接反映了這樣一個過程的快慢:在用戶層的用戶進程通過系統調用將脈沖數據寫入位于核心層的實時驅動程序的數據緩沖隊列,在下一個DDA中斷請求到來時,中斷服務例程將數據緩沖隊列中的脈沖數據寫入三軸位置控制卡的動作控制芯片的緩沖區,驅動機器人本體運行。因此,我們將用戶層的用戶進程開始調用系統調用發送脈沖數據的時刻作為測試開始時刻,將下一個DDA中斷請求到來時,相應的DDA中斷服務例程將數據寫入三軸位置控制卡的動作控制芯片的緩沖區,以驅動機器人本體運行的時刻作為測試結束的時刻。圖3反映了上述過程。

3.2測試結果

我們分別設置DDA周期為8、12、16、24ms的4種情況作了測試,經過計算,可以得出表1所示的結果。

表1 低負載下D DA中斷響應處理時問測試結果

可見,在低負載下RT-Linux的測量時間要比Linux下快0.5—0.6ms左右,證明了采用RT—Linux系統確實能夠提高系統的實時性能。在這里有幾點需要說明:

(1)RT—Linux直接接受硬件中斷,所以我們將PCL一832卡的DDA中斷和OV中斷安裝在實時域中,目的就是讓RT-Linux最先捕獲這兩個實時中斷,進行處理。但是在標準Linux下采用的是軟中斷的概念,也就是說無法保證DDA中斷和OV中斷最先執行。我們的機器人控制器一旦加上網絡通信模塊,進行監視和仿真時,則在運行過程中DDA中斷和OV中斷要受到來自網卡中斷的影響。所以在這種情況下,為了保證機器人運動的實時性,采用RT- Linux的優勢就體現出來了。如果在網卡干預的情況下測試,標準Linux下的中斷處理時間將比RT.Linux下要來得更長。

(2)如果用戶應用層開辟大量的用戶進程,則對于分時的標準Linux來說會受到很大程度的影響。但是對于RT-Linux來說,實時進程不會受到非實時域中用戶進程的影響,所以在這種重負載情況下,RT-Linux的實時性比標準Linux下要高。

由測試結果可以看出,RT-Linux系統中斷響應比標準Linux延時時間短,這個結果也預示在系統高負載情況下RT-Linux系統中的實時性能的優勢將更為明顯。實際使用該實時機器人控制器時,機器人運行非常穩定,能滿足實時控制的需要。

4 總結

在機器人控制器的設計中,如何最大程度的提高機器人控制的實時性是一個關鍵問題。本文中我們運用了將軟件任務劃分實時域與非實時域的思想,提出并實現了一種將RT-Linux與Linux結合的實時機器人控制系統。該系統的優點是:一方面提供了非常高效的滿足底層硬件設備的實時性能,另一方面可以充分利用 Linux的強大功能。而且RT-Linux是完全開放源代碼的免費軟件,降低了開發成本。因此該技術具有非常廣泛的產業化前景。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制系統
    +關注

    關注

    41

    文章

    6550

    瀏覽量

    110498
  • 機器人
    +關注

    關注

    210

    文章

    28231

    瀏覽量

    206614
  • Linux
    +關注

    關注

    87

    文章

    11232

    瀏覽量

    208949
  • 操作系統
    +關注

    關注

    37

    文章

    6747

    瀏覽量

    123201
  • 源代碼
    +關注

    關注

    96

    文章

    2944

    瀏覽量

    66673
收藏 人收藏

    評論

    相關推薦

    LabVIEW的六軸工業機器人運動控制系統

    LabVIEW開發六軸工業機器人運動控制系統 本項目開發了一個高效的工業機器人控制系統,重點關注于運動學算法和軌跡規劃算法的實現和測試。La
    發表于 12-21 20:03

    基于arm的實時linux操作系統

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

    關于系統實時補丁,以及linux&u-boot移植方面的問題

    由于開發板要應用在機器人控制系統實時通信環節,因此需要對linux打上xenomai的實時補丁。咱們z-turn板光盤里的
    發表于 06-16 10:19

    工業機器人的技術原理

    形成的高新技術,是當代研究十分活躍,應用日益廣泛的領域。機器人應用情況,是一個國家工業自動化水平的重要標志。  機器人控制系統機器人的大腦,是決定
    發表于 11-23 10:40

    嵌入式服務機器人控制系統實現什么功能?

    隨著人口老齡化進程的加快,更多老年,尤其是地震和疾病致殘的殘疾,都需要照顧。基于此,這里提出一種基于ARM的嵌入式服務機器人控制系統設計。該服務
    發表于 10-15 08:03

    嵌入式機器人控制系統設計的組織架構是怎么樣的?

    移動機器人是一種能夠感知外部環境,在有障礙物的環境中能夠實現動態決策與規劃,從而完成避障等多種功能的綜合系統機器人系統通常分為機構本體和
    發表于 03-06 07:07

    機器人控制系統

    1、機器人控制系統控制”的目的是使被控對象產生控制者所期望的行為方式。 .“控制”的基本條件是了解被控對象的特性。 “實質”是對驅動器輸
    發表于 09-13 08:40

    什么是機器人控制系統

    什么是機器人控制系統機器人的運動控制系統包含哪些方面?機器人控制系統的基本功能有哪些?
    發表于 10-11 09:38

    如何使用樹莓派開發智能機器人控制系統

    樹莓派和其他機器人控制器有何不同?如何使用樹莓派開發智能機器人控制系統
    發表于 12-23 06:55

    基于RT-Thread+RA6M4的星球大戰之BB-8機器人控制系統設計方案

    1、基于RT-Thread+RA6M4的星球大戰之BB-8機器人控制系統設計  應用的背景:  基于星球大戰原力覺醒中,有一位機器主角BB-8球形
    發表于 11-17 16:50

    通過多軸工業機器人來聊聊機器人控制系統以及控制器的實現

    機器人控制系統當中。那么今天,我們就通過多軸工業機器人來聊聊機器人控制系統以及控制器的
    發表于 02-24 17:05

    基于ARM9和Linux機器人控制系統設計

    利用ARM 和嵌Linux 作為智能機器人平臺具有很大的優勢,但在國內還未發現用該平臺開發智能機器人系統。本設計完成了對該
    發表于 11-30 12:04 ?10次下載

    變電站巡檢機器人控制系統設計

    本文針對變電站設備巡檢工作的實際情況,提出了一種基于嵌入式Linux 操作系統的巡檢機器人控制系統的軟件體系結構;完成了在PC104 硬件模塊上的
    發表于 12-16 16:41 ?22次下載

    RT-LinuxLinux相結合的機器人控制系統的設計與實時性能分析

    機器人控制器的設計中,如何最大程度的提高機器人控制實時性是一個關鍵問題。這里我們運用了將軟件任務劃分
    的頭像 發表于 12-06 08:02 ?2093次閱讀
    <b class='flag-5'>RT-Linux</b>與<b class='flag-5'>Linux</b>相結合的<b class='flag-5'>機器人</b><b class='flag-5'>控制系統</b>的設計與<b class='flag-5'>實時</b>性能分析

    機器人控制系統分類_機器人控制系統有哪些

    機器人控制系統,就相當于人體的大腦,是機器人的核心組成部分。關于機器人控制系統有哪些分類呢?機器人
    發表于 11-04 08:45 ?2.7w次閱讀