國威
近年來,國內(nèi)的經(jīng)濟(jì)水平和生產(chǎn)制造能力迅速提高。隨之而來的廢物排放問題不得不讓人們警惕。對環(huán)境進(jìn)行實(shí)時測量評估是防止環(huán)境污染的關(guān)鍵,也是環(huán)境污染治理的前提,但是國內(nèi)對于環(huán)境監(jiān)測的技術(shù)手段還不完善。目前主要使用地面觀測站和環(huán)境監(jiān)測衛(wèi)星2種方式進(jìn)行環(huán)境監(jiān)測,對于很多特殊情況的環(huán)境監(jiān)測,這2種方式并不能很好地完成測量任務(wù)。地面觀測站是固定式測量,測量范圍有限,環(huán)境監(jiān)測衛(wèi)星也因?yàn)槌杀締栴}很難做到大規(guī)模普及,將四旋翼飛行器用于環(huán)境監(jiān)測可很好地解決這些問題。
基于四旋翼飛行器的環(huán)境監(jiān)測系統(tǒng)旨在解決現(xiàn)有環(huán)境監(jiān)測方法的不足。它可完成對指定地點(diǎn)的環(huán)境參數(shù)測量,并且將測量的參數(shù)通過無線數(shù)據(jù)傳輸模塊發(fā)送至計(jì)算機(jī),顯示在上位機(jī)軟件上,數(shù)據(jù)實(shí)時性更強(qiáng)。另外,在面對突發(fā)的有害物質(zhì)泄漏時,有更強(qiáng)的應(yīng)用性,對于當(dāng)前國內(nèi)的環(huán)境情況,該系統(tǒng)有很大的應(yīng)用前景。
背景分析
氣態(tài)和顆粒狀的污染物是造成空氣惡化的元兇,氣態(tài)污染物包括:部分碳氧化合物、氮氧化合物、硫氧化物以及VOC氣體等。其中,VOC是一類有害氣體的通用名稱,如烷烴、乙炔等。顆粒主要分為2種類型:可吸入顆粒PM10是粒徑小于10μm的細(xì)顆粒,PM2.5是直徑小于2.5μm的細(xì)顆粒,PM2.5的直徑小、質(zhì)量輕,與PM10相比更容易傳播,可對人體健康構(gòu)成嚴(yán)重威脅。環(huán)境中的空氣溫濕度也是氣象觀測中的重要參數(shù),同時為了精確測量置我們還需要對四旋翼飛行器的高度位置和GPS數(shù)據(jù)進(jìn)行測量。
方案設(shè)計(jì)
系統(tǒng)方案分四旋翼飛行器環(huán)境監(jiān)測部分和地面站接收部分。四旋翼飛行器環(huán)境監(jiān)測部分由環(huán)境測量傳感器、高度傳感器、GPS模塊、單片機(jī)、無線通信模塊和地面站遙控器接收機(jī)等組成,各個傳感器、無線通信模塊、GPS模塊依照通信接口協(xié)議與單片機(jī)連接,地面站遙控器接收機(jī)與單片機(jī)輸入輸出捕獲I/O口相連。地面站接收部分由無線通信模塊、串口模塊、計(jì)算機(jī)平臺和上位機(jī)軟件組成,無線通信模塊與串口模塊連接后接入計(jì)算機(jī)平臺,數(shù)據(jù)通過計(jì)算機(jī)端口傳給上位機(jī)軟件。系統(tǒng)結(jié)構(gòu)如圖1所示。
無線串口數(shù)據(jù)的接收
四旋翼飛行器回傳的環(huán)境參數(shù)數(shù)據(jù)經(jīng)由無線接收模塊和CP2102模塊到達(dá)計(jì)算機(jī)串口。C#為程序員提供了簡單極易操作的串口API,用戶只需要設(shè)計(jì)串口編號和通信波特率即可進(jìn)行通信。上位機(jī)軟件需要讀取計(jì)算機(jī)串口數(shù)據(jù)并解析出測量參數(shù)才能進(jìn)行顯示。由于地面站開機(jī)時間可能晚于四旋翼飛行器并且空中無線數(shù)據(jù)可能丟失,會造成地面站接收不到在一次數(shù)據(jù)傳輸中的所有數(shù)據(jù),所以需要進(jìn)行數(shù)據(jù)編碼校驗(yàn),以保證接收到正確數(shù)據(jù)、拋棄丟失數(shù)據(jù)。最好的解決方案就是在四旋翼飛行器的每一次數(shù)據(jù)中加入幀頭、幀尾和奇偶校驗(yàn),這樣可以大大降低數(shù)值讀取出錯概率。本文中用到的通信格式如表1和表2所示。
表格中的數(shù)據(jù)標(biāo)號為一次數(shù)據(jù)的類型,也是一次數(shù)據(jù)中的幀頭,例如溫度數(shù)據(jù)為0x6A、濕度數(shù)據(jù)為0x7A等。數(shù)據(jù)的第2~5幀為數(shù)據(jù)值,數(shù)據(jù)值不一定全部用到,未用的數(shù)據(jù)位為0x00,幀尾數(shù)據(jù)值統(tǒng)一為0x30,用來降低誤碼率。數(shù)值校驗(yàn)位為前6幀數(shù)據(jù)相加除以256的余數(shù),和幀尾作用相同。按照上述方法進(jìn)行通信在實(shí)際工作過程中基本沒有發(fā)現(xiàn)顯示錯碼的情況。在串口數(shù)據(jù)發(fā)送中,由于單片機(jī)每次只能發(fā)送一字節(jié)數(shù)據(jù),即字符型數(shù)據(jù),所以在發(fā)送小數(shù)的時候就會出現(xiàn)問題。本設(shè)計(jì)中由于GPS精度為小數(shù)點(diǎn)后5位所以將經(jīng)緯度的整數(shù)部分作為一幀數(shù)據(jù)、小數(shù)后兩位作為一幀數(shù)據(jù)、小數(shù)第3~4位作為一幀,第5位單獨(dú)作為一幀數(shù)據(jù)發(fā)送。在上位機(jī)軟件中再對小數(shù)進(jìn)行還原顯示。
四旋翼飛行器的姿態(tài)解算
四旋翼飛行器姿態(tài)解算是飛行器進(jìn)行穩(wěn)定飛行的前提,為飛行控制提供當(dāng)前狀態(tài)。目前對于姿態(tài)測量中的坐標(biāo)系旋轉(zhuǎn)問題常使用歐拉法和四元數(shù)法。歐拉法是一種極為便捷的坐標(biāo)系旋轉(zhuǎn)方法,但是測量旋轉(zhuǎn)速度的陀螺儀在進(jìn)行速度測量的時候會出現(xiàn)萬向節(jié)死鎖的問題。經(jīng)過實(shí)驗(yàn)驗(yàn)證使用歐拉法進(jìn)行姿態(tài)角計(jì)算的時候俯仰角和翻滾角會出現(xiàn)10°左右的死角,雖然在四旋翼飛行器的實(shí)際飛行中基本不會出現(xiàn)70°以上的仰角,但是不利于突發(fā)情況的飛行控制。四元數(shù)坐標(biāo)旋轉(zhuǎn)完美地解決了歐拉法萬向節(jié)死鎖的問題,使姿態(tài)測量更加連貫,十分適合應(yīng)用于四旋翼飛行器的姿態(tài)解算。
在各種姿態(tài)測量任務(wù)中主要使用卡爾曼濾波算法和互補(bǔ)濾波算法。由于飛行器的姿態(tài)三軸測量參數(shù)過多,并且卡爾曼濾波器的數(shù)學(xué)原理很難理解,同時在低速運(yùn)動測試中二者數(shù)據(jù)差別并不是很大,所以這里使用簡單易懂的互補(bǔ)濾波算法。
下面將對本設(shè)計(jì)中使用的姿態(tài)解算算法進(jìn)行詳細(xì)的推導(dǎo)解釋。四元數(shù)是一種超復(fù)數(shù),在現(xiàn)代慣性導(dǎo)航系統(tǒng)中常用來表示坐標(biāo)或點(diǎn)的旋轉(zhuǎn),四元數(shù)的格式如下:
建立常量與常微分量的關(guān)系,由于角速度與角度關(guān)系為一階微分,所以這里我們僅使用一階龍格庫塔公式:
四旋翼飛行器的控制
四旋翼飛行器有4個控制目標(biāo):航向角(偏航)、側(cè)傾角(翻滾)、俯仰角和飛行高度。傳統(tǒng)的位置式PID也可以對四旋翼飛行器進(jìn)行姿態(tài)控制,但是對于快速飛行的控制并不是很穩(wěn)定。位置式PID的微分項(xiàng)雖然對突變情況有著很好的控制效果,但也會造成系統(tǒng)的不穩(wěn)定,例如飛行過程中出現(xiàn)抖動等,這對于監(jiān)測惡劣的環(huán)境十分不利。在位置PID的基礎(chǔ)上將,串級PID加入了速度控制,以角度控制為外環(huán)并且作為內(nèi)環(huán)的輸入期望值,以角速度環(huán)為串級PID的內(nèi)環(huán)并且作為PID的輸出值,即為控制電機(jī)的輸出高電平脈寬。以下為位置式PID和串級PID的公式和計(jì)算機(jī)離散化公式。
四旋翼飛行器定位監(jiān)測
在地圖學(xué)中,地球通常被視為一個球體,由地心坐標(biāo)系映射。地心坐標(biāo)系是以地球橢球質(zhì)心為基準(zhǔn)的,軸與第一子午面和赤道相交,軸為地球自轉(zhuǎn)軸,軸由右手坐標(biāo)系決定。在地心坐標(biāo)中使用經(jīng)度、緯度和地面高度來描述地球上的某一位置。國家規(guī)定在國內(nèi)出版的電子地圖必須最低使用GCJ-02加密算法對地圖經(jīng)緯坐標(biāo)進(jìn)行加密,以保護(hù)我國國家領(lǐng)土安。GCJ-02是由國家測繪局研發(fā)的一種地理位置不可逆的非線性加密算法。目前雖然已有對GCJ-02的近似還原算法,但都是有誤差的還原,很多國內(nèi)的電子地圖供應(yīng)商會在GCJ-02的基礎(chǔ)上進(jìn)一步對地圖進(jìn)行加密,如百度地圖的BD-09坐標(biāo)和搜狗地圖的搜狗坐標(biāo)等,供應(yīng)商會提供坐標(biāo)轉(zhuǎn)換接口,但是不會公開算法。
由GPS系統(tǒng)測量的坐標(biāo)參數(shù)由WGS-84坐標(biāo)標(biāo)定。WGS-84的坐標(biāo)系以地球質(zhì)心為原點(diǎn),地極方向作為軸,軸指向國際時間局規(guī)定的主子午線與赤道的交點(diǎn),坐標(biāo)系為右手坐標(biāo)系,從而確定軸。WGS-84是一個專門為GPS定位建立的統(tǒng)一坐標(biāo)系,開發(fā)者將GPS坐標(biāo)在地圖上標(biāo)定時,需要把WGS-84坐標(biāo)轉(zhuǎn)換為使用地圖的坐標(biāo)才可以得到精確的地圖位置。本設(shè)計(jì)中使用的GMap.NET地圖控件直接采用WGS-84坐標(biāo)系,所以不需要進(jìn)行坐標(biāo)轉(zhuǎn)換,可以直接將GPS數(shù)據(jù)應(yīng)用于地圖控件中。
本文以四旋翼飛行器為載體平臺,利用了傳感器技術(shù)進(jìn)行各種環(huán)境參數(shù)的測量,采用了無線通信的方式,傳輸至C#上位機(jī)軟件。通過遠(yuǎn)程遙控四旋翼飛機(jī)飛行來執(zhí)行各個位置的遠(yuǎn)程環(huán)境參數(shù)測量任務(wù)。本文設(shè)計(jì)的環(huán)境監(jiān)測系統(tǒng)改善了傳統(tǒng)環(huán)境監(jiān)測方法不可移動和高成本的缺點(diǎn),十分適合應(yīng)用于突發(fā)環(huán)境污染的即時有效測量,大大減少了監(jiān)測人員的安全問題。