在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

基于RTX51嵌入式實時操作系統實現PBJ-1嵌入式控制系統的設計

電子設計 ? 來源:電子技術應用 ? 作者:寧柯軍 , 楊汝清 ? 2021-04-08 09:36 ? 次閱讀

作者:寧柯軍 , 楊汝清 , 翁新華

排爆機器人(EOD robot)是一種遙操作地面移動機器人,操作機主體一般是由一個機械手和一個可移動平臺組成,主要用于拆除疑似爆炸物品,以減少作業現場人員傷亡,是軍警部門必須裝備的設施。目前國際上主要流行美國Remotec公司的Andros系列排爆機器人、法國Cybernetics公司研制的TRS200中型排爆機器人等。但是國外的排爆機器人價格過高,出現故障后維修特別不方便。因此國家863專家組已經將高性能排爆機器人的研發及國產化列入了重點支持的課題。

由于種種原因,目前的排爆機器人很多只采用PLC實現點動控制,功能有限且操作性較差。研究高性能控制器成為排爆、消防等各種遙操作地面移動機器人的共同課題。利用先進的嵌入式系統技術可以較好地解決這類問題。

本文概述了上海交通大學機器人研究所研制的新型遙控移動式排爆機器人PBJ-1的嵌入式控制系統(如圖1所示),主要敘述基于RTX51嵌入式實時操作系統(RTOS)開發排爆機器人PBJ-1嵌入式控制系統固件的情況。利用嵌入式系統技術開發適合排爆等各類遙控地面移動機器人使用的嵌入式控制系統能夠解決上述種種矛盾。

1 PBJ-1功能介紹

目前國際上比較流行的排爆機器人,都需要由經過專門培訓的操作人員通過操作一組分別控制機械臂上各個關節驅動電機的按鍵控制,操作很不方便。操作人員需要根據現場的狀況,判斷出需要機械手執行的動作,再經過大腦的轉換,手工控制機械臂各個關節順序動作,使機械手爪擬合出一條空間軌跡以完成作業,大大降低了工作效率。這類排爆機器人一般都需要大量的攝像機,隨時顯示爆炸物相對機械手爪的位置,以便操作人員決定下一步動作。

新型排爆機器人PBJ-1為了使操作人員操作更加方便,在嵌入式控制器中嵌入了機器人運動學運算,能夠實現機械臂的自主聯動控制。操作者只要通過觀看控制箱上面的顯示器,直接操縱控制器命令機器人水平前、后或垂直上、下運動,機械臂可以實時進行機器人運動學運算和分解運動控制,控制機械手爪完成空間的直線擬合運動。這種操作方式略過了操作人員在大腦中進行動作轉換的步驟,大大方便了排爆這一高危險性作業現場的作業。

為了方便現場操作,在其嵌入式控制器系統中還加入了機器人的一些半自主動作功能。例如當機器人完成作業后機械臂可以自動折疊歸位;機械臂可以自動進入作業最佳操作姿態;當操作不當時,控制器可以自主取消操作人員發送的命令,以避免機械臂與車體之間的干涉碰撞等。

為防止爆炸物被恐怖分子遙控引爆,爆炸物品的拆除現場一般都要做電磁屏蔽處理,不能使用無線遙控型機器人,只能采用有纜遙操作移動機器人。由于爆炸物品的拆除作業危險性很大,所以對排爆機器人的有線通訊系統的可靠性要求很高。PBJ-1是通過RS-485協議實現相互之間遠距離、高速、高可靠性通訊。

操作人員可以通過上位控制箱里的液晶顯示器監視作業現場的狀態;通過操作各種動作按鈕及操縱桿控制機器人完成各種作業。控制箱有六組4位數顯LED,分別顯示機器人型號(PBJ1)、通訊狀態(run或Err)、大小臂關節角、機器人及車體運動速度、機器人電源實時電壓。這些都保證了操作人員可以全面了解機器人具體運行狀態,順利完成作業。

2 PBJ-1嵌入式控制系統設計

遙操作機器人由于工作于非結構環境中,實際期望運動軌跡未知,所以需要根據操作者的實時操作情況進行動態實時的目標位置生成及軌跡規劃,并完成相應的運動控制。

由于這臺新型排爆機器人功能增強,下位機微控制器需要實時完成機器人運動學及分解運動控制解算,并驅動各個接口器件實時控制機器人運動,還要保證上、下位機之間的正常通訊連接,及時、迅速、高可靠性地響應上位機經過處理的數據并且上傳機器人本體的各種狀態信息,負擔很重。因此如何合理地進行系統固件程序設計成為決定該機器人實際運行效果的關鍵。

