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