新聞中心

EEPW首頁(yè) > 設(shè)計(jì)應(yīng)用 > 基于DSP的半自主遠(yuǎn)程控制移動(dòng)機(jī)器人系統(tǒng)

基于DSP的半自主遠(yuǎn)程控制移動(dòng)機(jī)器人系統(tǒng)

——
作者:福州大學(xué) 許松清 吳海彬 林宜 高洪張 時(shí)間:2006-09-29 來(lái)源:21IC中國(guó)電子網(wǎng) 收藏
引 言

機(jī)器人技術(shù)融合丁機(jī)械、電于、傳感器、計(jì)算機(jī)、人工智能等許多學(xué)科的理論與技術(shù),是當(dāng)今許多前沿領(lǐng)域技術(shù)的綜合體。移動(dòng)型機(jī)器人主要用于對(duì)一些危險(xiǎn)和未知的地域進(jìn)行探索,例如是探索外星地表、進(jìn)行引爆地雷等都需要使用到移動(dòng)型機(jī)器人。半自主遠(yuǎn)程控制移動(dòng)機(jī)器人由于具有較強(qiáng)的活動(dòng)能力、良好的可控性等特點(diǎn),在工農(nóng)業(yè)、國(guó)防等各個(gè)領(lǐng)域具有廣泛的應(yīng)用前景。在半自主遠(yuǎn)程控制移動(dòng)機(jī)器人的控制操作中,需要人的參與。因此需要有一個(gè)人機(jī)交互通道,把人的指令傳遞給機(jī)器人執(zhí)行,同時(shí)機(jī)器人也可以把采集到的現(xiàn)場(chǎng)信息反饋紿人。本文基于移動(dòng)機(jī)器人原理,設(shè)計(jì)了兩輪驅(qū)動(dòng)半自主移動(dòng)機(jī)器人的硬件系統(tǒng),詳細(xì)闡述了基于技術(shù)的遠(yuǎn)程控制器的設(shè)計(jì)與實(shí)現(xiàn)。

1 遠(yuǎn)程控制移動(dòng)機(jī)器人系統(tǒng)組成

系統(tǒng)整體由遠(yuǎn)程控制平臺(tái)、無(wú)線(xiàn)傳輸網(wǎng)絡(luò)以及本地機(jī)器人小車(chē)三個(gè)大部分組成。是本地機(jī)器人小車(chē)的控制核心。TI公司的TMS320LF2407A芯片具有改進(jìn)的哈佛結(jié)構(gòu)體系,采用了流水線(xiàn)技術(shù)等優(yōu)點(diǎn),而且采用了高性能靜態(tài)CMOS/技術(shù),把芯片運(yùn)行電壓降低到3.3V,大大減少了芯片的功耗。其CPU具有很高酌處理速度,頻率可以達(dá)到40 MHz,很多復(fù)雜的算法在系統(tǒng)控制中得以實(shí)施。此外,它還集成了32 KB閃存、16個(gè)脈寬調(diào)制(PWM)通道、1個(gè)CAN模塊,以及1個(gè)超高速的500 ns的10位模數(shù)轉(zhuǎn)換器(ADC)等功能強(qiáng)大的外設(shè)。
    
整個(gè)系統(tǒng)以F2407A為控制器的核心,擴(kuò)展了機(jī)器人本體的人機(jī)接口(顯示及按鍵)模塊、環(huán)境攝像模塊、驅(qū)動(dòng)電機(jī)模塊、光電編碼器反饋模塊以及人機(jī)交互模塊等??刂葡到y(tǒng)結(jié)構(gòu)框圖如圖1所示。

控制系統(tǒng)結(jié)構(gòu)框圖 

1.1 機(jī)器人小車(chē)的定位模塊

機(jī)器人定位模塊主要由電機(jī)及其驅(qū)動(dòng)電路、機(jī)械傳動(dòng)系統(tǒng)及光電編碼器等組成。驅(qū)動(dòng)輪和光電編碼器之間采用齒輪傳動(dòng),傳動(dòng)比為i,光電編碼器的分辨率為N(即編碼器每旋轉(zhuǎn)一周輸出的脈沖數(shù)),驅(qū)動(dòng)輪的半徑為r,則編碼器每輸出一個(gè)脈沖,對(duì)應(yīng)的輪子在地面走過(guò)的距離為