要實現上面所述的功能,微控制器的應用必須能夠同時進行多任務或工作的執行。對此,傳統的基于單任務順序循環機制的程序設計方法難以勝任,如圖2所示。因此,需要找到一種新的合適的控制器設計方法。由于微控制器系統功能通常可以分解為多個相對獨立的模塊,將這些模塊理解為任務,從而可以引入多任務機制進行管理。引入多任務機制后,可以有效地改善程序結構,滿足應用系統復雜的定時要求。在多任務機制下,CPU的運行時間被劃分成許多小的時間片,由某種調度算法按不同的優先級別分配給不同的任務。多個任務分別在各自的時間片內訪問CPU,從而產生了微觀上輪流運行、宏觀上并行運行的多任務效果,如圖3所示。

在多任務嵌入式系統中,合理的任務調度必不可少。單純通過提高處理器速度無法達到目的,這樣就要求嵌入式系統的軟件必須具有多任務調度能力。因此必須基于多任務實時操作系統進行嵌入式系統固件開發。

實時操作系統的首要任務是調度一切可利用的資源完成實時控制任務;其次才著眼于提高計算機系統的使用效率。其重要特點是通過任務調度對重要事件在規定的時間內作出正確的響應。實時操作系統既能保證對外界的信息以足夠快的速度進行相應處理,又能并行運行多個任務,具有實時性和并行性的特點,因此能很好地完成對多個信息的實時測量、處理并進行相應的多個實時控制。

PBJ-1上下位機嵌入式控制器都是以業界經典51內核增強型單片機AT89C55WD為核心;基于嵌入式實時操作系統RTX51Tiny開發固件程序。通過提供必不可少的系統服務,如信號量管理、消息隊列、延時等,實時內核使CPU的利用更為有效。

2.1 RTX51簡介

RTX51是德國Keil公司開發的一種應用于MCS51系列單片機功能強大的、可用于目前世界上所有由Intel 8051標準內核派生出的350多種增強微控制器的實時操作系統。使用RTX51可實現程序按時間片輪轉和搶先的任務調度,并且支持事件和信號驅動。

RTX51有兩個版本:RTX51Full和RTX51Tiny。RTX51Full允許4個優先權任務的循環和切換,并且能夠并行地利用中斷功能。RTX51Full可以從內存池中申請和釋放內存,同時可以強制一個任務停止執行等待一個中斷,或者是其它中斷傳來的信號量或者消息。RTX51Tiny短小精悍,是RTX51Full的一個子集,只占用900字節ROM、7字節DATA型及3倍于任務數量的IDATA型RAM空間,可以很容易地運行在沒有擴展外部存儲器的單片機系統上。使用RTX51Tiny的程序可以訪問外部存儲器,允許循環任務切換,并且支持信號傳遞,還能并行地利用中斷功能。RTX51Tiny 允許“準并行”同時執行幾個任務。每一個任務在預先定義好的時間片內得以執行。時間到使正在執行的任務掛起,并使另一個任務開始執行。最新的RTX51Tiny2.0重新調整了內核結構,使用更靈活、執行更快、占用的資源更少,另外還增加了幾個新的特性。

RTX51Tiny內核完全集成在Keil C51編譯器中,以系統函數調用的方式運行,因此可以很容易地使用Keil C51語言編寫和編譯一個多任務程序,并嵌入到實際應用系統中。內核主要提供以下函數供應用程序引用,見表1。

RTX51Tiny的用戶任務具有表2所列的幾個狀態,它們如圖4所示進行切換。

為了保證任務在執行順序上的協調,必須采用同步機制。內核用以下事件進行任務間的通信和同步:

(1)SIGNAL:用于任務之間通訊的位,可以用系統函數進行置位或清除。如果一個任務調用了os_wait函數等待SIGNAL而SIGNAL未置位,則該任務被掛起直到SIGNAL置位,才返回到READY狀態,并可被再次執行。

(2)TIMEOUT:由os_wait函數開始的時間延時,其持續時間可由定時節拍數確定。帶有TIMEOUT值調用os_wait函數的任務將被掛起,直到延時結束,才返回到READY狀態,并可被再次執行。

