黃艷虎 覃紅強 吳學思 李月 李堂明 黃曉鋒



摘?要:無人船在航行中容易受到外界不確定因素的影響造成撞毀、炸機現(xiàn)象,為了實現(xiàn)無人船更加快速的避障,提出了一種機載超聲波陣列結合卡爾曼濾波算法的方法。首先通過超聲波對障礙物信息進行判斷,其次通過卡爾曼濾波算法進行誤差修正,最后通過PID控制算法做出避障策略。
關鍵詞:無人船;避障;超聲波陣列;卡爾曼濾波;PID控制
中圖分類號:TP273文獻標識碼:A
無人船作業(yè)中路徑規(guī)劃大部分建立在地圖已知情況下,但在實際中受動態(tài)環(huán)境影響,預期的路徑與現(xiàn)場實況不符合[1],而如何動態(tài)獲取復雜環(huán)境下的信息實現(xiàn)快速的避障和再次路徑規(guī)劃成為了無人船執(zhí)行任務的難點。
1?系統(tǒng)原理概述
1.1?無人船簡介
無人船由上位機軟件、超聲波陣列、MCU控制器組成。上位機軟件使無人船與上位機進行交互;超聲波陣列提供障礙物距離信息;MCU控制器協(xié)調無人船各模塊之間的工作。
1.2?超聲波陣列
圖1?超聲波避障模塊
如圖1所示,超聲波陣列由八個45度角間隔排列的超聲波組成,超聲波模塊的感應角度為15度,因此各模塊之間不會形成干擾[2]。
2?邏輯控制與算法實現(xiàn)
2.1?避障邏輯分析
通過超聲波陣列檢測出每個方向的障礙物距離(每個測量值進行一次濾波)。若檢測到左側和前方有障礙物,船頭向右微轉。若檢測到右側有障礙物,船頭向左微轉。
2.2?卡爾曼濾波算法的實現(xiàn)
卡爾曼濾波是一種以最小均方誤差為準則從而處理動態(tài)數據的有效手段[3-4]。超聲波陣列在檢測過程中易受到溫度、聲波的影響,因此需要建立包含溫度、聲波因子的卡爾曼濾波模型。算法流程如圖2所示:
圖2?卡爾曼濾波流程圖
測試數據在濾波之前的方差為0.762476,濾波之后降低到0.048692。
2.3?PID控制及實現(xiàn)
為滿足無人船避障的響應速度、動態(tài)性能指標,采用了PID控制算法[5]。PID控制流程如圖3所示。
圖3?PID控制流程圖
計算出u(k),用stm32產生PWM來控制電機電流大小,進而對無人船進行方向調整和控制。
3?結論
超聲波陣列結合卡爾曼濾波方法對無人船航行中不確定的因素可以靈活的檢測和誤差修正,從而提高了無人船的避障能力。
參考文獻:
[1]孫東平.無人船控制系統(tǒng)設計與實現(xiàn)[D].中國海洋大學,2015.
[2]趙旭峰.基于S3C2410的超聲波測距儀的設計[J].硅谷,2010,22:48+43.
[3]謝建,朱建軍.不等式約束卡爾曼濾波的解算及其統(tǒng)計性質[J].測繪與空間地理信息,2009,02:28-31.
[4]王琦,孫華,李偉華,等.卡爾曼濾波在變形監(jiān)測數據處理中的應用[J].工程地球物理學報,2009.
[5]樊國平.智能PID控制系統(tǒng)的設計與研究[D].浙江工業(yè)大學,2005.
基金項目:國家大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目(面向水面浮游物打撈的自主巡航船設計,項目編號:201910606139);國家大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目(基于VR技術的虛擬駕校平臺設計,項目編號:201910606029);國家大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目(煤礦井下數據系統(tǒng)的研究,項目編號:201910606137)
作者簡介:黃艷虎(1991-),男,碩士,助教,研究方向:導航定位與控制。