電機(jī)控制采用脈寬調(diào)制(PWM)的調(diào)速方式,并以自帶的正交編碼脈沖(QEP)電路采集光電編碼器的反饋信息,對(duì)電機(jī)進(jìn)行閉環(huán)PID控制。利用QEP電路捕捉光電編碼器的反饋信號(hào)可以簡(jiǎn)化程序的編制,同時(shí)采用PID控制原理,可以提高系統(tǒng)的控制精度和穩(wěn)定性。
    
電機(jī)驅(qū)動(dòng)原理圖如圖2所示。驅(qū)動(dòng)主芯片為L(zhǎng)293B,L293B直流電機(jī)驅(qū)動(dòng)芯片允許電壓范圍在4.5~36V,內(nèi)有四重推挽(雙重H橋集成功放電路)驅(qū)動(dòng)電路,兩個(gè)通道可以向各自的電機(jī)提供l A的驅(qū)動(dòng)電流,并且如果芯片過(guò)熱,芯片能夠自動(dòng)關(guān)斷,保障系統(tǒng)不受損壞。當(dāng)A向、B向?yàn)楦唠娖綍r(shí),則電機(jī)A、B電流分別由3腳流向6腳和11腳流向14腳,電機(jī)正轉(zhuǎn);反之,當(dāng)A向、B向?yàn)榈碗娖綍r(shí),電機(jī)電流分別由6腳流向3腳和14腳流向11腳,電機(jī)反轉(zhuǎn)。此時(shí),可以用PWM控制芯片上電機(jī)使能腳的通斷時(shí)間比來(lái)對(duì)電機(jī)進(jìn)行調(diào)速,F(xiàn)2407A型芯片支持PWM輸出,因此可以很方便地對(duì)驅(qū)動(dòng)電機(jī)進(jìn)行調(diào)速。

電機(jī)驅(qū)動(dòng)原理圖 

由于DSP芯片自帶有正交編碼器捕捉模塊,因此該部分的電路設(shè)計(jì)比較簡(jiǎn)單。光電編碼器輸出的正交脈沖信號(hào)經(jīng)過(guò)非門(mén)加以穩(wěn)定,進(jìn)入DSP芯片的QEP電路被CPU捕獲并識(shí)別,再將識(shí)別后的信息作為PID控制算法的反饋輸入。

1.2 顯示及攝像模塊

顯示模塊和攝像模塊的數(shù)據(jù)格式都是8位,與等微控制器的接口靈活簡(jiǎn)單。攝像模塊可以輸出經(jīng)壓縮后的JPEG格式圖像,因此數(shù)據(jù)量較小,減輕了控制器數(shù)據(jù)處理的負(fù)擔(dān),同時(shí)縮短了傳輸一幀圖像的時(shí)間,實(shí)時(shí)性更好。F2407A提供了豐富的I/O接口,用I/O口可以很方便地對(duì)LCD模塊和攝像模塊進(jìn)行數(shù)據(jù)的寫(xiě)入和讀取。由于LCD模塊的數(shù)據(jù)是寫(xiě)入的,而攝像模塊的數(shù)據(jù)是讀出的,因此可以分時(shí)復(fù)用同一組I/O口,而不會(huì)發(fā)生沖突。經(jīng)設(shè)計(jì),用不同的控制線(xiàn)分別控制這兩個(gè)模塊的使能端以實(shí)現(xiàn)分時(shí)復(fù)用,均用DSP的I/OPB0~I/OPB7作為它們的數(shù)據(jù)接口。

2 GPRS無(wú)線(xiàn)圖像傳輸

