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