基于S3C6410目標(biāo)搜索飛行器的設(shè)計(jì)與研究
摘要:應(yīng)用嵌入式技術(shù)、無線傳輸技術(shù)和圖像處理技術(shù),設(shè)計(jì)目標(biāo)搜索飛行器,為防災(zāi)救災(zāi)提供技術(shù)服務(wù)。系統(tǒng)包括手持終端和飛行器,采用 ARM11架構(gòu)的S3C6410微處理器,移植Linux操作系統(tǒng)。飛行器攜帶攝像頭采集圖像并壓縮,通過wifi傳輸?shù)绞殖纸K端,在本地的TFT液晶屏顯示;同時(shí)手持終端向飛行器發(fā)送控制命令,飛行器根據(jù)命令控制自身的運(yùn)動(dòng)和攝像頭的轉(zhuǎn)動(dòng)。實(shí)驗(yàn)結(jié)果表明,采集的圖像清晰、命令執(zhí)行及時(shí)可靠,能夠較好地完成目標(biāo)探測、搜索等任務(wù)。
本文引用地址:http://www.ex-cimer.com/article/201610/306134.htm關(guān)鍵詞:飛行器;目標(biāo)搜索;無線通信;圖像采集
近年來大規(guī)模的災(zāi)難、事故頻發(fā),對(duì)人類的生命和財(cái)產(chǎn)造成極大危害,及時(shí)、有效地投入防災(zāi)救災(zāi)可大大降低災(zāi)害損失,研究高效的救援搜索設(shè)備具有特別重要的意義。隨著科技的進(jìn)步,新型技術(shù)成為救援的制勝法寶,尤其是飛行機(jī)器人技術(shù)。因具有靈活、重量輕、以及可深入危險(xiǎn)區(qū)域工作等優(yōu)勢,搜索飛行器在災(zāi)后救援工作中起著越來越重要的作用,此類飛行器需要具備穩(wěn)定的運(yùn)動(dòng)控制、采集多種環(huán)境信息、以及無線控制等功能。可見,搜索飛行器需考慮完成的功能多、涉及技術(shù)廣、環(huán)境狀態(tài)不確定等因素,因此存在設(shè)計(jì)難、可擴(kuò)展性差、缺少豐富的通訊能力、研究成本高等問題。
針對(duì)以上問題,文中根據(jù)飛行機(jī)器人系統(tǒng)的可擴(kuò)展、可裁剪、以及互操作等特性,采用模塊化方法設(shè)計(jì)并實(shí)現(xiàn)一個(gè)飛行機(jī)器人原型系統(tǒng).通過無線通信實(shí)現(xiàn)飛行器控制及數(shù)據(jù)傳輸,以完成目標(biāo)探測、搜索以及安全監(jiān)控等功能。
1 目標(biāo)搜索飛行器系統(tǒng)設(shè)計(jì)
1.1 硬件體系結(jié)構(gòu)
目標(biāo)搜索飛行器須具備一定的飛行速度、低能耗、飛行穩(wěn)定性、適應(yīng)多樣的環(huán)境探測,以及有懸停、垂直升降升能力。其中,飛行移動(dòng)載體的結(jié)構(gòu)簡單,可省去復(fù)雜的機(jī)械設(shè)計(jì),且運(yùn)動(dòng)速度快,可減少目標(biāo)搜索時(shí)間。為此,采用四輪旋翼飛行方式,增強(qiáng)飛行器的移動(dòng)能力。
目標(biāo)搜索飛行器包括手持控制終端和飛行機(jī)器人兩部分,兩者之間通過wifi無線通信方式傳輸圖像和控制信息;飛行器利用攜帶的攝像頭采集圖像并進(jìn)行壓縮,通過wifi傳輸給手持終端,手持終端對(duì)接收到的圖像進(jìn)行解壓后在本地的TFT液晶屏顯示。用戶可根據(jù)顯示的圖像信息,利用可視化觸控界面向飛行器發(fā)送飛行控制命令,飛行器接收到控制
命令后進(jìn)行解析,然后據(jù)此命令調(diào)節(jié)電機(jī)驅(qū)動(dòng)電路,控制直流電機(jī)的轉(zhuǎn)動(dòng)、啟停,實(shí)現(xiàn)飛行器的前進(jìn)、轉(zhuǎn)向、升降、懸停等運(yùn)動(dòng),同時(shí)飛行器的主處理器可控制攝像頭180°的轉(zhuǎn)動(dòng),以調(diào)整拍攝角度。語音模塊可以在飛行器搜索到目標(biāo)信息后進(jìn)行報(bào)警提示。此外,飛行器上還帶有超聲測距、電子羅盤等傳感器,在飛行的過程中通過這些傳感器提供的信息自我調(diào)整飛行運(yùn)動(dòng)。手持終端和飛行器主控制板采用ARM11架構(gòu)的S3C6410微處理器作為控制核心,軟件上運(yùn)行Linux 操作系統(tǒng),主要完成無線數(shù)據(jù)收發(fā)、圖像數(shù)據(jù)處理、電機(jī)控制信號(hào)輸出等功能。飛行器硬件體系結(jié)構(gòu)如圖1所示。
1.2 目標(biāo)搜索功能模型
在目標(biāo)探測、搜索過程中,涉及的控制操作較多,各功能模塊間的調(diào)用關(guān)系較復(fù)雜。為此,采用的UML進(jìn)行模型分析,完成應(yīng)用程序功能模型設(shè)計(jì),建立系統(tǒng)操作用例圖(Use—Case)。系統(tǒng)被抽象為操作員、飛行器和手持終端3部分,操作員通過操縱手持控制終端與飛行器進(jìn)行對(duì)話。軟件的應(yīng)用程序功能模型如圖2所示。
飛行器系統(tǒng)主要完成以下功能:
1)命令接收:接收控制終端的指令。指令分為基本指令和電機(jī)控制命令。前者控制電機(jī)驅(qū)動(dòng)板輸出;后者控制機(jī)器人基本行為,例如開始采集、停止采集等。
2)數(shù)據(jù)發(fā)送:將采集到的數(shù)據(jù)通過無線網(wǎng)卡發(fā)送給手持式控制終端。
3)信息采集:傳感器探測包括圖像、障礙物距離以及運(yùn)行方向等信息。
4)語音播報(bào):飛行器搜索到目標(biāo)時(shí)進(jìn)行語音報(bào)警動(dòng)作。
5)運(yùn)動(dòng)控制:實(shí)現(xiàn)前進(jìn),轉(zhuǎn)向,升降,啟停等基本功能。
2 系統(tǒng)實(shí)現(xiàn)
2.1 電源
為了使移動(dòng)機(jī)器人運(yùn)動(dòng)方便,必須自帶電源。其中,飛行器控制電路采用5 V直流供電,電機(jī)驅(qū)動(dòng)部分則需要12V直流供電,為了減少控制電路受到電機(jī)運(yùn)動(dòng)的干擾,采用獨(dú)立供電方式。主控制板功率消耗較小,通過LDO芯片AMS1117、LM4040B、XC6206P122等來實(shí)現(xiàn)3.3 V、3.0 V及1.2 V電壓轉(zhuǎn)換;而電機(jī)板功率消耗較大,為了提高使用效率,通過開關(guān)電源LM2576實(shí)現(xiàn)5 V電壓輸出。電源轉(zhuǎn)換電路如圖3所示。
2.2 電機(jī)驅(qū)動(dòng)
電機(jī)驅(qū)動(dòng)電路由H橋和光電隔離電路兩部分組成,采用4片LMD18200H橋芯片實(shí)現(xiàn)飛行器的四路直流電機(jī)控制。為提高抗干擾性,主控芯片與電機(jī)驅(qū)動(dòng)放大電路之間通過光電耦合器實(shí)現(xiàn)隔離。S3C6410從GPIO輸出控制信號(hào),經(jīng)低速光耦TLP521光電隔離后輸出給LMD18200,控制電機(jī)的啟停;由于S3C6410的PWM輸出信號(hào)頻率較高,采用高速光耦6N137實(shí)現(xiàn)信號(hào)隔離,控制電機(jī)的運(yùn)轉(zhuǎn)速度。電機(jī)驅(qū)動(dòng)電路如圖4所示。
2.3 無線傳輸
無線通信模塊采用的是基于RT2571/RT73芯片的54MUSB無線網(wǎng)卡,符合IEEE 802.11b和IEEE 802.11g標(biāo)準(zhǔn)。手持控制終端和飛行器之間采用對(duì)等式(Ad—Hoc)的方式進(jìn)行
通信,配置雙方的無線網(wǎng)卡的工作模式為對(duì)等式模式,在Linux操作系統(tǒng)下采用socket套接字建立TCP連接,實(shí)現(xiàn)圖像和命令信息的交互。
主處理器通過USB端口控制無線模塊的數(shù)據(jù)收發(fā)。無線傳輸模塊主要完成兩個(gè)任務(wù):1)手持式終端向飛行器發(fā)送控制命令;2)飛行器回傳圖像數(shù)據(jù)至手持終端。飛行器系統(tǒng)的軟件設(shè)計(jì)采用了多任務(wù)并發(fā)方式執(zhí)行,飛行器系統(tǒng)無線數(shù)據(jù)傳輸、處理的過程如下:
1)發(fā)送流程:手持控制終端的QT界面獲取操作人員的按鍵信息,并通過共享內(nèi)存將按鍵值傳給控制命令發(fā)送進(jìn)程,該進(jìn)程通過socket套接字,將命令信息發(fā)送給現(xiàn)場機(jī)器人的控制命令接收子進(jìn)程,該進(jìn)程對(duì)命令進(jìn)行解析,通過調(diào)整四路PWM輸出占空比,從而控制飛行器的運(yùn)行。
2)接收流程:現(xiàn)場機(jī)器人的圖像采集子進(jìn)程將采集到的圖像進(jìn)行壓縮后通過socket套接字發(fā)送至手持控制終端,由圖像接收子進(jìn)程接收并對(duì)圖像信息進(jìn)行解壓等處理,然后在本地液晶屏上進(jìn)行顯示。無線傳輸?shù)能浖ぷ骺蚣苋鐖D5所示。
手持控制終端作為客戶端向現(xiàn)場飛行器服務(wù)器發(fā)送控制命令,所以要延時(shí)等待現(xiàn)場飛行器服務(wù)器的建立,當(dāng)傳輸控制命令的C/S模式建立完成后,飛行器要作為客戶端向手持控制終端發(fā)送圖像信息,就必須延時(shí)等待手持式控制終端服務(wù)器的建立,等待傳輸圖像信息的C/S模式建立,手持控制終端的套接字流程如圖6(a) 所示,現(xiàn)場機(jī)器人的套接字流程如圖6(b)所示。
2.4 圖像采集
遠(yuǎn)距離搜索和探測目標(biāo)時(shí),通過監(jiān)測圖像判別是否搜索到目標(biāo),采用CMOS圖像傳感器OV6620實(shí)現(xiàn)圖像采集。主處理器通過I2C接口初始化OV6620設(shè)置,外部中斷接口連接芯片的場中斷信號(hào)及行中斷信號(hào),8位數(shù)據(jù)端采集圖像數(shù)據(jù)。圖像數(shù)據(jù)的采集主要由場中斷VSYNC信號(hào)標(biāo)記一幅圖像開始,行中斷信號(hào)HREF標(biāo)記一幅圖像的每行的開始,信號(hào)PCLK則代表了每個(gè)像素點(diǎn)的時(shí)序。配置OV6620的為RGB565圖像輸出格式,根據(jù)液晶顯示640*480采集圖像數(shù)據(jù),需要60萬Byte RAM空間。
基于ARM平臺(tái)的圖像采集模塊的軟件部分采用的是基于S3C6410硬件平臺(tái)的V4L2視頻驅(qū)動(dòng)開發(fā),V4L2子系統(tǒng)包括用戶態(tài),內(nèi)核和硬件3個(gè)部分。用戶空間負(fù)責(zé)為應(yīng)用程序提供訪問設(shè)備的接口,Video_core負(fù)責(zé)屏蔽底層硬件的差異,為應(yīng)用程序提供統(tǒng)一的設(shè)備接口,Video驅(qū)動(dòng)負(fù)責(zé)具體設(shè)備的初始化,配置不同型號(hào)的攝像頭的采集過程。
V4L2為Linux下的視頻設(shè)備程序提供了一套接口規(guī)范,采用流水線的工作方式,遵循打開視頻設(shè)備,設(shè)置格式,申請內(nèi)存,處理數(shù)據(jù),關(guān)閉設(shè)備的 Linux字符驅(qū)動(dòng)設(shè)計(jì)方式。L inux下OV6620攝像頭驅(qū)動(dòng)屬于字符類設(shè)備,它能夠像字節(jié)流一樣被訪問,且只能夠順序讀寫,OV6620攝像頭的驅(qū)動(dòng)流程如圖7所示,系統(tǒng)首先加載驅(qū)動(dòng)模塊,匹配OV6620硬件設(shè)備,向系統(tǒng)中注冊字符設(shè)備,通過I2C初始化攝像頭寄存器,并分配相應(yīng)的內(nèi)存空間,開始采集發(fā)送圖像,完成后釋放相應(yīng)的資源。
3 結(jié)束語
實(shí)驗(yàn)表明,以模塊化目標(biāo)搜索飛行器實(shí)驗(yàn)平臺(tái)在實(shí)驗(yàn)環(huán)境中可以較好地完成目標(biāo)搜索任務(wù)。整個(gè)系統(tǒng)采用半自主控制方式,飛行器自主導(dǎo)航,采集環(huán)境、目標(biāo)圖像信息,傳輸至控制終端??刂平K端依此進(jìn)行決策,決定飛行器的運(yùn)動(dòng)控制,最終完成探測、搜索目標(biāo)等功能,保證了搜索區(qū)域的覆蓋,實(shí)現(xiàn)了有效、快速的探測、搜索功能。
評(píng)論