時間:2008-03-17 14:22:00來源:lijuan
圖1 遙操作排爆機器人PBJ-1 [/align]
1 PBJ-1功能介紹
目前國際上比較流行的排爆機器人,都需要由經過專門培訓的操作人員通過操作一組分別控制機械臂上各個關節驅動電機的按鍵控制,操作很不方便。操作人員需要根據現場的狀況,判斷出需要機械手執行的動作,再經過大腦的轉換,手工控制機械臂各個關節順序動作,使機械手爪擬合出一條空間軌跡以完成作業,大大降低了工作效率。這類排爆機器人一般都需要大量的攝像機,隨時顯示爆炸物相對機械手爪的位置,以便操作人員決定下一步動作。
新型排爆機器人PBJ-1為了使操作人員操作更加方便,在嵌入式控制器中嵌入了機器人運動學運算,能夠實現機械臂的自主聯動控制。操作者只要通過觀看控制箱上面的顯示器,直接操縱控制器命令機器人水平前、后或垂直上、下運動,機械臂可以實時進行機器人運動學運算和分解運動控制,控制機械手爪完成空間的直線擬合運動。這種操作方式略過了操作人員在大腦中進行動作轉換的步驟,大大方便了排爆這一高危險性作業現場的作業。
為了方便現場操作,在其嵌入式控制器系統中還加入了機器人的一些半自主動作功能。例如當機器人完成作業后機械臂可以自動折疊歸位;機械臂可以自動進入作業最佳操作姿態;當操作不當時,控制器可以自主取消操作人員發送的命令,以避免機械臂與車體之間的干涉碰撞等。
為防止爆炸物被恐怖分子遙控引爆,爆炸物品的拆除現場一般都要做電磁屏蔽處理,不能使用無線遙控型機器人,只能采用有纜遙操作移動機器人。由于爆炸物品的拆除作業危險性很大,所以對排爆機器人的有線通訊系統的可靠性要求很高。PBJ-1是通過RS-485協議實現相互之間遠距離、高速、高可靠性通訊。
操作人員可以通過上位控制箱里的液晶顯示器監視作業現場的狀態;通過操作各種動作按鈕及操縱桿控制機器人完成各種作業。控制箱有六組4位數顯LED,分別顯示機器人型號(PBJ1)、通訊狀態(run或Err)、大小臂關節角、機器人及車體運動速度、機器人電源實時電壓。這些都保證了操作人員可以全面了解機器人具體運行狀態,順利完成作業。
2 PBJ-1嵌入式控制系統設計
遙操作機器人由于工作于非結構環境中,實際期望運動軌跡未知,所以需要根據操作者的實時操作情況進行動態實時的目標位置生成及軌跡規劃,并完成相應的運動控制。
由于這臺新型排爆機器人功能增強,下位機微控制器需要實時完成機器人運動學及分解運動控制解算,并驅動各個接口器件實時控制機器人運動,還要保證上、下位機之間的正常通訊連接,及時、迅速、高可靠性地響應上位機經過處理的數據并且上傳機器人本體的各種狀態信息,負擔很重。因此如何合理地進行系統固件程序設計成為決定該機器人實際運行效果的關鍵。
要實現上面所述的功能,微控制器的應用必須能夠同時進行多任務或工作的執行。對此,傳統的基于單任務順序循環機制的程序設計方法難以勝任,如圖2所示。因此,需要找到一種新的合適的控制器設計方法。由于微控制器系統功能通常可以分解為多個相對獨立的模塊,將這些模塊理解為任務,從而可以引入多任務機制進行管理。引入多任務機制后,可以有效地改善程序結構,滿足應用系統復雜的定時要求。在多任務機制下,CPU的運行時間被劃分成許多小的時間片,由某種調度算法按不同的優先級別分配給不同的任務。多個任務分別在各自的時間片內訪問CPU,從而產生了微觀上輪流運行、宏觀上并行運行的多任務效果,如圖3所示。
[align=center]
[/align]
在多任務嵌入式系統中,合理的任務調度必不可少。單純通過提高處理器速度無法達到目的,這樣就要求嵌入式系統的軟件必須具有多任務調度能力。因此必須基于多任務實時操作系統進行嵌入式系統固件開發。
實時操作系統的首要任務是調度一切可利用的資源完成實時控制任務;其次才著眼于提高計算機系統的使用效率。其重要特點是通過任務調度對重要事件在規定的時間內作出正確的響應。實時操作系統既能保證對外界的信息以足夠快的速度進行相應處理,又能并行運行多個任務,具有實時性和并行性的特點,因此能很好地完成對多個信息的實時測量、處理并進行相應的多個實時控制。
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。


圖5 上位機嵌入式控制系統固件結構
圖6 下位機嵌入式控制系統固件結[/align]
由于有些任務不需要一直執行,例如機器人需要響應上位機的指令完成繼電器的切換等,也將利用os_wait函數處理,使它們平時不進入RUNNING任務隊列中,減少資源浪費。在下位機串口中斷中利用isr_send_signal向該任務發送信號激活該任務,使得該要求得到執行。
通過Windows消息驅動的思想和RTX51 Tiny實時操作系統的配合,合理分配了系統的資源。下位機控制器“集中精力” 完成機器人運動學解算及分解運動控制運算這些相當耗時的任務,實時控制機械臂運動。
在微控制器固件開發中嵌入操作系統還大大提高了系統的穩定性。即使某個外設或任務出現故障,與之無關的任務一般不會受到影響,不像傳統的順序循環機制的
程序設計方法中如果某一環節出現問題會立刻造成整個系統的崩潰。
實際整個系統的上下位機微控制器都是僅僅利用運行于22.1184MHz頻率下的AT89C55WD 就很好地達到了預期目標。該系統在隨意頻繁地分別開關上下位機電源、受到較強電磁干擾、大功率電機頻繁啟動、制動造成系統電源電壓波動較大等苛刻的運行測試中均表現出了非常高的穩定性與數據傳輸準確性。整個系統在運行中即使出現了通訊失敗(人為切斷通訊線路或部分電源),當故障排除后,上、下位機可以迅速自動恢復正常的通訊狀態沒有出現誤動作。
筆者為新型排爆機器人PBJ-1先后開發了兩套控制器固件程序,采用完全一樣的硬件平臺。一套是基于傳統的順序循環機制,開始效果不理想,后來借鑒消息驅動思想改進程序架構才滿足了要求。開發過程中花費了不少時間來調試。另一套就是本文所述的基于RTX51 Tiny嵌入式實時操作系統開發的,實際運行效果相當好,但是花費的時間很少,而且很容易增加新的功能。
實踐表明, 在系統復雜、對實時性和精度要求比較嚴格,并且需要并行處理的任務較多的運動控制系統中,使用RTX51Tiny是一個較好的解決辦法。此外,使用RTX51Tiny實時操作系統,會加快嵌入式控制系統的開發速度,降低軟件編寫的復雜度,提高產品的開發效率。維護和功能擴展都非常方便。標簽:
傳動網版權與免責聲明:凡本網注明[來源:傳動網]的所有文字、圖片、音視和視頻文件,版權均為傳動網(m.cdcst56.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-09-08
華為昇騰Atlas800iA2 910B服務器Deepsee...
2025-09-04
2025-08-06
2025-07-08
2025-06-30
2025-06-16