摘要:針對大型水文監(jiān)測船造價高、靈活性差以及水文監(jiān)測環(huán)境惡劣、人工采樣數(shù)據(jù)不準確等問題,在深入分析了水文監(jiān)測的實際需求和研究現(xiàn)狀,并總結了大量文獻后,提出了一款基于遙控和導航“雙模式”的小型水文監(jiān)測船設計方案。該船利用嵌入式技術、無線通信技術、數(shù)據(jù)采集與傳輸技術、云服務器搭建與數(shù)據(jù)庫連接技術和自主導航避障技術,可實現(xiàn)船模的遙控、監(jiān)測、預警和導航功能。其具有制造成本低、操控方便、實用性強等特點,特別適合小規(guī)模、復雜水域的監(jiān)測,具有良好的推廣和應用前景。
關鍵詞:嵌入式系統(tǒng);STM32水文監(jiān)測;運動控制;自主導航避障;智能技術
0 引言
本文旨在設計一款實用性強的基于遙控和導航“雙模式”的小型水文監(jiān)測船,以完成如下任務:操控人員可在岸邊遙控船模進入目標監(jiān)測區(qū)域,抵達后制動發(fā)動機,開啟監(jiān)測功能,監(jiān)測人員可在PC端網(wǎng)頁上實時獲取水文監(jiān)測數(shù)據(jù),監(jiān)測完畢后由操控人員遙控船模返航;操控人員也可在遙控器上切換至導航模式,監(jiān)測人員可以在PC端網(wǎng)頁上為船模選擇目標區(qū)域的經(jīng)緯度信息,讓船模自主導航抵達。在上述兩種模式下,船模運動速度均分為高速檔和低速檔,可在遙控器上切換;均帶有預警子系統(tǒng),一旦采集到船模姿態(tài)有翻船風險,就會啟動報警,操控人員可以操縱遙控器或由監(jiān)測人員重新選擇目標區(qū)域調整船模航行路線或者返航。
1 系統(tǒng)設計
1.1 ? ?MCU選型
在本設計中,主控板和外設連接的模塊較多,因此本設計采用ST(意法半導體,世界最大的半導體公司之一)公司推出的STM32F103ZET6作為本次設計的控制器芯片。該芯片具有成本低、功耗低、接口豐富、資源充足、實時性好、設計靈活等特點。
1.2 ? ?遙控子系統(tǒng)
遙控終端負責給船模檔速切換、模式切換、航行方向和傳感器監(jiān)測發(fā)送控制指令,也可進行人機交互。本文選用的是采用低電壓、高效率,應用廣泛的2.4G無線通信技術和PPM(脈沖相位調制)信號的富斯i6遙控器。在富斯i6遙控器與接收機的信號傳輸過程中,PPM信號把多路PWM信號調制到一路通道上,發(fā)送到接收機后再由接收機還原成多路PWM從各個通道輸出。
1.3 ? ?動力子系統(tǒng)
水文監(jiān)測船模的動力子系統(tǒng)由電源模塊、電機驅動模塊和電機模塊組成。兩個速度分別可調的電機帶動船尾的雙螺旋槳旋轉,進而靠產(chǎn)生的水的反作用力推動船模航行,故電機的選型尤為重要,其直接影響到船模行駛的穩(wěn)定性。本文選用功率大且重量輕的390直流電機,選用L298N電機驅動模塊,電源可以用標準航模鋰電池供電。
在直流電機的速度控制中,PWM(脈寬調制)是一種廣泛使用且可靠的方法。實際在Keil軟件上編程時,通過控制器調節(jié)定時器TIM輸出通道的比較值來改變輸出信號的占空比,進而改變模擬信號電壓大小來調節(jié)電機轉速。在本設計的水文監(jiān)測船模中,可以通過調節(jié)兩個電機的轉速差來調整船模的航行方向。
1.4 ? ?導航子系統(tǒng)
1.4.1 ? ?硬件選型
在船模定位方面,本文采用GPS定位技術,選擇適應能力強的ATK-S1216F8-BD GPS/北斗模塊。在確定了目標監(jiān)測區(qū)域和船模的經(jīng)緯度信息后,船模當前航向角的調整需要借助于電子羅盤模塊的信息采集,可選用動態(tài)性能好的AK8975電子羅盤模塊。船模在水面航行的過程中,可能會遇到靜態(tài)或動態(tài)的障礙物??紤]到在復雜環(huán)境的水域上,如果用超聲波測距,外界的風向和溫度可能會影響其測量精度,所以本文采用激光測距方式,選用ATK-VL53L0X激光測距模塊。該模塊具有尺寸小、精度高、測距遠、測速快(每秒可以測量50次)等優(yōu)點,再配合舵機部分(可采用SG90舵機)控制其左右轉動,根據(jù)采集到的障礙物方位信息,應用數(shù)字PID算法調節(jié)兩個電機的轉速,實現(xiàn)避障功能。
1.4.2 ? ?軟件設計思路
PID算法是一種經(jīng)典的控制算法,應用極為廣泛。相應的改進算法主要有基于模糊控制、智能算法等先進技術的參數(shù)整定(比例P、積分I和微分D這3個參數(shù))的改進以及采用積分分離、前饋補償?shù)确椒▽刂平Y構的改進。
本文設計的水文監(jiān)測船在導航模式下,處理器接收到GPS模塊、電子羅盤模塊、激光測距模塊和舵機模塊采集的船模和障礙物位置信息后,根據(jù)接收到的目標監(jiān)測區(qū)域的經(jīng)緯度信息,將偏差角作為輸入,應用改進的數(shù)字PID算法編程實現(xiàn)對兩個電機轉速的控制作為輸出,以此來實現(xiàn)船模在水面上的正常行駛和避障功能。
水文監(jiān)測船導航模式的軟件設計流程如圖1所示。
1.5 ? ?監(jiān)測子系統(tǒng)
1.5.1 ? ?傳感器選型
關于水文水質的檢測,本文在此僅考慮水的溫度、pH和濁度這3個方面(實際應用中可以根據(jù)用戶需求選用多種類型的傳感器來檢測更多的水文信息)。相應的傳感器選型分別為DS18B20數(shù)字溫度傳感器、E-201-C復合電極和TS-300B濁度傳感器,它們具有共同的優(yōu)點:(1)價格低,體積小;(2)響應快,精度高;(3)接線方便,維護簡單[1]。
1.5.2 ? ?數(shù)據(jù)傳輸模塊
在船模獲得監(jiān)測數(shù)據(jù)后,我們需要得到及時的反饋,將監(jiān)測數(shù)據(jù)上傳到云服務器供監(jiān)測人員在PC端網(wǎng)頁上實時獲取;在導航模式下,同樣需要船模接收來自服務器的數(shù)據(jù)(目標監(jiān)測區(qū)域位置信息),并將其轉發(fā)至串口設備。為此,我們可以選擇支持4G高速接入的WH-LTE-7S4 V2通信模塊,該模塊支持網(wǎng)絡透傳、HTTPD Client和UDC 3種工作模式,具有高速率、低延時的特點。
1.5.3 ? ?數(shù)據(jù)庫的設計和連接
在本次設計中可以使用MySQL數(shù)據(jù)庫,MySQL是一種關系型數(shù)據(jù)庫管理系統(tǒng),體積小、速度快而且源碼開放。
PHP提供了可與MySQL連接的函數(shù)庫mysqli,在本設計中可以使用面向對象或過程的語法來創(chuàng)建與主機localhost的連接,通過這種方法可以直接調用這個對象來訪問數(shù)據(jù)庫[2]。
本文設計的水文監(jiān)測船需要將船模系統(tǒng)探測到的數(shù)據(jù)實時發(fā)送到服務器上供監(jiān)測人員在PC端網(wǎng)頁上實時獲取,所以需要往MySQL數(shù)據(jù)庫中插入新的數(shù)據(jù),然后對數(shù)據(jù)庫進行查詢。在這里可以使用mysqli_query()函數(shù),該函數(shù)可查詢user這個表里的所有數(shù)據(jù)。
1.6 ? ?預警子系統(tǒng)
本文選用通過IIC或SPI接口通信的MPU6050模塊提供的俯仰角和橫滾角,結合船模位置和當前航向角信息來檢測水浪波動情況的水文信息,同時也是在檢測船模的姿態(tài),為監(jiān)測船的航行安全提供保障,因為在復雜的水域環(huán)境下,如果水面波動很大,船模隨時會有翻船的危險,所以當MPU6050檢測到俯仰角或橫滾角過大時,應該啟動報警,配合板載的蜂鳴器鳴叫和LED閃爍,并把警告信息顯示在PC端頁面上,提醒操控人員和監(jiān)測人員及時調整船體運行路線或返航檢查。
2 系統(tǒng)移植
UCOSⅢ是一個可裁剪、可固化和可剝奪的多任務系統(tǒng)。由于本文軟件系統(tǒng)的設計中涉及的模塊數(shù)量比較多,考慮到多任務執(zhí)行效率的問題,故可以對其進行UCOSⅢ系統(tǒng)移植。所謂系統(tǒng)移植,就是指在處理器上可以讓UCOSⅢ運行。為了移植起來更加方便,UCOSⅢ的大部分代碼都使用C語言編寫,重點需要用C語言和匯編語言來編寫一些與處理器連接的代碼。
3 智能導航
目前,導航智能普遍仍停留在計算智能與感知智能上,即通常利用現(xiàn)有定位系統(tǒng)或已有三維地圖數(shù)據(jù),系統(tǒng)必須基于這些信息通過一定算法計算出優(yōu)化后的路徑。但如果水文監(jiān)測船行駛在缺乏上述信號的復雜野外環(huán)境以及對抗性強的環(huán)境下,現(xiàn)有導航系統(tǒng)就難以發(fā)揮作用,因此迫切需要研發(fā)智能導航系統(tǒng)。智能導航控制系統(tǒng)結構如圖2所示。
路徑規(guī)劃算法研究是船模導航系統(tǒng)研發(fā)不可或缺的一部分。目前較為常用的路徑規(guī)劃算法,如Dijkstra算法、蟻群算法、遺傳算法、人工勢場法等,由于它們或多或少存在一些不足,尤其是一些智能算法目前的理論研究并不完善,所以實際應用的方法大多數(shù)是基于上述基本算法的改進或者多種基本算法的融合。
在智能導航系統(tǒng)設計中,可采用智能避障專家系統(tǒng),即通過水文監(jiān)測船航行經(jīng)驗和規(guī)則的搜集、整理以及概念化和形式化處理,再輔以模糊技術、神經(jīng)網(wǎng)絡技術等專家系統(tǒng)技術,對航行中遇到的各種情況進行分析判斷,給出合理的避障方案,保證航行安全。
機器智能通常分為3類,即計算智能、感知智能與認知智能。認知智能是機器與人類智能最為接近的高級智能。在定位信號缺失的情況下,認知智能可以使水文監(jiān)測船的智能導航系統(tǒng)像人腦一樣進行理解與思考,即通過快速識別周圍水域環(huán)境自動規(guī)劃最優(yōu)路徑,其是未來智能導航的發(fā)展趨勢。但目前智能導航在認知智能方面普遍存在瓶頸,認知智能技術一旦得到突破,將為智能導航領域帶來重大變革。谷歌DeepMind團隊參與提出的人工智能空間自導航能力即是認知智能的一種突破,將其應用于水文監(jiān)測船的智能導航系統(tǒng),將有效改善導航系統(tǒng)中的智能程度[3]。
4 結語
本文針對如今的水文監(jiān)測形勢,提出了一款可以適用于復雜水域環(huán)境監(jiān)測的“雙模式”小型水文監(jiān)測船設計方案,對船模整體的遙控子系統(tǒng)、動力子系統(tǒng)、導航子系統(tǒng)、監(jiān)測子系統(tǒng)和預警子系統(tǒng)的硬件選型和軟件設計思路進行了總結。本文設計的小型水文監(jiān)測船實用性很強,可大范圍推廣,有著良好的市場前景。相信隨著人工智能理論和應用技術的深入發(fā)展,水文監(jiān)測船的智能導航系統(tǒng)研發(fā)還會取得突破性進展,在實際應用效果上將會有“質”的提升。
[參考文獻]
[1] 李世林.水文監(jiān)測遙控船控制及監(jiān)測系統(tǒng)設計與實現(xiàn)[D].沈陽:沈陽工業(yè)大學,2018.
[2] 肖維明.基于PHP+MySQL的網(wǎng)站開發(fā)[J].物流工程與管理,2009,31(6):90-92.
[3] 劉峰.AI技術在智能導航中的智能化模式研究[J].軟件導刊,2018,17(9):40-42.
收稿日期:2020-05-06
作者簡介:靳曉東(1998—),男,河北人,研究方向:智能科學與技術。