(3)INTERVAL:由os_wait函數開始的時間間隔,其持續時間可由定時節拍數確定。帶有INTERVAL值調用os_wait函數的任務將被掛起,直到間隔時間結束,才返回到READY狀態,并可被再次執行。與TIMEOUT不同的是,任務的節拍計數器不復位。

RTX51Tiny采用微控制器(51)內部定時器T0來產生定時節拍,各任務只在各自分配的定時節拍數(時間片)內執行。當時間片用完后,切換至下一任務運行,因此各任務是并發執行的。RTX51Tiny調度程序定義這些任務按照下面的規則運行:

(1)如果出現以下情況,當前運行任務中斷: ①任務調用os_wait函數并且指定事件沒有發生。 ②任務運行時間超過定義的時間片輪轉超時時間。

(2)如果出現以下情況,則開始另一個任務: ①沒有其他的任務運行。 ②將要開始的任務處READY或TIME-OUT狀態。

圖4 RTX51任務切換圖

2.2 嵌入式操作系統的特殊問題處理

在RTX51 下進行多任務編程與傳統的順序循環單任務編程相比有以下幾個值得注意的不同點:

(1)多任務編程CPU 是輪流執行每個任務,可以將每個任務設計成死循環的模式,不斷重復地進行數據計算或者訪問硬件,不會影響別的任務的執行。當一個任務的數據計算完成后,可以通過os_wait 函數將CPU 交出執行別的任務。而單任務模式卻獨占了所有的CPU 資源,時常要擔心是否執行時間太長而不能及時響應外部的異步事件。

(2)多任務編程有一個缺點,即資源沖突和重入問題。所謂資源沖突就是任務A在訪問某個資源時,恰好發生了任務切換,任務B也訪問這個資源,且改變了它的狀態,這樣當再次執行任務A時就可能發生沖突或帶來不確定性。而所謂重入是指假設任務A在運行某個函數,發生任務切換后,任務B也運行這個函數,這樣就會破壞任務A執行這個函數的現場,從而可能導致任務A執行函數時結果不正確。這種問題尤其容易出現在串行接口器件的操作中,例如串口、串行的A/D、D/A器件等。

在本嵌入式機器人控制器開發過程中,采用這種處理辦法:將對每個獨立的硬件(例如串行通訊)進行操作的驅動程序段放在一個任務中,也就是說要想對某個設備資源進行操作,只有依靠執行相應的任務來實現。這樣無論何時切換任務,都不會對任何獨立的“外設”造成影響。這樣做徹底避免了資源沖突和重入問題而且利于系統維護與升級。各個任務之間要實現通信,可以調用os_send_signal函數及全局變量。

在嵌入式控制系統開發中借鑒了Windows消息驅動的思想,使部分不需要始終執行的任務處于等待信號狀態,這樣它們不會占用資源。只有當需要進行相應處理時通過需要它們運行的任務發送給它們SIGNAL,它們才會進入RUNNING任務隊列中,得到執行。相關的系統函數為:

os_wait (K_SIG, 0, 0); //等待信號

os_send_signal (Task_ID);//向Task_ID任務發送一個信號。

這樣的處理,可以使微控制器在有限的資源下集中精力處理好耗時且重要的事情。

2.3 排爆機器人嵌入式控制系統固件開發

上位機嵌入式控制器固件結構如圖5所示。根據控制器要完成作業的獨立性分割成幾個任務片。圖5表示了各任務之間的關系、與外設連接關系。整個系統被區分成三個層次。

減少上、下位機之間數據交換的次數及數據量有利于減少下位控制器中斷機器人的運動控制轉入通訊協議處理的幾率,可以提高運動控制的質量。所以PBJ-1的通訊部分固件程序設計沒有采用傳統的定時向下位機傳送輸入設備的狀態這種高通訊負擔的方法,而是基于消息驅動的思想。通訊任務依靠輸入設備檢測任務執行的結果來決定是否激活、進入消息隊列以實現控制器之間的通訊。這樣只有當操作者實際改變了輸入設備的狀態,上位機才向下位機發送相應的信息。利用消息驅動思想來開發通訊程序十分方便、可靠,并且大大減少了通訊線路的負擔。為了保證數據傳輸的高可靠性,每次數據交換都先經過握手以確保無誤。下位機嵌入式控制器固件結構如圖6所示。

圖5 上位機嵌入式控制系統固件結構

圖6 下位機嵌入式控制系統固件結構