GPRS(General Packet Radio Selvice)是一種基于包的無(wú)線(xiàn)通信服務(wù)。它是一種新的GSM數(shù)據(jù)業(yè)務(wù),可以給移動(dòng)用戶(hù)提供無(wú)線(xiàn)分組數(shù)據(jù)接人服務(wù)。GPRS主要是給移動(dòng)用戶(hù)和遠(yuǎn)端的數(shù)據(jù)網(wǎng)絡(luò)之間提供一種連接,從而給移動(dòng)用戶(hù)提供高速無(wú)線(xiàn)IP和無(wú)線(xiàn)X.25業(yè)務(wù)。
    
GPRS數(shù)據(jù)傳輸?shù)膬?yōu)點(diǎn)是:

    ◇傳輸速率高;
    ◇實(shí)時(shí)在線(xiàn);
    ◇按流量收費(fèi);
    ◇不受距離遠(yuǎn)近的影響;
    ◇快捷登錄。

2.1 GPRS組網(wǎng)方式

在本系統(tǒng)中,利用GPRS移動(dòng)通信網(wǎng)絡(luò)實(shí)現(xiàn)信息的雙向傳輸。機(jī)器人小車(chē)傳給遠(yuǎn)程監(jiān)控平臺(tái)的數(shù)據(jù)主要包括現(xiàn)場(chǎng)圖像信息和小車(chē)當(dāng)前定位信息;遠(yuǎn)程監(jiān)控平臺(tái)傳給小車(chē)的主要是指令信息。
   
GPRS圖像采集模塊由采集終端、DSP外圍接口、GPRS收發(fā)器、PC機(jī)接口及監(jiān)控中心軟件組成。圖像數(shù)據(jù)經(jīng)采集后,由DSP串口傳輸給GPRS收發(fā)器1,由收發(fā)器l將圖像數(shù)據(jù)通過(guò)GPRS無(wú)線(xiàn)網(wǎng)絡(luò)發(fā)送出去,再由GPRS收發(fā)器2將接收到的圖像數(shù)據(jù)傳輸給PC機(jī)串口,接著監(jiān)控中心軟件從PC機(jī)串口讀取數(shù)據(jù)并最終顯示在監(jiān)控中心界面上,完成現(xiàn)場(chǎng)的實(shí)時(shí)監(jiān)控。GPRS組網(wǎng)方式結(jié)構(gòu)圖如圖3所示。

gprs組網(wǎng)方式結(jié)構(gòu)圖 

2.2 圖像數(shù)據(jù)采集程序流程圖

圖像采集過(guò)程包括DSP串口通信初始化和圖像數(shù)據(jù)發(fā)送兩大部分。監(jiān)控中心發(fā)出采集圖像指令,經(jīng)GPRS模塊把信號(hào)傳輸給DSP串口,啟動(dòng)DSP串口的中斷服務(wù),采集攝像頭圖像數(shù)據(jù),并經(jīng)由GPRS模塊將數(shù)據(jù)發(fā)送給遠(yuǎn)程監(jiān)控中心,完成一幀圖像的采集周期。圖像數(shù)據(jù)采集程序流程如圖4所示。

圖像數(shù)據(jù)采集程序流程圖

DSP芯片的軟件設(shè)計(jì)支持C語(yǔ)言、匯編語(yǔ)言以及兩者混合編程,由于本系統(tǒng)涉及到圖像數(shù)據(jù)處理、電機(jī)PID控制算法的實(shí)現(xiàn)和LCD顯示等,程序煩雜,編程工作量大,因此用混合編程的方法,可以較好地結(jié)合C語(yǔ)言和匯編語(yǔ)言的優(yōu)點(diǎn),編寫(xiě)出效率較高的程序代碼。

2.3 數(shù)據(jù)傳輸協(xié)議

數(shù)據(jù)傳輸協(xié)議分為兩部分,一部分是尸C機(jī)發(fā)送給DSP的控制指令,另一部分是DSP發(fā)送給PC機(jī)的反饋信息。數(shù)據(jù)的傳輸格式采用數(shù)據(jù)包形式,因此必須對(duì)每次需要發(fā)送的數(shù)據(jù)進(jìn)行打包處理,具體的數(shù)據(jù)包類(lèi)型如下;

數(shù)據(jù)傳輸協(xié)議 

