Mobile Multi-terminal Environment Monitoring System Based on STM32
魏阿勇 凌志浩 葉西寧
(華東理工大學(xué)信息科學(xué)與工程學(xué)院,上海 200237)
基于STM32的移動(dòng)多終端環(huán)境監(jiān)測(cè)系統(tǒng)
Mobile Multi-terminal Environment Monitoring System Based on STM32
魏阿勇凌志浩葉西寧
(華東理工大學(xué)信息科學(xué)與工程學(xué)院,上海200237)
摘要:針對(duì)獲取危險(xiǎn)場(chǎng)所和未知地域環(huán)境信息的應(yīng)用需求,提出并設(shè)計(jì)了一種基于嵌入式系統(tǒng)的移動(dòng)多終端環(huán)境監(jiān)測(cè)系統(tǒng)。攜帶多種環(huán)境檢測(cè)傳感器的多個(gè)自主避障移動(dòng)終端,根據(jù)移動(dòng)規(guī)則遍歷搜索環(huán)境,在不同的位置反饋環(huán)境信息數(shù)據(jù);隨后這些數(shù)據(jù)被用于構(gòu)建實(shí)時(shí)環(huán)境信息分布圖。仿真和實(shí)際運(yùn)行效果證明,系統(tǒng)可以有效檢測(cè)未知環(huán)境,呈現(xiàn)可靠的環(huán)境信息分布圖。由系統(tǒng)原理和效果可以推斷經(jīng)進(jìn)一步改進(jìn)后的系統(tǒng)可應(yīng)用于諸如氣體泄漏檢測(cè)、未知探險(xiǎn)、密閉環(huán)境監(jiān)控等應(yīng)用場(chǎng)所。
關(guān)鍵詞:移動(dòng)多終端ZigBee無(wú)線傳感網(wǎng)絡(luò)環(huán)境檢測(cè)信息分布
Abstract:In accordance with the applicable demands for obtaining environment information of hazardous locations or unknown regions, the mobile multi-terminal environment monitoring system based on embedded system is proposed and designed. Multiple autonomous obstacle avoidance terminals carrying various kinds of environment detection sensors traversal search environment based on move rule, and feedback environmental information data at different locations, then these data are used to construct real time environment information distribution graphic. The effects of simulation and practical operation of the system verify that the system can effectively detect unknown environment, provide reliable environment information distribution graphic. From the principle of system and the effects, it is inferred that after further improvement, the system can be applied in detecting gas leakage, unknown explorers,monitoring confined environment, etc.
Keywords:Mobile multi-terminalZigBeeWSNEnvironment detectionInformation distribution
0引言
化工廠毒害氣體泄漏后需要規(guī)劃緊急救援或疏散的通道;突發(fā)地震、塌樓等災(zāi)害事故之后,需要快速探測(cè)生命跡象;在放射源外泄的情況下,需要及時(shí)掌握射線強(qiáng)度分布,追蹤放射源;在諸如行星探測(cè)、未知環(huán)境探險(xiǎn)、軍事偵查等應(yīng)用情況下,需要及時(shí)感知對(duì)象環(huán)境以便采取措施。因此,快速監(jiān)測(cè)未知環(huán)境,并構(gòu)建環(huán)境信息分布圖,具有重要的研究意義和實(shí)現(xiàn)價(jià)值。
由于無(wú)線傳感網(wǎng)絡(luò)節(jié)點(diǎn)需要人工提前安裝;節(jié)點(diǎn)監(jiān)測(cè)點(diǎn)位置固定和感知范圍有限;網(wǎng)絡(luò)對(duì)于節(jié)點(diǎn)移動(dòng)的適應(yīng)性和容錯(cuò)性較差等缺陷,因而無(wú)法適用于突發(fā)的動(dòng)態(tài)環(huán)境,檢測(cè)人員不便到達(dá)區(qū)域的檢測(cè)。如果使用機(jī)器人或者自主移動(dòng)智能終端代替人員,攜帶無(wú)線檢測(cè)傳感器或儀器,進(jìn)入待檢測(cè)環(huán)境展開(kāi)工作,則可以有效實(shí)現(xiàn)無(wú)線傳感網(wǎng)絡(luò)的自主移動(dòng)功能。這樣檢測(cè)節(jié)點(diǎn)可以在三維空間自主移動(dòng)定位,極大方便特殊環(huán)境下的傳感網(wǎng)絡(luò)布置,通過(guò)節(jié)點(diǎn)移動(dòng)有效應(yīng)對(duì)環(huán)境變化,并且可以通過(guò)節(jié)點(diǎn)的移動(dòng)來(lái)增加網(wǎng)絡(luò)覆蓋范圍。
現(xiàn)代人工智能技術(shù)、傳感器技術(shù)以及控制理論的日趨成熟,移動(dòng)自組織網(wǎng)絡(luò)技術(shù)快速發(fā)展,為移動(dòng)無(wú)線傳感網(wǎng)絡(luò)和智能終端技術(shù)相結(jié)合的系統(tǒng)實(shí)現(xiàn)提供了可能[1-3]。
1系統(tǒng)結(jié)構(gòu)
基于應(yīng)用需求及技術(shù)的可實(shí)現(xiàn)性,針對(duì)一個(gè)二維平面有限范圍未知環(huán)境的溫、濕度和空氣質(zhì)量信息監(jiān)測(cè),本文提出了一種移動(dòng)多終端環(huán)境監(jiān)測(cè)系統(tǒng)。系統(tǒng)設(shè)計(jì)了能夠自主運(yùn)動(dòng)的多個(gè)終端,借助無(wú)線通信系統(tǒng),攜帶環(huán)境檢測(cè)傳感器在被測(cè)環(huán)境中運(yùn)動(dòng)。這樣既可以實(shí)現(xiàn)無(wú)線傳感網(wǎng)絡(luò)的快速部署,也可以按照設(shè)定的檢測(cè)密度,覆蓋搜索整個(gè)環(huán)境區(qū)域,并實(shí)時(shí)返回信息數(shù)據(jù)。根據(jù)返回的環(huán)境信息數(shù)據(jù),就可以在上位機(jī)上構(gòu)建環(huán)境信息分布圖。
監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)內(nèi)容主要包括:搭建三個(gè)移動(dòng)檢測(cè)終端;構(gòu)建無(wú)線網(wǎng)絡(luò),實(shí)現(xiàn)檢測(cè)終端之間以及終端和監(jiān)控中心之間的通信;開(kāi)發(fā)上位機(jī)軟件、遙控終端,處理數(shù)據(jù)和最終顯示溫、濕度分布圖等。系統(tǒng)設(shè)計(jì)結(jié)合了無(wú)線傳感網(wǎng)絡(luò)、嵌入式終端的數(shù)據(jù)處理以及智能化終端的移動(dòng)控制等多方面技術(shù),系統(tǒng)結(jié)構(gòu)框圖如圖1所示。圖1中,三個(gè)小車(chē)代表移動(dòng)終端,其上攜帶了環(huán)境檢測(cè)傳感器,通過(guò)無(wú)線通信網(wǎng)絡(luò)和上位PC連接通信。
圖1 設(shè)計(jì)結(jié)構(gòu)框圖
設(shè)計(jì)的終端具有半自主、半受控的特性,既可以在未知環(huán)境中實(shí)現(xiàn)一定的避障行駛功能,又能夠在接受外部遙控的情況下行駛[4],單個(gè)終端設(shè)計(jì)框圖如圖2所示。終端攜帶運(yùn)動(dòng)檢測(cè)傳感器檢測(cè)自身運(yùn)動(dòng)狀態(tài);攜帶路況檢測(cè)傳感器感知路況;攜帶環(huán)境檢測(cè)傳感器感知環(huán)境。根據(jù)設(shè)定的終端運(yùn)行規(guī)則以及檢測(cè)到的終端自身運(yùn)行狀態(tài)和路況信息,由微控制器處理并輸出控制信號(hào),調(diào)整終端的運(yùn)動(dòng)模式。環(huán)境檢測(cè)傳感器感知的環(huán)境信息,上傳到微控制器,由微控制器進(jìn)行數(shù)據(jù)處理,并通過(guò)無(wú)線通信層將數(shù)據(jù)發(fā)送給上位PC。當(dāng)需要遠(yuǎn)程遙控終端運(yùn)動(dòng)狀態(tài)時(shí),上位PC通過(guò)無(wú)線網(wǎng)絡(luò)將命令信息發(fā)送到終端,由微控制器從終端的無(wú)線通信層獲取命令。終端根據(jù)微控制器接到的上位機(jī)命令信息,調(diào)整終端的運(yùn)作。
圖2 終端設(shè)計(jì)框圖
2系統(tǒng)終端設(shè)計(jì)
根據(jù)圖1和圖2,本系統(tǒng)具體設(shè)計(jì)中采用四輪驅(qū)動(dòng)車(chē)底盤(pán)作為移動(dòng)終端平臺(tái),其他部件都在此平臺(tái)上搭建。全車(chē)采用7.2 V鋰電池供電,底盤(pán)車(chē)是四輪驅(qū)動(dòng)。使用水平安裝的陀螺儀傳感器,檢測(cè)移動(dòng)終端轉(zhuǎn)彎的轉(zhuǎn)向角,使用光柵傳感器檢測(cè)移動(dòng)終端的行駛速度(通過(guò)對(duì)速度數(shù)值的累加得到移動(dòng)終端的行駛距離),陀螺儀和光柵傳感器作為自身狀態(tài)傳感器。采用超聲波距離傳感器作為路況檢測(cè)傳感器,檢測(cè)未知環(huán)境中的障礙物信息。終端根據(jù)障礙信息,按照一定的規(guī)則合理避障。此外,設(shè)計(jì)中采用集成的溫、濕度傳感器和空氣質(zhì)量傳感器感知環(huán)境信息。
2.1.1終端微控制器
終端控制器選擇ST公司Cortex-M3系列的微處理器STM32F103C8T6作為其主控制器,負(fù)責(zé)終端的傳感器數(shù)據(jù)采集、處理。STM32F103xx具有高性能的ARM Cortex-M3 32位的RISC內(nèi)核,工作頻率達(dá)到72 MHz,內(nèi)置高速存儲(chǔ)器(高達(dá)128 kB的閃存和20 kB的SRAM),具有豐富的增強(qiáng)I/O端口和連接到兩條APB總線的外設(shè)。其包含了2個(gè)12位的ADC、3個(gè)通用16位定時(shí)器和1個(gè)PWM定時(shí)器,同時(shí)具有標(biāo)準(zhǔn)和先進(jìn)的通信接口:I2C、SPI、USART、USB和CAN總線等。
2.1.2終端電機(jī)驅(qū)動(dòng)
驅(qū)動(dòng)模塊使用L298N雙全橋驅(qū)動(dòng)模塊,1個(gè)模塊可以驅(qū)動(dòng)2個(gè)電機(jī)。通過(guò)控制器輸出不同占空比的PWM波來(lái)控制驅(qū)動(dòng)模塊的通斷,從而控制電機(jī)轉(zhuǎn)速;雙向?qū)?qū)動(dòng)模塊實(shí)現(xiàn)電機(jī)正反轉(zhuǎn)。使用2個(gè)L298N模塊即可驅(qū)動(dòng)底盤(pán)車(chē)4個(gè)電機(jī),且每個(gè)電機(jī)的工作狀態(tài)都相互獨(dú)立。調(diào)節(jié)不同輪子的轉(zhuǎn)向和轉(zhuǎn)速,可以實(shí)現(xiàn)車(chē)輛快速加減速、原地任意角度轉(zhuǎn)向。
2.1.3環(huán)境感知傳感器
終端攜帶溫、濕度和空氣質(zhì)量?jī)煞N傳感器,用于感知環(huán)境。溫、濕度檢測(cè)使用DHT11型傳感器,溫度量程為0~50 ℃,濕度量程為20~95%RH,輸出數(shù)字量。通過(guò)軟件的編程設(shè)置,讀出傳感器輸出的溫、濕度數(shù)據(jù),在微控制器上對(duì)數(shù)據(jù)進(jìn)行一定的換算、修正,即得環(huán)境真實(shí)溫、濕度數(shù)據(jù)。
空氣質(zhì)量傳感器是一種半導(dǎo)體氣體傳感器,能夠感知空氣中的多種有毒和易燃?xì)怏w,然后將檢測(cè)出的氣體轉(zhuǎn)換為電阻值的變化。通過(guò)A/D采樣該電阻上的壓降,推算空氣質(zhì)量的等級(jí),然后按等級(jí)劃分。
2.1.4避障檢測(cè)
超聲波傳感器是一種頻率高、方向性好的定向距離檢測(cè)傳感器,可用于移動(dòng)終端的避障檢測(cè)。設(shè)計(jì)使用中,首先測(cè)出超聲波從發(fā)射到遇到障礙物返回所經(jīng)歷的時(shí)間,再乘以空氣中聲音傳播的速度就得到二倍的聲源與障礙物之間的距離。采用上下兩層超聲波傳感器,以檢測(cè)不同高度的障礙物,減少檢測(cè)盲區(qū);將超聲波傳感器安裝在舵機(jī)上。隨著舵機(jī)在0~80°的空間里轉(zhuǎn)動(dòng)時(shí)帶動(dòng)超聲波傳感器檢測(cè)正前方左右各90°內(nèi)的障礙物信息,并保存數(shù)據(jù)等待處理[56]。
根據(jù)舵機(jī)轉(zhuǎn)向不同角度的超聲波傳感器檢測(cè)的距離值,就可以判斷在移動(dòng)終端的不同方位上障礙物情況,并據(jù)此分析判斷下一步的移動(dòng)方向。在超聲波傳感器轉(zhuǎn)動(dòng)角度范圍內(nèi)劃出5個(gè)方向,并且賦予每個(gè)方向不同的優(yōu)先級(jí)。移動(dòng)終端在每次檢測(cè)完障礙物之后,按照優(yōu)先級(jí)選出無(wú)障礙方向作為下一步運(yùn)行方向。
終端軟件具體負(fù)責(zé)整個(gè)終端的運(yùn)動(dòng)控制、通信控制、驅(qū)動(dòng)傳感器、采集數(shù)據(jù)等工作。下位機(jī)軟件使用嵌入式C語(yǔ)言在Keil編譯環(huán)境中編寫(xiě),軟件功能框圖如圖3所示。
圖3 終端軟件框圖
本系統(tǒng)的終端不僅需要完成終端的移動(dòng)控制、避障檢測(cè)、環(huán)境感知、無(wú)線通信、數(shù)據(jù)處理等任務(wù),并且要求具有一定的實(shí)時(shí)性,一般的單線程微控制器很難滿足上述要求。所以需要移植μC/OS-II嵌入式操作系統(tǒng),實(shí)現(xiàn)一定的任務(wù)調(diào)度與分配工作。
μC/OS-II是一種可移植的、可裁剪的、搶占式的實(shí)時(shí)多任務(wù)操作系統(tǒng)內(nèi)核,是專(zhuān)門(mén)為計(jì)算機(jī)的嵌入式應(yīng)用設(shè)計(jì)的,具有執(zhí)行效率高、占用空間小、實(shí)時(shí)性能優(yōu)良和擴(kuò)展性強(qiáng)等特點(diǎn)。μC/OS-II基于任務(wù)優(yōu)先級(jí)調(diào)度提供最基本的系統(tǒng)服務(wù),如任務(wù)管理、時(shí)間管理、通信管理、內(nèi)存管理、中斷管理等。
#define jiance_task_prio9
#define jiance_stack_size 64
OS_STK jaince_task_stack[jiance_stack_size];
voidjiance_task(void *pdata);
上述代碼為在μC/OS-II操作中系統(tǒng)創(chuàng)建某個(gè)具體優(yōu)先級(jí)任務(wù)的代碼。根據(jù)功能需求,按照上述代碼在μC/OS-II中建立多個(gè)任務(wù),每個(gè)任務(wù)負(fù)責(zé)不同的功能。在μC/OS-II內(nèi)核的調(diào)度下,任務(wù)之間按照時(shí)間片獲得CPU的控制權(quán)。這樣不但可以保證各個(gè)任務(wù)具有一定的實(shí)時(shí)性,并且具有類(lèi)似多任務(wù)并行工作的效果,充分利用CPU。
3網(wǎng)絡(luò)設(shè)計(jì)
本系統(tǒng)中的網(wǎng)絡(luò)不僅承擔(dān)傳感數(shù)據(jù)的收發(fā),還要充當(dāng)移動(dòng)終端的命令通信系統(tǒng)。鑒于ZigBee技術(shù)在無(wú)線傳感網(wǎng)絡(luò)中已經(jīng)有大量成熟的應(yīng)用實(shí)現(xiàn),故本系統(tǒng)采用ZigBee通信模塊構(gòu)建無(wú)線通信局域網(wǎng)。
ZigBee通信模塊基于802.15.4通信協(xié)議,采用2.4 GHz免費(fèi)頻段,實(shí)現(xiàn)低功耗、大量節(jié)點(diǎn)的無(wú)線自組織網(wǎng)絡(luò),通過(guò)多跳方式傳遞數(shù)據(jù)。設(shè)計(jì)中采用TI公司開(kāi)發(fā)的CC2530 ZigBee模塊,并集成z-stack協(xié)議棧。為提升通信模塊的傳輸距離(≥300 m)和穿透能力,添加CC2591功放模塊,可以基本滿足一定區(qū)域有限范圍內(nèi)的通信需求。
由于在多終端運(yùn)動(dòng)過(guò)程中,網(wǎng)絡(luò)節(jié)點(diǎn)的位置一直在變化,所以將網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)成Mesh結(jié)構(gòu),這樣可以減少由于終端移動(dòng)產(chǎn)生的通信不穩(wěn)定。Mesh網(wǎng)絡(luò)結(jié)構(gòu)中各個(gè)節(jié)點(diǎn)的地位是平等的,每個(gè)節(jié)點(diǎn)都可以與一個(gè)或者多個(gè)對(duì)等節(jié)點(diǎn)進(jìn)行直接通信,通過(guò)多跳路由的方式最終到達(dá)指定目的節(jié)點(diǎn),其拓?fù)浣Y(jié)構(gòu)如圖4所示。設(shè)計(jì)中將全功能模塊協(xié)調(diào)器作為網(wǎng)絡(luò)中普通的節(jié)點(diǎn),但是其負(fù)責(zé)網(wǎng)絡(luò)的構(gòu)建與維護(hù)。協(xié)調(diào)器作為上位機(jī)PC的一部分,設(shè)置在監(jiān)控PC機(jī)旁,不移動(dòng),隨時(shí)將獲取的數(shù)據(jù)發(fā)送給PC機(jī)。
圖4 Mesh網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
將移動(dòng)終端使用的ZigBee模塊設(shè)計(jì)為全功能模塊路由器,在z-stack協(xié)議棧的支持下實(shí)現(xiàn)多跳路由。終端主要實(shí)現(xiàn)和監(jiān)控中心之間的通信,其使用的ZigBee模塊主要是和充當(dāng)協(xié)調(diào)器的ZigBee模塊之間數(shù)據(jù)互發(fā)。在終端移動(dòng)過(guò)程中,終端使用的ZigBee模塊發(fā)送的數(shù)據(jù)可以通過(guò)其他終端的ZigBee多跳路由傳至協(xié)調(diào)器。網(wǎng)絡(luò)中通信的數(shù)據(jù)主要包括:終端上傳的自身編號(hào)、自身移動(dòng)角度和移動(dòng)速度,以及采集到的溫濕度數(shù)據(jù)等和協(xié)調(diào)器下傳的終端控制命令等,數(shù)據(jù)按照一定的數(shù)據(jù)格式傳輸。
終端ZigBee模塊通過(guò)串口引腳與終端的STM32控制器連接通信,STM32控制器將需要上傳的數(shù)據(jù)通過(guò)串口傳給ZigBee模塊,ZigBee模塊將數(shù)據(jù)發(fā)送到協(xié)調(diào)器。協(xié)調(diào)器下發(fā)的控制命令先發(fā)送到終端ZigBee模塊,再由ZigBee通過(guò)串口接口傳送給STM32控制器。
協(xié)調(diào)器負(fù)責(zé)整個(gè)無(wú)線網(wǎng)絡(luò)的建立與維護(hù),終端節(jié)點(diǎn)加入網(wǎng)絡(luò)后,協(xié)調(diào)器會(huì)為各個(gè)節(jié)點(diǎn)分配網(wǎng)絡(luò)地址。各終端將自身網(wǎng)絡(luò)地址發(fā)送給協(xié)調(diào)器后,協(xié)調(diào)器就知道具體終端節(jié)點(diǎn)的地址,就可以直接向各個(gè)地址發(fā)送數(shù)據(jù)了。協(xié)調(diào)器的地址固定為0x0000,這樣移動(dòng)終端就可以直接向協(xié)調(diào)器地址發(fā)送數(shù)據(jù)。協(xié)調(diào)器通過(guò)串口與PC機(jī)相連,在PC機(jī)上開(kāi)發(fā)上位機(jī)軟件。軟件通過(guò)讀取串口來(lái)獲得協(xié)調(diào)器傳送上來(lái)的數(shù)據(jù),也通過(guò)串口將數(shù)據(jù)傳送給協(xié)調(diào)器,發(fā)送給各個(gè)移動(dòng)終端。
4移動(dòng)終端控制規(guī)則
終端運(yùn)行規(guī)則如圖5所示。各個(gè)移動(dòng)終端獨(dú)立運(yùn)行,以間隔固定距離的方式,向著目標(biāo)點(diǎn)直線行駛。本次行駛完,短暫停車(chē),期間環(huán)境檢測(cè)傳感器感知本坐標(biāo)點(diǎn)環(huán)境信息,并將環(huán)境信息數(shù)據(jù)和坐標(biāo)點(diǎn)數(shù)據(jù)通過(guò)無(wú)線網(wǎng)絡(luò)上傳至協(xié)調(diào)器。協(xié)調(diào)器將數(shù)據(jù)上傳至PC上位機(jī),上位機(jī)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)、處理并顯示[7-9]。
圖5 移動(dòng)終端運(yùn)行流程圖
暫停期間超聲波感知在下一步運(yùn)行的范圍內(nèi),各方向上是否存在障礙物,并根據(jù)方向優(yōu)先級(jí)選擇一個(gè)無(wú)障礙物的方向作為下一步的方向。按照固定距離計(jì)算目標(biāo)點(diǎn)坐標(biāo),將坐標(biāo)數(shù)據(jù)和所有可行的無(wú)障礙物方向數(shù)據(jù)發(fā)送給上位PC,詢問(wèn)該坐標(biāo)是否已經(jīng)在搜索過(guò)的區(qū)域內(nèi)。如果已被搜索則換另一個(gè)方向,繼續(xù)判斷,直到找到合適的方向,繼續(xù)前進(jìn)。前進(jìn)過(guò)程中,微控制器根據(jù)速度和角度傳感器反饋的實(shí)時(shí)數(shù)據(jù),閉環(huán)控制移動(dòng)終端運(yùn)動(dòng)[7]。
上位PC搜集并存儲(chǔ)了所有終端在移動(dòng)過(guò)程中反饋的坐標(biāo)點(diǎn)和各點(diǎn)的障礙物信息。當(dāng)有新的終端返回其下一個(gè)目標(biāo)點(diǎn)的坐標(biāo)時(shí),上位PC通過(guò)計(jì)算該點(diǎn)與以往走過(guò)的所有點(diǎn)的距離是否小于終端每次設(shè)定的固定距離,判斷該目標(biāo)點(diǎn)是否已被搜索過(guò)。當(dāng)終端各個(gè)方向上都已經(jīng)被搜索過(guò)或者存在障礙物時(shí),向上位PC請(qǐng)求一個(gè)新的坐標(biāo)點(diǎn)。在這種情況下,上位PC根據(jù)該終端上傳的目標(biāo)位置,依次判斷出該終端之前走過(guò)的坐標(biāo)點(diǎn)的可運(yùn)行方向上是否具有無(wú)障礙且沒(méi)有被自己和其他終端搜索過(guò)的未知坐標(biāo)。如有,將坐標(biāo)信息發(fā)送給該終端,使其徑直運(yùn)動(dòng)到該坐標(biāo)點(diǎn),并按照上述規(guī)則繼續(xù)運(yùn)行。終端一旦遇到突發(fā)狀況或者進(jìn)入死胡同無(wú)法擺脫,則可通過(guò)上位機(jī)判斷,并遙控其運(yùn)行擺脫。
移動(dòng)終端坐標(biāo)點(diǎn)計(jì)算示意圖如圖6所示。圖6中,空心、黑色、灰色三種圓圈分別代表三個(gè)不同的移動(dòng)終端。出發(fā)前,靜止?fàn)顟B(tài)下,以其中一個(gè)主終端(空心圓圈)為原點(diǎn),構(gòu)建垂直的虛擬平面坐標(biāo)系并固定,則主終端的初始坐標(biāo)為(0,0)。然后根據(jù)其余兩終端相距主終端的距離和角度,計(jì)算出兩個(gè)終端在該坐標(biāo)系中的初始坐標(biāo)位置。如黑色終端的初始坐標(biāo)(x3,y3)可由主終端的初始坐標(biāo)(0,0)、距離L2和方向角φ2計(jì)算得出。
圖6 移動(dòng)終端坐標(biāo)點(diǎn)計(jì)算示意圖
終端開(kāi)始移動(dòng)以后,每個(gè)時(shí)刻就以該終端上一個(gè)時(shí)刻的坐標(biāo)位置,配合本次運(yùn)行的角度和距離,計(jì)算出新的位置坐標(biāo)。如黑色終端新時(shí)刻的位置坐標(biāo)(x3′,y3′)可由上一時(shí)刻坐標(biāo)(x3,y3)、行駛距離L3和形式方向角φ3計(jì)算得出。所以只要確定出發(fā)前靜止?fàn)顟B(tài)的坐標(biāo),然后各終端根據(jù)下一個(gè)可行方向的角度和設(shè)定好的間斷距離,即可計(jì)算出下一個(gè)目標(biāo)點(diǎn),并發(fā)送給上位PC。
從終端開(kāi)始工作算起,PC存儲(chǔ)了各個(gè)終端、各個(gè)時(shí)刻的坐標(biāo)。每次終端目標(biāo)點(diǎn)位置更新,通過(guò)判斷與其他已被檢測(cè)過(guò)的坐標(biāo)點(diǎn)的距離是否小于設(shè)定的檢測(cè)密度所要求的距離,來(lái)確定新的目標(biāo)點(diǎn)是否已經(jīng)被檢測(cè)過(guò)而無(wú)需再檢測(cè)。
5系統(tǒng)結(jié)果及運(yùn)行分析
在PC機(jī)上開(kāi)發(fā)上位機(jī)軟件,一方面負(fù)責(zé)遙控移動(dòng)終端,另一方面負(fù)責(zé)移動(dòng)終端發(fā)送過(guò)來(lái)的數(shù)據(jù)存儲(chǔ)、處理和顯示。將PC機(jī)存儲(chǔ)的坐標(biāo)數(shù)據(jù)和相應(yīng)坐標(biāo)點(diǎn)的溫、濕度和空氣質(zhì)量數(shù)據(jù)結(jié)合起來(lái)作圖顯示,便可形成環(huán)境信息分布圖。本系統(tǒng)共設(shè)計(jì)采用三個(gè)移動(dòng)終端,依次編號(hào),上位機(jī)軟件根據(jù)終端編號(hào)來(lái)區(qū)分不同終端。
為了對(duì)本文中設(shè)計(jì)的多終端環(huán)境監(jiān)測(cè)系統(tǒng)及算法性能進(jìn)行分析,本節(jié)利用Matlab軟件對(duì)監(jiān)測(cè)系統(tǒng)進(jìn)行仿真。仿真中,通過(guò)軟件模擬一個(gè)虛擬的待搜索空間和多個(gè)障礙物,并模擬三個(gè)移動(dòng)終端按照第4節(jié)設(shè)定的運(yùn)動(dòng)規(guī)則,在該虛擬空間內(nèi)同時(shí)運(yùn)動(dòng),統(tǒng)計(jì)并記錄運(yùn)行一定時(shí)間之后的結(jié)果。運(yùn)行結(jié)果表明多個(gè)移動(dòng)終端可以有效地避開(kāi)障礙物,并且盡量不重復(fù)地搜索整個(gè)虛擬空間,三個(gè)終端都分別承擔(dān)了較多的工作量,各司其職。
為了檢驗(yàn)本系統(tǒng)運(yùn)作的性能及可靠性,實(shí)際運(yùn)行本系統(tǒng)。在一個(gè)放置了障礙物的未知環(huán)境中,實(shí)際運(yùn)行設(shè)計(jì)的系統(tǒng)。將運(yùn)行的結(jié)果在上位PC上作圖顯示,在圖上使用不同顏色的圓圈代表不同機(jī)器人在各時(shí)刻的檢測(cè)點(diǎn)位置,每個(gè)圓圈中都可以顯示該位置點(diǎn)的溫、濕度和空氣質(zhì)量數(shù)據(jù),形成一幅完整的針對(duì)該被測(cè)環(huán)境的信息分布圖。由實(shí)際運(yùn)行的效果圖可知,系統(tǒng)運(yùn)行基本達(dá)到了設(shè)計(jì)要求,實(shí)現(xiàn)了對(duì)于未知環(huán)境的信息分布探測(cè),并且檢測(cè)點(diǎn)重復(fù)少,檢測(cè)覆蓋面積大。
6結(jié)束語(yǔ)
本文為了解決掌握未知環(huán)境溫、濕度和空氣質(zhì)量的分布狀況的應(yīng)用需求,設(shè)計(jì)了基于無(wú)線傳感網(wǎng)絡(luò)的移動(dòng)多終端監(jiān)測(cè)系統(tǒng)。通過(guò)仿真分析與系統(tǒng)實(shí)際運(yùn)行效果的對(duì)比說(shuō)明,系統(tǒng)基本達(dá)到了設(shè)計(jì)目的,可以穩(wěn)定工作,客觀反映環(huán)境信息狀況。本文設(shè)計(jì)的監(jiān)測(cè)系統(tǒng)可以通過(guò)改變終端攜帶的傳感器類(lèi)型、終端數(shù)量等,應(yīng)用于不同的場(chǎng)合:如攜帶溫、濕度傳感器,可用于花房中不同房室溫濕度的檢測(cè);攜帶氧氣、CO、瓦斯等氣體濃度檢測(cè)傳感器可用于諸如地窖含氧量分布、礦井危險(xiǎn)氣體濃度分布等的快速檢測(cè)等[4-5]。
參考文獻(xiàn)
[1] 高杉,葉強(qiáng).基于ZigBee無(wú)線傳感器網(wǎng)絡(luò)的氣體濃度監(jiān)控系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2009,32(23):118-120.
[2] 許建新.工業(yè)無(wú)線網(wǎng)絡(luò)實(shí)時(shí)通信的研究與開(kāi)發(fā)[D].杭州:浙江大學(xué),2008.
[3] 王鋼,李鵬.WSN環(huán)境監(jiān)測(cè)系統(tǒng)節(jié)點(diǎn)功耗與能量預(yù)警研究[J].計(jì)算機(jī)與現(xiàn)代化,2010(5):125-126.
[4] 邢濤.工業(yè)現(xiàn)場(chǎng)有毒氣氛環(huán)境監(jiān)測(cè)系統(tǒng)的研究[D].哈爾濱:哈爾濱理工大學(xué),2009.
[5] 趙德月.基于MSP430F2012單片機(jī)的煙霧傳感器設(shè)計(jì)[J].工礦自動(dòng)化,2011(8):110-112.
[6] 蘇麗穎,曹志強(qiáng),王碩,等.多機(jī)器人對(duì)未知環(huán)境進(jìn)行實(shí)時(shí)在線探測(cè)的一種方法[J].高技術(shù)通信,2003,13(11):56-60.
[7] Ahmet Y,Gokhan K,Osman P,et al.A dynamic path planning approach for multi-robot sensor-based coverage considering energy constraints[C]//IEEE International Conference on Intelligent Robots and Systems,2009:5930-5935.
[8] Sebastian T,Wolfram B.A real-time algorithm for mobile robot mapping with applications to multi-robot and 3D mapping[C]//IEEE International Conference on Robotic & Automation,2000:321-328.
[9] 蘇相國(guó),樊繼壯,臧希喆,等.改進(jìn)的多機(jī)器人協(xié)作探索策略研究[J].哈爾濱工程大學(xué)學(xué)報(bào),2010,31(3):371-376.
[10]辛欣,游雄,衛(wèi)偉,等.基于便攜式移動(dòng)終端的虛擬地理環(huán)境協(xié)同感知問(wèn)題研究[J].測(cè)繪工程,2010,19(5):24-28.
中圖分類(lèi)號(hào):TP273
文獻(xiàn)標(biāo)志碼:A
DOI:10.16086/j.cnki.issn1000-0380.201503011
修改稿收到日期:2014-09-16。
第一作者魏阿勇(1990-),男,現(xiàn)為華東理工大學(xué)控制科學(xué)與工程專(zhuān)業(yè)在讀碩士研究生;主要從事嵌入式系統(tǒng)和物聯(lián)網(wǎng)技術(shù)的研究。