基于DSP的半自主遠(yuǎn)程控制移動(dòng)機(jī)器人系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要 介紹自行開發(fā)的半自主遠(yuǎn)程控制移動(dòng)機(jī)器人系統(tǒng)的軟硬件設(shè)計(jì)方案。以TI公司TMS320LF2407A型號(hào)的DSP芯片為機(jī)器人小車控制器核心,重點(diǎn)闡述系統(tǒng)定位模塊、圖像采集模塊及無(wú)線數(shù)據(jù)侍輸模塊等,并給出PC機(jī)和DSP之間的數(shù)據(jù)傳榆協(xié)議以及實(shí)驗(yàn)結(jié)果。
關(guān)鍵詞 數(shù)字信號(hào)處理器(DSP) 移動(dòng)機(jī)器人 GPRS 圖像傳輸
引 言
機(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ì)闡述了基于GPRS技術(shù)的遠(yuǎn)程控制器的設(shè)計(jì)與實(shí)現(xiàn)。
1 遠(yuǎn)程控制移動(dòng)機(jī)器人系統(tǒng)組成
系統(tǒng)整體由遠(yuǎn)程控制平臺(tái)、無(wú)線傳輸網(wǎng)絡(luò)以及本地機(jī)器人小車三個(gè)大部分組成。DSP是本地機(jī)器人小車的控制核心。TI公
司的TMS320LF2407A芯片具有改進(jìn)的哈佛結(jié)構(gòu)體系,采用了流水線技術(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ī)接口(LCD顯示及按鍵)模塊、環(huán)境攝像模塊、驅(qū)動(dòng)電機(jī)模塊、光電編碼器反饋模塊以及GPRS人機(jī)交互模塊等??刂葡到y(tǒng)結(jié)構(gòu)框圖如圖1所示。
1.1 機(jī)器人小車的定位模塊
機(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)速方式,并以DSP自帶的正交編碼脈沖(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型DSP芯片支持PWM輸出,因此可以很方便地對(duì)驅(qū)動(dòng)電機(jī)進(jìn)行調(diào)速。
由于DSP芯片自帶有正交編碼器捕捉模塊,因此該部分的電路設(shè)計(jì)比較簡(jiǎn)單。光電編碼器輸出的正交脈沖信號(hào)經(jīng)過(guò)非門加以穩(wěn)定,進(jìn)入DSP芯片的QEP電路被CPU捕獲并識(shí)別,再將識(shí)別后的信息作為PID控制算法的反饋輸入。
1.2 LCD顯示及攝像模塊
LCD顯示模塊和攝像模塊的數(shù)據(jù)格式都是8位,與單片機(jī)等微控制器的接口靈活簡(jiǎn)單。攝像模塊可以輸出經(jīng)壓縮后的JPEG格式圖像,因此數(shù)據(jù)量較小,減輕了控制器數(shù)據(jù)處理的負(fù)擔(dān),同時(shí)縮短了GPRS傳輸一幀圖像的時(shí)間,實(shí)時(shí)性更好。F2407A提供了豐富的I/O接口,用I/O口可以很方便地對(duì)LCD模塊和攝像模塊進(jìn)行數(shù)據(jù)的寫入和讀取。由于LCD模塊的數(shù)據(jù)是寫入的,而攝像模塊的數(shù)據(jù)是讀出的,因此可以分時(shí)復(fù)用同一組I/O口,而不會(huì)發(fā)生沖突。經(jīng)設(shè)計(jì),用不同的控制線分別控制這兩個(gè)模塊的使能端以實(shí)現(xiàn)分時(shí)復(fù)用,均用DSP的I/OPB0~I/OPB7作為它們的數(shù)據(jù)接口。
2 GPRS無(wú)線圖像傳輸
GPRS(General Packet Radio Selvice)是一種基于包的無(wú)線通信服務(wù)。它是一種新的GSM數(shù)據(jù)業(yè)務(wù),可以給移動(dòng)用戶提供無(wú)線分組數(shù)據(jù)接人服務(wù)。GPRS主要是給移動(dòng)用戶和遠(yuǎn)端的數(shù)據(jù)網(wǎng)絡(luò)之間提供一種連接,從而給移動(dòng)用戶提供高速無(wú)線IP和無(wú)線X.25業(yè)務(wù)。
GPRS數(shù)據(jù)傳輸?shù)膬?yōu)點(diǎn)是:
◇傳輸速率高;
◇實(shí)時(shí)在線;
◇按流量收費(fèi);
◇不受距離遠(yuǎn)近的影響;
◇快捷登錄。
2.1 GPRS組網(wǎng)方式
在本系統(tǒng)中,利用GPRS移動(dòng)通信網(wǎng)絡(luò)實(shí)現(xiàn)信息的雙向傳輸。機(jī)器人小車傳給遠(yuǎn)程監(jiān)控平臺(tái)的數(shù)據(jù)主要包括現(xiàn)場(chǎng)圖像信息和小車當(dāng)前定位信息;遠(yuǎn)程監(jiān)控平臺(tái)傳給小車的主要是指令信息。
GPRS圖像采集模塊由采集終端、DSP外圍接口、GPRS收發(fā)器、PC機(jī)接口及監(jiān)控中心軟件組成。圖像數(shù)據(jù)經(jīng)采集后,由DSP串口傳輸給GPRS收發(fā)器1,由收發(fā)器l將圖像數(shù)據(jù)通過(guò)GPRS無(wú)線網(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所示。
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所示。
DSP芯片的軟件設(shè)計(jì)支持C語(yǔ)言、匯編語(yǔ)言以及兩者混合編程,由于本系統(tǒng)涉及到圖像數(shù)據(jù)處理、電機(jī)PID控制算法的實(shí)現(xiàn)和LCD顯示等,程序煩雜,編程工作量大,因此用混合編程的方法,可以較好地結(jié)合C語(yǔ)言和匯編語(yǔ)言的優(yōu)點(diǎn),編寫出效率較高的程序代碼。
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ù)包類型如下;
其中數(shù)據(jù)包的各單元定義如下:
◇起始標(biāo)志位是一個(gè)字節(jié),固定值0x00;
◇控制字是一個(gè)字節(jié),值范圍為0x0l~0xff,具體代表的數(shù)據(jù)類型見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ù)類型包括采集圖像指令、給定機(jī)器人行走類型和應(yīng)答反饋指令等。DSP接收到PC機(jī)送出的各類指令后,讀取數(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所列。
2.3.2 DSP到PC機(jī)的數(shù)據(jù)傳輸協(xié)議
DSP發(fā)送到PC機(jī)的數(shù)據(jù)類型主要包括機(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ī)器人小車在行走的過(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ī)器人小車周圍環(huán)境信息的實(shí)時(shí)監(jiān)控。具體的指令定義如表2所列。
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)時(shí),攝像頭的分辨率調(diào)整為320×240,兩個(gè)GPRS收發(fā)器分別在相距4 m左右的房間兩端,圖5顯示了實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)結(jié)果表明:基于GPRS移動(dòng)通信網(wǎng)絡(luò)和DSP技術(shù)的半自主移動(dòng)機(jī)器人遠(yuǎn)程系統(tǒng)達(dá)到了預(yù)期的效果。同時(shí)在實(shí)驗(yàn)中也發(fā)現(xiàn),GPRS傳輸數(shù)據(jù)的實(shí)時(shí)性是有限的,雖然理論上傳輸速率高達(dá)171 kb/s,但實(shí)際上受多種因素的影響,實(shí)際速率較低,傳輸一幀3K的JPEG格式圖像大約需要3O~60s的時(shí)間。因此,如何進(jìn)一步提高系統(tǒng)的實(shí)時(shí)性是本系統(tǒng)面臨的最大挑戰(zhàn)。