其中數(shù)據(jù)包的各單元定義如下:

    ◇起始標(biāo)志位是一個(gè)字節(jié),固定值0x00;
    ◇控制字是一個(gè)字節(jié),值范圍為0x0l~0xff,具體代表的數(shù)據(jù)類(lèi)型見(jiàn)2.3.1和2.3.2;
    ◇數(shù)據(jù)長(zhǎng)度單元是兩個(gè)字節(jié),值范圍為0x0001~0xffff,其中低字節(jié)在前,高字節(jié)在后,表示待發(fā)送數(shù)據(jù)的字節(jié)數(shù);
    ◇待發(fā)送數(shù)據(jù)單元的字節(jié)數(shù)不定,內(nèi)容由具體發(fā)送的數(shù)據(jù)內(nèi)容決定;
    ◇數(shù)據(jù)校驗(yàn)單元是一個(gè)字節(jié),值為待發(fā)送數(shù)據(jù)的各個(gè)字節(jié)相異或得出;
    ◇結(jié)束標(biāo)志位是一個(gè)字節(jié),固定值為0x01。

2.3.1 PC機(jī)到DSP的數(shù)據(jù)傳輸協(xié)議

PC機(jī)發(fā)送給微處理器DSP的數(shù)據(jù)類(lèi)型包括采集圖像指令、給定機(jī)器人行走類(lèi)型和應(yīng)答反饋指令等。DSP接收到PC機(jī)送出的各類(lèi)指令后,讀取數(shù)據(jù)內(nèi)容,然后把數(shù)據(jù)內(nèi)容的各個(gè)字節(jié)相異或,再把相異或得出的值與接收到的校驗(yàn)碼進(jìn)行比較,若相等則向PC反饋數(shù)據(jù)接收正確,進(jìn)而轉(zhuǎn)入對(duì)應(yīng)指令的中斷服務(wù)程序;若不相等則向PC機(jī)反饋數(shù)據(jù)接收出錯(cuò),申請(qǐng)重新發(fā)送指令。各指令定義如
表1所列。

pc機(jī)到dsp的數(shù)據(jù)傳輸協(xié)議 

2.3.2 DSP到PC機(jī)的數(shù)據(jù)傳輸協(xié)議

DSP發(fā)送到PC機(jī)的數(shù)據(jù)類(lèi)型主要包括機(jī)器人當(dāng)前位置反饋數(shù)據(jù)、圖像數(shù)據(jù)以及DSP應(yīng)答反饋指令等。PC機(jī)接收到數(shù)據(jù)后,進(jìn)行校驗(yàn)的處理過(guò)程和上節(jié)介紹的DSP接收數(shù)據(jù)后的處理過(guò)程一樣。機(jī)器人小車(chē)在行走的過(guò)程中,每隔一段時(shí)間會(huì)將自身當(dāng)前位置的數(shù)據(jù)發(fā)送到PC機(jī),實(shí)現(xiàn)實(shí)時(shí)路徑跟蹤,同時(shí)當(dāng)DSP接收到上位機(jī)發(fā)出的采集圖像指令后,進(jìn)行圖像采集,然后把采集到的圖像數(shù)據(jù)發(fā)送給PC機(jī)進(jìn)行圖像顯示,實(shí)現(xiàn)了機(jī)器人小車(chē)周?chē)h(huán)境信息的實(shí)奔囁?。緡撳掉[噶疃ㄒ迦綾?所列。

dsp到pc機(jī)的數(shù)據(jù)傳輸協(xié)議 

3 實(shí)驗(yàn)結(jié)果

監(jiān)控中心軟件采用Delphi高級(jí)語(yǔ)言編制。在“控制指令”一欄中輸入Ol(Ol代表采集圖像指令),點(diǎn)擊“發(fā) 送”,隨后監(jiān)控界面的“圖像監(jiān)控”欄會(huì)顯示攝像頭采集到的遠(yuǎn)程環(huán)境信息。

實(shí)驗(yàn)結(jié)果 

實(shí)驗(yàn)時(shí),攝像頭的分辨率調(diào)整為320



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