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