智能輪式移動(dòng)機(jī)器人嵌入式控制系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
智能移動(dòng)機(jī)器人集成了機(jī)械、電子、計(jì)算機(jī)、自動(dòng)控制、人工智能等多學(xué)科的研究成果,在當(dāng)前機(jī)器人研究領(lǐng)域具有突出地位。控制系統(tǒng)是機(jī)器人的核心部分,目前應(yīng)用在機(jī)器人底層控制系統(tǒng)的微控制器主要有8/16位單片機(jī)和數(shù)字信號(hào)處理器(DSP)兩種類型。但使用8/16位單片機(jī)處理數(shù)據(jù)能力低,且硬件電路龐大,系統(tǒng)穩(wěn)定性弱,DSP的設(shè)計(jì)初衷是為了數(shù)字信號(hào)處理,相比而言,嵌入式微處理器ARM具有幾乎相同的內(nèi)部資源和運(yùn)算速度,但在控制方面性能優(yōu)于DSP,而且許多ARM器件支持TCP/IP協(xié)議,有利于將來機(jī)器人的網(wǎng)絡(luò)控制。綜合考慮以上因素,這里提出了一種基于ARM和復(fù)雜可編程邏輯器件(CPLD)的智能輪式移動(dòng)機(jī)器人控制系統(tǒng),實(shí)現(xiàn)移動(dòng)機(jī)器人的底層控制。
2系統(tǒng)組成及工作原理
該系統(tǒng)設(shè)計(jì)的輪式移動(dòng)機(jī)器人機(jī)械導(dǎo)航結(jié)構(gòu)采用四輪差速轉(zhuǎn)向式的機(jī)械機(jī)構(gòu),前面兩個(gè)輪是隨動(dòng)輪,起支撐作用,后面兩個(gè)輪是驅(qū)動(dòng)輪,由兩臺(tái)同步電機(jī)驅(qū)動(dòng),分別控制兩個(gè)驅(qū)動(dòng)輪的轉(zhuǎn)速,可使機(jī)器人按照不同方向和速度移動(dòng),運(yùn)動(dòng)靈活,可控性好。
移動(dòng)機(jī)器人以PC機(jī)作為上位機(jī),利用攝像頭對(duì)機(jī)器人的自身位置和外部環(huán)境進(jìn)行分析,建立環(huán)境地圖,進(jìn)行路徑規(guī)劃。上位機(jī)發(fā)送運(yùn)動(dòng)控制指令給移動(dòng)機(jī)器人的底層控制系統(tǒng),提供左右驅(qū)動(dòng)電機(jī)的理論速度值。以ARM和CPLD為核心的機(jī)器人控制系統(tǒng)與上位機(jī)通過無線收發(fā)模塊實(shí)現(xiàn)通訊,根據(jù)上位機(jī)的命令控制電機(jī)的運(yùn)行和超聲渡傳感器組的發(fā)送與接收;并根據(jù)障礙物信息,做出避障決策。智能移動(dòng)機(jī)器人的控制系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
3控制系統(tǒng)硬件設(shè)計(jì)
3.1主控模塊設(shè)計(jì)
該智能輪式移動(dòng)機(jī)器人控制系統(tǒng)的核心控制器采用Samsung公司的S3C44B0X,它是基于ARM7TDMI核(適用于實(shí)時(shí)環(huán)境)的32位微處理器,具有高速運(yùn)算能力、A/D轉(zhuǎn)換器、豐富的I/O端口和中斷,有利于實(shí)現(xiàn)移動(dòng)機(jī)器人的電機(jī)控制、傳感器信息處理、外部通訊以及復(fù)雜的控制算法。系統(tǒng)采用CPLD作為協(xié)處理器,提供可編程脈沖產(chǎn)生電路、光電編碼器輸入電路、超聲波傳感器輸入電路,這里選擇ALTERA公司的MAXⅡ系列EPM1270器件。該系統(tǒng)設(shè)計(jì)充分利用了CPLD的高速邏輯處理能力,主控制器ARM只需設(shè)定控制參數(shù),這樣就減輕主控制器的負(fù)擔(dān),提高系統(tǒng)的實(shí)時(shí)性,同時(shí)也減少了外圍硬件電路,提高控制系統(tǒng)的穩(wěn)定性和可重構(gòu)性。
ARM與CPLD通過并行總線連接,該并行總線包括ARM器件的地址、數(shù)據(jù)、控制和多路可編程I/O總線。ARM通過訪問特定地址和I/O端口來控制CPLD,CPLD則通過可編程I/O端口向ARM發(fā)送中斷請(qǐng)求。
3.2電機(jī)控制和驅(qū)動(dòng)模塊的設(shè)計(jì)
輪式移動(dòng)機(jī)器人的兩個(gè)驅(qū)動(dòng)輪速度分別由兩臺(tái)驅(qū)動(dòng)電機(jī)控制,實(shí)現(xiàn)機(jī)器人不同方向和速度的運(yùn)動(dòng)。輪式移動(dòng)機(jī)器人的性能要求電機(jī)轉(zhuǎn)矩大,脈動(dòng)小。在高、中、低速下驅(qū)動(dòng)電機(jī)均有良好的性能,且控制方式簡單,因此驅(qū)動(dòng)電機(jī)選用方波驅(qū)動(dòng)的交流永磁同步電機(jī)。這種電機(jī)根據(jù)轉(zhuǎn)子位置反饋信息采用電子換相運(yùn)行,電機(jī)轉(zhuǎn)速與驅(qū)動(dòng)信號(hào)的頻率成正比,既具備交流電機(jī)結(jié)構(gòu)簡單,運(yùn)行可靠,維護(hù)方便等優(yōu)點(diǎn),又具有直流電機(jī)動(dòng)態(tài)特性好,調(diào)速性能優(yōu)良的優(yōu)點(diǎn)。
系統(tǒng)通過CPLD和外部驅(qū)動(dòng)器件構(gòu)成控制電路,采用方波驅(qū)動(dòng)和定位控制(通電狀態(tài)控制)的方式,控制兩臺(tái)永磁同步電機(jī),獲得可調(diào)的精確速度和位置控制,結(jié)構(gòu)緊湊。兩路電機(jī)控制原理相同,這里只介紹一路。[!--empirenews.page--]
CPLD中的電機(jī)控制電路由分頻電路、調(diào)速電路、相序分配電路組成。其中,分頻電路由分頻器構(gòu)成;調(diào)速電路是利用MAX+PLUSⅡ的LPM宏單元庫的算術(shù)運(yùn)算模塊lpm_counter構(gòu)成可預(yù)置數(shù)的5位減計(jì)數(shù)器。根據(jù)所需的速度,設(shè)置預(yù)置數(shù),計(jì)數(shù)器對(duì)分頻電路輸山的clk脈沖信號(hào)減計(jì)數(shù)至零時(shí)輸出一個(gè)借位脈沖,并再次裝入預(yù)置數(shù)進(jìn)行減計(jì)數(shù),將其借位脈沖cout作為調(diào)速電路的輸出脈沖,cout借位脈沖的頻率范圍為fclk/1-fclk/31,即引入了步長為1的調(diào)速因子(預(yù)置數(shù))??赏ㄟ^改變調(diào)速因子對(duì)脈沖信號(hào)進(jìn)行1~31倍的連續(xù)可調(diào)分頻,從而調(diào)節(jié)電機(jī)的轉(zhuǎn)速;而相序分配電路是以cout借位脈沖作為輸入,利用兩個(gè)D觸發(fā)器和門電路輸出4路相位相差90°的方波脈沖,作為兩相同步電機(jī)的控制信號(hào);stop信號(hào)控制電機(jī)的啟停;dir信號(hào)控制電機(jī)的轉(zhuǎn)向,正轉(zhuǎn)時(shí)相電壓uCD超前uAB 90°,反轉(zhuǎn)時(shí)uAB超前uCD90°,各相信號(hào)的頻率為cout脈沖頻率的1/4。CPLD中輸入的調(diào)速和相序分配電路原理見圖2。仿真結(jié)果驗(yàn)證了設(shè)計(jì)邏輯的正確性,如圖3所示。
外部驅(qū)動(dòng)器采用L298雙H橋高電壓大電流功率集成電路,將脈沖發(fā)牛電路產(chǎn)生的4相方波信號(hào)經(jīng)總線收發(fā)器74LS245輸出至L298的輸入端IN1~I(xiàn)N4,控制H橋的通斷,使電機(jī)正反轉(zhuǎn)或停止。為防止電機(jī)在啟停瞬間的反饋電壓損壞L298,在L298輸出端和電機(jī)之間加人8個(gè)二極管起斷電續(xù)流的保護(hù)作用。
為了改善電機(jī)的控制性能,實(shí)現(xiàn)對(duì)機(jī)器人更精確和穩(wěn)定的運(yùn)動(dòng)控制,需要獲得電機(jī)的速度信息作為電機(jī)控制的反饋環(huán)節(jié),該系統(tǒng)采用增量式光電編碼器作速度檢測(cè),兩個(gè)光電編碼器分別與兩路電機(jī)同軸相連,由CPLD配合ARM器件實(shí)現(xiàn)變脈沖數(shù)/脈沖周期測(cè)速,即變M/T測(cè)速,定時(shí)對(duì)電機(jī)速度進(jìn)行采樣。采樣速度和上位機(jī)的給定速度所得差值傳人PID控制器。從而實(shí)現(xiàn)對(duì)電機(jī)速度的閉環(huán)控制。
3.3超聲傳感模塊
避障是智能移動(dòng)機(jī)器人的基本功能,避障的首要任務(wù)是確定障礙物位置。PC機(jī)基于機(jī)器人視覺系統(tǒng)實(shí)現(xiàn)的路徑規(guī)劃易受視場光線強(qiáng)弱、背景色等因素干擾,針對(duì)這一問題,機(jī)器人在單片機(jī)控制系統(tǒng)中采用超聲傳感器測(cè)距實(shí)現(xiàn)機(jī)器人對(duì)障礙物的檢測(cè)和定位。
超聲波測(cè)距采用時(shí)間渡越測(cè)距法,即根據(jù)從超聲波發(fā)生器發(fā)射出超聲波到超聲波在傳播過程中遇到障礙物后超聲波接收器接收到反射波所用時(shí)間t,以及超聲波在空氣中的傳播速度v(v=331.4(1+T/273)1/2m/s;T為攝氏溫度),得出機(jī)器人與障礙物之間的距離l=vt/2。該模塊共采用3對(duì)超聲換能器,分布于機(jī)器人的正前方、左前方、右前方。ARM發(fā)出控制信號(hào)啟動(dòng)內(nèi)部定時(shí)器進(jìn)行定時(shí)??刂菩盘?hào)經(jīng)功率放大后作為超聲傳感驅(qū)動(dòng)電路的啟動(dòng)信號(hào),由超聲傳感器產(chǎn)生遇到障礙物時(shí)返回的高頻振蕩信號(hào)放大后通過接收電路引起ARM外部中斷,在中斷程序中可以獲得定時(shí)器的計(jì)數(shù)值,并計(jì)算出距離。超聲傳感模塊框圖見圖4。
4控制系統(tǒng)軟件設(shè)計(jì)
4.1嵌入式操作系統(tǒng)
智能輪式移動(dòng)機(jī)器人是一個(gè)典型的實(shí)時(shí)多任務(wù)系統(tǒng),傳統(tǒng)單任務(wù)順序執(zhí)行機(jī)制不能滿足該系統(tǒng)設(shè)計(jì)的實(shí)時(shí)性要求,而且對(duì)于復(fù)雜系統(tǒng)來說可靠性不高,因此選用實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ。它是一個(gè)源碼公開,可移植,可固化,可裁剪的嵌入式操作系統(tǒng),具有代碼尺寸小,可占用實(shí)時(shí)內(nèi)核,任務(wù)多,可確定執(zhí)行時(shí)間,運(yùn)行穩(wěn)定可靠等特點(diǎn)。將μC/OS-Ⅱ移植到S3C44B0X上,并對(duì)操作系統(tǒng)進(jìn)行裁剪,以節(jié)省存儲(chǔ)空間。
基于實(shí)時(shí)內(nèi)核的多任務(wù)系統(tǒng)可劃分為系統(tǒng)層和應(yīng)用層。系統(tǒng)層由內(nèi)核和驅(qū)動(dòng)程序庫組成;應(yīng)用層包括用于達(dá)成機(jī)器人任務(wù)目標(biāo)的全部代碼。在該系統(tǒng)軟件應(yīng)用層程序設(shè)計(jì)中,將機(jī)器人的任務(wù)分解成通信、信息采集、電機(jī)控制等多個(gè)用戶任務(wù)。嵌入式操作系統(tǒng)μC/OS-Ⅱ?qū)θ蝿?wù)模塊進(jìn)行管理調(diào)度,協(xié)調(diào)機(jī)器人各項(xiàng)任務(wù)運(yùn)行,保證了系統(tǒng)的實(shí)時(shí)性和可靠性。
4.2運(yùn)動(dòng)控制算法
為了保證移動(dòng)機(jī)器人運(yùn)動(dòng)的穩(wěn)定性和準(zhǔn)確性,使得系統(tǒng)在控制機(jī)器人前進(jìn)、后退、轉(zhuǎn)彎、剎車等動(dòng)作時(shí)都能快速響應(yīng)且超調(diào)量小,在控制電機(jī)的過程中,系統(tǒng)采用了積分分離的PID控制算法。算法的具體實(shí)現(xiàn)方法如下:
5 結(jié)語
提出了一種基于ARM和CPLD的智能輪式移動(dòng)機(jī)器人控制系統(tǒng),這一方案充分利用ARM和CPLD的內(nèi)部資源,既具有ARM微控制器體積小,運(yùn)算速度快等特點(diǎn),又具有CPLD的高速邏輯處理能力,靈活的可擴(kuò)展性和可重構(gòu)性。軟硬件的調(diào)試和運(yùn)行實(shí)驗(yàn)證明,系統(tǒng)控制靈活,實(shí)時(shí)性好,可靠性高,能夠滿足智能輪式移動(dòng)機(jī)器人的控制需求。這種智能輪式移動(dòng)機(jī)器人的控制系統(tǒng)可用于不同場合的移動(dòng)機(jī)器人控制系統(tǒng),并具有一定的普遍適用性,且性價(jià)比高,具有很強(qiáng)的實(shí)用價(jià)值。