引 言 機器人技術(shù)融合丁機械、電于、傳感器、計算機、人工智能等許多學(xué)科的理論與技術(shù),是當(dāng)今許多前沿領(lǐng)域技術(shù)的綜合體。移動型機器人主要用于對一些危險和未知的地域進行探索,例如是探索外星地表、進行引爆地雷等都需要使用到移動型機器人。半自主遠程控制移動機器人由于具有較強的活動能力、良好的可控性等特點,在工農(nóng)業(yè)、國防等各個領(lǐng)域具有廣泛的應(yīng)用前景。在半自主遠程控制移動機器人的控制操作中,需要人的參與。因此需要有一個人機交互通道,把人的指令傳遞給機器人執(zhí)行,同時機器人也可以把采集到的現(xiàn)場信息反饋紿人。本文基于移動機器人原理,設(shè)計了兩輪驅(qū)動半自主移動機器人的硬件系統(tǒng),詳細闡述了基于GPRS技術(shù)的遠程控制器的設(shè)計與實現(xiàn)。 1 遠程控制移動機器人系統(tǒng)組成 系統(tǒng)整體由遠程控制平臺、無線傳輸網(wǎng)絡(luò)以及本地機器人小車三個大部分組成。DSP是本地機器人小車的控制核心。TI公司的TMS320LF2407A芯片具有改進的哈佛結(jié)構(gòu)體系,采用了流水線技術(shù)等優(yōu)點,而且采用 了高性能靜態(tài)CMOS/技術(shù),把芯片運行電壓降低到3.3V,大大減少了芯片的功耗。其CPU具有很高酌處理速度,頻率可以達到40 MHz,很多復(fù)雜的算法在系統(tǒng)控制中得以實施。此外,它還集成了32 KB閃存、16個脈寬調(diào)制(PWM)通道、1個CAN模塊,以及1個超高速的500 ns的10位模數(shù)轉(zhuǎn)換器(ADC)等功能強大的外設(shè)。 整個系統(tǒng)以F2407A為控制器的核心,擴展了機器人本體的人機接口(LCD顯示及按鍵)模塊、環(huán)境攝像模塊、驅(qū)動電機模塊、光電編碼器反饋模塊以及GPRS人機交互模塊等。控制系統(tǒng)結(jié)構(gòu)框圖如圖1所示。 1.1 機器人小車的定位模塊 機器人定位模塊主要由電機及其驅(qū)動電路、機械傳動系統(tǒng)及光電編碼器等組成。驅(qū)動輪和光電編碼器之間采用齒輪傳動,傳動比為i,光電編碼器的分辨率為N(即編碼器每旋轉(zhuǎn)一周輸出的脈沖數(shù)),驅(qū)動輪的半徑為r,則編碼器每輸出一個脈沖,對應(yīng)的輪子在地面走過的距離為 電機控制采用脈寬調(diào)制(PWM)的調(diào)速方式,并以DSP自帶的正交編碼脈沖(QEP)電路采集光電編碼器的反饋信息,對電機進行閉環(huán)PID控制。利用QEP電路捕捉光電編碼器的反饋信號可以簡化程序的編制,同時采用PID控制原理,可以提高系統(tǒng)的控制精度和穩(wěn)定性。 電機驅(qū)動原理圖如圖2所示。驅(qū)動主芯片為L293B,L293B直流電機驅(qū)動芯片允許電壓范圍在4.5"36V,內(nèi)有四重推挽(雙重H橋集成功放電路)驅(qū)動電路,兩個通道可以向各自的電機提供l A的驅(qū)動電流,并且如果芯片過熱,芯片能夠自動關(guān)斷,保障系統(tǒng)不受損壞。當(dāng)A向、B向為高電平時,則電機A、B電流分別由3腳流向6腳和11腳流向14腳,電機正轉(zhuǎn);反之,當(dāng)A向、B向為低電平時,電機電流分別由6腳流向3腳和14腳流向11腳,電機反轉(zhuǎn)。此時,可以用PWM控制芯片上電機使能腳的通斷時間比來對電機進行調(diào)速,F(xiàn)2407A型DSP芯片支持PWM輸出,因此可以很方便地對驅(qū)動電機進行調(diào)速。 由于DSP芯片自帶有正交編碼器捕捉模塊,因此該部分的電路設(shè)計比較簡單。光電編碼器輸出的正交脈沖信號經(jīng)過非門加以穩(wěn)定,進入DSP芯片的QEP電路被CPU捕獲并識別,再將識別后的信息作為PID控制算法的反饋輸入。 1.2 LCD顯示及攝像模塊 LCD顯示模塊和攝像模塊的數(shù)據(jù)格式都是8位,與單片機等微控制器的接口靈活簡單。攝像模塊可以輸出經(jīng)壓縮后的JPEG格式圖像,因此數(shù)據(jù)量較小,減輕了控制器數(shù)據(jù)處理的負擔(dān),同時縮短了GPRS傳輸一幀圖像的時間,實時性更好。F2407A提供了豐富的I/O接口,用I/O口可以很方便地對LCD模塊和攝像模塊進行數(shù)據(jù)的寫入和讀取。由于LCD模塊的數(shù)據(jù)是寫入的,而攝像模塊的數(shù)據(jù)是讀出的,因此可以分時復(fù)用同一組I/O口,而不會發(fā)生沖突。經(jīng)設(shè)計,用不同的控制線分別控制這兩個模塊的使能端以實現(xiàn)分時復(fù)用,均用DSP的I/OPB0"I/OPB7作為它們的數(shù)據(jù)接口。 2 GPRS無線圖像傳輸 GPRS(General Packet Radio Selvice)是一種基于包的無線通信服務(wù)。它是一種新的GSM數(shù)據(jù)業(yè)務(wù),可以給移動用戶提供無線分組數(shù)據(jù)接人服務(wù)。GPRS主要是給移動用戶和遠端的數(shù)據(jù)網(wǎng)絡(luò)之間提供一種連接,從而給移動用戶提供高速無線IP和無線X.25業(yè)務(wù)。 GPRS數(shù)據(jù)傳輸?shù)膬?yōu)點是: ◇傳輸速率高; ◇實時在線; ◇按流量收費; ◇不受距離遠近的影響; ◇快捷登錄。 2.1 GPRS組網(wǎng)方式 在本系統(tǒng)中,利用GPRS移動通信網(wǎng)絡(luò)實現(xiàn)信息的雙向傳輸。機器人小車傳給遠程監(jiān)控平臺的數(shù)據(jù)主要包括現(xiàn)場圖像信息和小車當(dāng)前定位信息;遠程監(jiān)控平臺傳給小車的主要是指令信息。 GPRS圖像采集模塊由采集終端、DSP外圍接口、GPRS收發(fā)器、PC機接口及監(jiān)控中心軟件組成。圖像數(shù)據(jù)經(jīng)采集后,由DSP串口傳輸給GPRS收發(fā)器1,由收發(fā)器l將圖像數(shù)據(jù)通過GPRS無線網(wǎng)絡(luò)發(fā)送出去,再由GPRS收發(fā)器2將接收到的圖像數(shù)據(jù)傳輸給PC機串口,接著監(jiān)控中心軟件從PC機串口讀取數(shù)據(jù)并最終顯示在監(jiān)控中心界面上,完成現(xiàn)場的實時監(jiān)控。GPRS組網(wǎng)方式結(jié)構(gòu)圖如圖3所示。 2.2 圖像數(shù)據(jù)采集程序流程圖 圖像采集過程包括DSP串口通信初始化和圖像數(shù)據(jù)發(fā)送兩大部分。監(jiān)控中心發(fā)出采集圖像指令,經(jīng)GPRS模塊把信號傳輸給DSP串口,啟動DSP串口的中斷服務(wù),采集攝像頭圖像數(shù)據(jù),并經(jīng)由GPRS模塊將數(shù)據(jù)發(fā)送給遠程監(jiān)控中心,完成一幀圖像的采集周期。圖像數(shù)據(jù)采集程序流程如圖4所示。 DSP芯片的軟件設(shè)計支持C語言、匯編語言以及兩者混合編程,由于本系統(tǒng)涉及到圖像數(shù)據(jù)處理、電機PID控制算法的實現(xiàn)和LCD顯示等,程序煩雜,編程工作量大,因此用混合編程的方法,可以較好地結(jié)合C語言和匯編語言的優(yōu)點,編寫出效率較高的程序代碼。 2.3 數(shù)據(jù)傳輸協(xié)議 數(shù)據(jù)傳輸協(xié)議分為兩部分,一部分是尸C機發(fā)送給DSP的控制指令,另一部分是DSP發(fā)送給PC機的反饋信息。數(shù)據(jù)的傳輸格式采用數(shù)據(jù)包形式,因此必須對每次需要發(fā)送的數(shù)據(jù)進行打包處理,具體的數(shù)據(jù)包類型如下; 其中數(shù)據(jù)包的各單元定義如下: ◇起始標(biāo)志位是一個字節(jié),固定值0x00; ◇控制字是一個字節(jié),值范圍為0x0l"0xff,具體代表的數(shù)據(jù)類型見2.3.1和2.3.2; ◇數(shù)據(jù)長度單元是兩個字節(jié),值范圍為0x0001"0xffff,其中低字節(jié)在前,高字節(jié)在后,表示待發(fā)送數(shù)據(jù)的字節(jié)數(shù); ◇待發(fā)送數(shù)據(jù)單元的字節(jié)數(shù)不定,內(nèi)容由具體發(fā)送的數(shù)據(jù)內(nèi)容決定; ◇數(shù)據(jù)校驗單元是一個字節(jié),值為待發(fā)送數(shù)據(jù)的各個字節(jié)相異或得出; ◇結(jié)束標(biāo)志位是一個字節(jié),固定值為0x01。 2.3.1 PC機到DSP的數(shù)據(jù)傳輸協(xié)議 PC機發(fā)送給微處理器DSP的數(shù)據(jù)類型包括采集圖像指令、給定機器人行走類型和應(yīng)答反饋指令等。DSP接收到PC機送出的各類指令后,讀取數(shù)據(jù)內(nèi)容,然后把數(shù)據(jù)內(nèi)容的各個字節(jié)相異或,再把相異或得出的值與接收到的校驗碼進行比較,若相等則向PC反饋數(shù)據(jù)接收正確,進而轉(zhuǎn)入對應(yīng)指令的中斷服務(wù)程序;若不相等則向PC機反饋數(shù)據(jù)接收出錯,申請重新發(fā)送指令。各指令定義如 表1所列。 2.3.2 DSP到PC機的數(shù)據(jù)傳輸協(xié)議 DSP發(fā)送到PC機的數(shù)據(jù)類型主要包括機器人當(dāng)前位置反饋數(shù)據(jù)、圖像數(shù)據(jù)以及DSP應(yīng)答反饋指令等。PC機接收到數(shù)據(jù)后,進行校驗的處理過程和上節(jié)介紹的DSP接收數(shù)據(jù)后的處理過程一樣。機器人小車在行走的過程中,每隔一段時間會將自身當(dāng)前位置的數(shù)據(jù)發(fā)送到PC機,實現(xiàn)實時路徑跟蹤,同時當(dāng)DSP接收到上位機發(fā)出的采集圖像指令后,進行圖像采集,然后把采集到的圖像數(shù)據(jù)發(fā)送給PC機進行圖像顯示,實現(xiàn)了機器人小車周圍環(huán)境信息的實奔囁。緡撳掉[噶疃ㄒ迦綾?所列。 3 實驗結(jié)果 監(jiān)控中心軟件采用Delphi高級語言編制。在“控制指令”一欄中輸入Ol(Ol代表采集圖像指令),點擊“發(fā) 送”,隨后監(jiān)控界面的“圖像監(jiān)控”欄會顯示攝像頭采集到的遠程環(huán)境信息。 實驗時,攝像頭的分辨率調(diào)整為320×240,兩個GPRS收發(fā)器分別在相距4 m左右的房間兩端,圖5顯示了實驗結(jié)果。實驗結(jié)果表明:基于GPRS移動通信網(wǎng)絡(luò)和DSP技術(shù)的半自主移動機器人遠程系統(tǒng)達到了預(yù)期的效果。同時在實驗中也發(fā)現(xiàn),GPRS傳輸數(shù)據(jù)的實時性是有限的,雖然理論上傳輸速率高達171 kb/s,但實際上受多種因素的影響,實際速率較低,傳輸一幀3K的JPEG格式圖像大約需要3O"60s的時間。因此,如何進一步提高系統(tǒng)的實時性是本系統(tǒng)面臨的最大挑戰(zhàn)。 |