由于有些任務不需要一直執行,例如機器人需要響應上位機的指令完成繼電器的切換等,也將利用os_wait函數處理,使它們平時不進入RUNNING任務隊列中,減少資源浪費。在下位機串口中斷中利用isr_send_signal向該任務發送信號激活該任務,使得該要求得到執行。具體調用方法如下:

isr_send_signal(Task_ID); //從一個中斷發送一個信號到Task_ID任務。

通過Windows消息驅動的思想和RTX51 Tiny實時操作系統的配合,合理分配了系統的資源。下位機控制器“集中精力” 完成機器人運動學解算及分解運動控制運算這些相當耗時的任務,實時控制機械臂運動。

在微控制器固件開發中嵌入操作系統還大大提高了系統的穩定性。即使某個外設或任務出現故障,與之無關的任務一般不會受到影響,不像傳統的順序循環機制的程序設計方法中如果某一環節出現問題會立刻造成整個系統的崩潰。

實際整個系統的上下位機微控制器都是僅僅利用運行于22.1184MHz頻率下的AT89C55WD 就很好地達到了預期目標。該系統在隨意頻繁地分別開關上下位機電源、受到較強電磁干擾、大功率電機頻繁啟動、制動造成系統電源電壓波動較大等苛刻的運行測試中均表現出了非常高的穩定性與數據傳輸準確性。整個系統在運行中即使出現了通訊失敗(人為切斷通訊線路或部分電源),當故障排除后,上、下位機可以迅速自動恢復正常的通訊狀態沒有出現誤動作。

為新型排爆機器人PBJ-1先后開發了兩套控制器固件程序,采用完全一樣的硬件平臺。一套是基于傳統的順序循環機制,開始效果不理想,后來借鑒消息驅動思想改進程序架構才滿足了要求。開發過程中花費了不少時間來調試。另一套就是本文所述的基于RTX51 Tiny嵌入式實時操作系統開發的,實際運行效果相當好,但是花費的時間很少,而且很容易增加新的功能。

實踐表明, 在系統復雜、對實時性和精度要求比較嚴格,并且需要并行處理的任務較多的運動控制系統中,使用RTX51Tiny是一個較好的解決辦法。此外,使用RTX51Tiny實時操作系統,會加快嵌入式控制系統的開發速度,降低軟件編寫的復雜度,提高產品的開發效率。維護和功能擴展都非常方便。

責任編輯:gt

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

    關注

    5082

    文章

    19126

    瀏覽量

    305242
  • 控制系統
    +關注

    關注

    41

    文章

    6620

    瀏覽量

    110610
  • 操作系統
    +關注

    關注

    37

    文章

    6825

    瀏覽量

    123333
  • 上位機
    +關注

    關注

    27

    文章

    942

    瀏覽量

    54815
  • 下位機
    +關注

    關注

    0

    文章

    94

    瀏覽量

    18759
  • 嵌入式實時操作系統

    關注

    1

    文章

    127

    瀏覽量

    7841
