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