基于ARM的嵌入式系統(tǒng)在機器人控制系統(tǒng)中的應用
1前言
隨著科學技術的發(fā)展,機器人將在太空探測、救災防爆、海洋開發(fā)等領域有著廣闊的應用前景,因而其發(fā)展正在成為國內外研究人員關注的焦點[1,2,3]。分析上述各種用途的機器人,其構成不外乎機構本題和控制系統(tǒng)兩大部分。機構本體在體現(xiàn)機器人特色的同時,也決定了其必然是無人系統(tǒng),在惡劣的
環(huán)境下,機器人要具備一定的自主能力。這就要求機器人有一定的“判斷能力”和“想法”,需要復雜的算法,包括運動算法和模式識別算法。一般的微處理器是無法完成這項任務,而上述各種機器人又無法使用計算機控制作業(yè),32位微處理器和嵌入式操作系統(tǒng)的出現(xiàn)解決了此問題。
嵌入式系統(tǒng)是指以應用為核心、以計算機技術為基礎、軟硬件可裁剪,以及適應應用系統(tǒng)對功能、可靠性、成本、體積和功耗嚴格要求的專用計算機系統(tǒng)[4,5,6,7]。作為嵌入式系統(tǒng)的核心,嵌入式微處理器為8位、16位或32微處理器。但由于8位和16位微處理器的運行速度、尋址能力和功耗等問題,已較難滿足相對復雜的嵌入式應用場合。在32位嵌入式應用領域內,ARM(Advanced RISC Machine)獲得了巨大的成功[8,9,10,11]。 ARM微處理器一般具有體積小、低功耗、低成本、高性能的特點;例如,由于它有大量的使用寄存器,指令執(zhí)行速度更快,于是大多數(shù)數(shù)據(jù)操作都在寄存器中完成;它的尋址方式靈活簡單,執(zhí)行效率高,指令長度固定等。在ARM中,可以嵌入嵌入式操作系統(tǒng),在此系統(tǒng)上可完成復雜的算法,可以代替PC機完成各種任務。
本文首先介紹了嵌入式系統(tǒng)的結構,然后介紹如何利用嵌入式操作系統(tǒng)和ARM 、DSP構建機器人控制系統(tǒng),最后說明使用此控制系統(tǒng)控制7自由度串聯(lián)機器人[12]。
2嵌入式系統(tǒng)的結構
嵌入式系統(tǒng)主要由嵌入式操作系統(tǒng)和承載操作系統(tǒng)的硬件組成。
2.1 嵌入式操作系統(tǒng)
嵌入式操作系統(tǒng)是嵌入式系統(tǒng)的控制中心,主要用于對系統(tǒng)的信息處理部件和用戶交互界面加以控制。
2.1.1嵌入式操作系統(tǒng)的實時性
在嵌入式領域中,實時是一個非常重要的概念。實時系統(tǒng)是指在確定的時間內完成規(guī)定功能,并能對外部異步事件作出正確響應的計算機系統(tǒng)。
實時系統(tǒng)的核心是必須在確定的時間內執(zhí)行完一項預先定義的操作,否則將引起性能下降甚至系統(tǒng)崩潰等嚴重后果。需要說明的是,實時系統(tǒng)并不是說系統(tǒng)的響應和處理速度非常快,實時系統(tǒng)的實時性的實現(xiàn)需要軟硬件的配合來完成。首先應該保證硬件的處理速度滿足實時性的要求,同時相對軟件而言,實時性體現(xiàn)在組成軟件系統(tǒng)的各個任務的執(zhí)行時限。
在嵌入式系統(tǒng)中,評價一個實時系統(tǒng)的性能要從任務調度功能、內存管理功能、最小內存開銷、任務切換時間、最大中斷禁止時間等方面考慮。
2.1.2 嵌入式系統(tǒng)中的軟件
嵌入式系統(tǒng)的軟件部分,具有以下特點:
1) 嵌入式軟件的開發(fā)與硬件緊密相關。由于嵌入式軟件的開發(fā)式針對具體硬件平臺進行的,它往往牽涉硬件驅動方面的一些軟硬結合部分。
2) 軟件代碼要求高效率和高可靠性。嵌入式系統(tǒng)中軟件運行空間有限,內存空間非常寶貴,在軟件的編程過程中需時刻考慮軟件的運行效率。在實時系統(tǒng)中,處理器必須嚴格處理異步發(fā)生的各種任務。此外,嵌入式軟件系統(tǒng)還應有異常處理、快速復位等特點。
3) 軟件一般固化在FLASH或ROM中。為了提高執(zhí)行速度和系統(tǒng)的可靠性,同時縮短系統(tǒng)復位時間,一般在嵌入式軟件調試完畢后,會下載固化到目標板中的FLASH或ROM中。
2.1.3 嵌入式系統(tǒng)的應用
嵌入式系統(tǒng)產品遍布人們的日常生活,從手機、PDA到家中的空調、冰箱,從小汽車到波音飛機,甚至武器庫中的巡航導彈,都有它的蹤跡。嵌入式產品已經在很多領域得到廣泛的使用,如國防、工業(yè)控制、通信、辦公自動化和消費電子領域等。
2.2 嵌入式系統(tǒng)的硬件系統(tǒng)
與普通的PC硬件相比,嵌入式系統(tǒng)的硬件系統(tǒng)具有以下特性:
1) 體積小,集成效率高。嵌入式系統(tǒng)去除了冗余,力爭用最小的系統(tǒng)完成目標功能。
2) 面向特定應用。
3) 低功耗,電磁兼容性好,能在惡劣環(huán)境下工作,死機時能夠快速重啟。
嵌入式系統(tǒng)硬件在價格、功能、體積、重量、能耗等方面都有嚴格的限制。
3系統(tǒng)功能與設計
3.1 系統(tǒng)功能
本著既能滿足多種類型機器人的實際需 要,又盡量節(jié)約資源的原則,控制系統(tǒng)提供的功能如下:
1) 上位機監(jiān)控.響應控制臺發(fā)出的指令. 向下位機發(fā)送數(shù)據(jù)和命令;
2) 通訊總線. 現(xiàn)場總線,用于和其他控制器信息交互;
3) 傳感器集成.直接集成姿態(tài)、位置、深度、高度、速度、加速度等傳感器,或者預留接口;
4) 脈寬調制.用于調整電機的速度和位置,從而控制機器人的速度和姿態(tài)等;
5) A/D采集.監(jiān)視工作電壓、電流、壓力等A/D量,用于系統(tǒng)控制或狀態(tài)記錄;
6) I/O控制.用于對外圍開關量的監(jiān)控;
7) 數(shù)據(jù)記錄.用于設定參數(shù)的存儲、運動路線的定制或相關監(jiān)控數(shù)據(jù)的記錄;
8) 通訊協(xié)議.便于控制器之間及機器人與上位機之間信息可靠、高效傳遞;
9) 信息處理.各種傳感器輸出數(shù)據(jù)的提取、處理及多傳感器信息融合;
10) 控制算法.下位計算法主要是前饋算法和PID算法,上位機算法視具體的機器人而定。
評論