收藏 人收藏

    評論

    相關推薦

    基于實時操作系統嵌入式控制器的設計

    實時操作系統.為應用程序的設計提供了軟件平臺,與傳統的單片機控制相比,解決了難于實現多任務,復雜控制算法以及
    發表于 04-27 21:41

    【安富萊】【RTX操作系統教程】第2章 嵌入式實時操作系統介紹

    操作系統。注:在工業控制、 軍事設備、 航空航天等領域對系統的響應時間有苛刻的要求,這就需要使用實時系統。我們常常說的
    發表于 01-15 15:35

    基于RTX51的排爆機器人嵌入式控制器軟硬件開發怎么樣?

    本文概述了上海交通大學機器人研究所研制的新型遙控移動排爆機器人PBJ-1嵌入式控制系統固件的情況。利用嵌入式
    發表于 06-07 06:11

    嵌入式實時操作系統教程

    嵌入式實時操作系統教程:以VRTX為對象詳細介紹了嵌入式實時操作系統的原理和應用,特別是第一部分
    發表于 04-19 21:55 ?44次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>實時</b><b class='flag-5'>操作系統</b>教程

    基于RTX51的光子嫩膚機嵌入式控制系統的設計

    論文以光子嫩膚機的控制系統為背景,選擇RTX51 作為實時操作系統,提出了嵌入式系統
    發表于 06-16 11:02 ?35次下載

    基于嵌入式TCP/IP的遠程GPRS控制終端的設計與實現

    介紹了基于8 位單片機的嵌入式TCP/ IP 的遠程無線控制終端的設計與實現. 描述了基于GPRS 網的數據傳輸過程、嵌入式實時
    發表于 08-24 18:56 ?33次下載

    基于嵌入式操作系統控制系統平臺設計

    基于嵌入式操作系統控制系統平臺設計  1 引言   近年來,嵌入式系統在工業
    發表于 12-25 17:47 ?1005次閱讀
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統</b>的<b class='flag-5'>控制系統</b>平臺設計

    基于RTX51嵌入式操作系統的智能卡電能表的設計

    介紹了一種基于RTX51嵌入式多任務實時操作系統的智能卡電能表,主要硬件結構包括MCU為STC12LEC5A60S2,單相電能計量芯片ADE7755,采用鐵電存儲器FM25C160存儲
    發表于 10-10 10:35 ?145次下載
    基于<b class='flag-5'>RTX51</b><b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統</b>的智能卡電能表的設計

    不同的實時嵌入式Linux操作系統有什么差異

    嵌入式實時操作系統(Embedded Real-time Operation System,RTOS)。嵌入式系統是“用于
    發表于 11-06 11:36 ?1285次閱讀

    嵌入式實時操作系統的應用詳細教程說明

    本文檔的主要內容詳細介紹的是嵌入式實時操作系統的應用詳細教程說明包括了:1 嵌入式系統
    發表于 12-05 08:00 ?2次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>實時</b><b class='flag-5'>操作系統</b>的應用詳細教程說明

    基于RTX51操作系統實現地面移動機器人控制系統的設計

    介紹遙操作排爆機器人PBJ-1嵌入式控制系統研制情況。敘述了利用RTX51開發排爆機器人嵌入式
    的頭像 發表于 06-21 17:08 ?3018次閱讀
    基于<b class='flag-5'>RTX51</b><b class='flag-5'>操作系統</b><b class='flag-5'>實現</b>地面移動機器人<b class='flag-5'>控制系統</b>的設計

    嵌入式實時操作系統

    14 種主流的嵌入式實時操作系統 RTOS,分別為μClinux、μC/OS-II、eCos、FreeRTOS、mbed OS、RTX、Vxworks、QNX、NuttX,而國產的
    發表于 10-20 14:05 ?17次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>實時</b><b class='flag-5'>操作系統</b>

    嵌入式操作系統

    嵌入式操作系統一、嵌入式操作系統概述1.1 嵌入式操作系統的特點1.2
    發表于 11-03 18:36 ?46次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統</b>

    基于RTX51嵌入式多任務實時操作系統的智能卡電能表設計

    電子發燒友網站提供《基于RTX51嵌入式多任務實時操作系統的智能卡電能表設計.pdf》資料免費下載
    發表于 10-26 09:12 ?2次下載
    基于<b class='flag-5'>RTX51</b><b class='flag-5'>嵌入式</b>多任務<b class='flag-5'>實時</b><b class='flag-5'>操作系統</b>的智能卡電能表設計

    再談嵌入式實時操作系統

    程序的可移植性得到了增強,系統開發的工作量減輕的同時也提高了開發效率。對實時性和可靠性日益增長的要求正在塑造某些現代領域的嵌入式實時操作系統
    的頭像 發表于 04-09 17:27 ?802次閱讀
    再談<b class='flag-5'>嵌入式</b><b class='flag-5'>實時</b><b class='flag-5'>操作系統</b>
    主站蜘蛛池模板: 日韩黄页| 777午夜精品免费播放| 男女www视频在线看网站| 欧美人成绝费网站色www吃脚| 欧美四虎| 国内精品一区二区在线观看| 欧洲亚洲国产精华液| 爽好舒服快小柔小说| 最新黄色大片| 五月激激| 欧美18性精品| 天天插视频| 免费精品美女久久久久久久久久| 日日噜噜噜夜夜爽爽狠狠| 黄色福利视频网站| 国产在线操| 亚洲视频第一页| 五月天精品在线| 俺去操| 精品在线小视频| 在线天堂bt中文www在线| 色福利网| 天天天干| 1024 在线观看视频免费| 男女交性视频播放视频视频| 欧美高清一级| 久久午夜国产片| 新激情五月| 2022第二三四天堂网| 亚洲一区在线视频观看| 性欧美成人免费观看视| www.黄网| 亚洲第一黄色网| 黄网站免费大全| 欧美极品第1页专区| 午夜剧场黄| 午夜激情福利网| 91男人| 久久综合九色综合精品| 天天做夜夜操| 一级毛片ab片高清毛片|