闞亞雄
(鎮(zhèn)江高等??茖W?,F(xiàn)代裝備制造學院,江蘇鎮(zhèn)江212028)
小型無人艇是一種智能小型船舶,可用于海洋電纜鋪設、近海巡邏及海上偵查、救援等領域。具有較強自主控制能力和較低維護制造費用等特點[1]。目前國內相關小型無人艇的研究已初步展開,例如黃茹楠[2]提出了一種基于改進PID神經網絡算法的無人艇垂直面控制算法。文獻[3]中國外相關無人艇設計人員設計更能適應海洋環(huán)境的雙體無人艇,并基于神經網絡和視線規(guī)劃算法設計了避碰系統(tǒng)。以上文獻的研究在小型無人艇運動控制算法和數(shù)學模型的建立過程為本文的研究提供了有益的參考,但是文獻中小型無人艇控制系統(tǒng)的集成度不高,關于小型無人艇控制系統(tǒng)中控制器元件的電路設計和半實物仿真較少涉及。因此,目前需要研究一種基于嵌入式處理器的新型小型無人艇控制系統(tǒng)。
本文以某小型無人艇實物為研究對象,提出一種基于STM32F103T8U6嵌入式處理器和LabVIEW仿真軟件的小型無人艇控制系統(tǒng)的設計方案、數(shù)學模型、軟硬件設計,在運動控制算法和半實物仿真中驗證設計的可行性和可靠性。
圖1所示為小型無人艇硬件結構圖,小型無人艇控制系統(tǒng)由無人艇的運動控制平臺、上位岸基控制系統(tǒng)雙系統(tǒng)組合而成,通過運動控制平臺和岸基控制系統(tǒng)之間的信息傳輸、子母程序調用,獲取無人艇上多傳感器數(shù)據進行故障診斷,最終完成無人艇的集成控制。其中上位岸基控制系統(tǒng)能夠實時監(jiān)控無人艇的航向航速狀態(tài)和艇載設備的狀態(tài),還具備收發(fā)控制指令、多屏顯示采集數(shù)據和無人艇全局規(guī)劃能力。小型無人艇運動控制平臺以STM32F103T8U6微處理器為核心芯片,芯片擁有多達80個I/O接口、UART、PWM和PCA等接口,通過EMIF接口與岸基控制系統(tǒng)實現(xiàn)串口通信,通過PWM驅動無人艇上的舵機和主推電動機,通過PCA接口與搭載的眾多傳感器連接,獲取小型無人艇的實時狀態(tài)信息。
為了描述小型無人艇在水中的運動,采用國際水池會議(ITTC)推薦的坐標系方法建立了固定坐標系E-ξηζ和運動坐標系O-xyz。設定φ、θ、Ψ為小型無人艇的3個姿態(tài)(橫搖、縱搖和艏搖)的歐拉角;ξ、η、ζ是質心在運動坐標系中的坐標位置;線速度向量v1=[u v w]T和角速度向量v2=[p q r]T定義在運動坐標系中,其中運動坐標系相對固定坐標系O-xyz沿3個軸運動的分量為縱蕩速度u、橫蕩速度v、垂蕩速度w,無人艇繞3個軸運動的分量分別為橫搖角速度p、縱搖角速度q、艏搖角速度r。由文獻[4]、[5]可知無人艇六自由度一般運動學方程和一般六自由度動力學方程。文中將六自由度的運動學方程和動力學方程簡化為水平面三自由度模型和垂直面三自由度模型。其中水平面內的三自由度運動方程為:
無人艇垂直平面內三自由度的運動方程(忽略v、p、r)為:
式中:m為小型無人艇的負載總質量;FC、NC、MC分別為無人艇執(zhí)行機構在縱蕩、縱搖和橫搖方向上的控制輸入力(力矩);Iy、Iz為無人艇的轉動慣量,Xu˙、Zw˙、Mq˙、Xu等為無人艇的水動力系數(shù)。
由上式可以得出,小型無人艇動力學模型由6個獨立的控制通道和6個狀態(tài)變量組成。解耦后得到的運動控制模型為下文小型無人艇控制算法的設計奠定基礎。
上位岸基控制系統(tǒng)界面如圖2所示。上位機程序設計主要在虛擬儀器開發(fā)環(huán)境LabVIEW中完成。為了在一個顯示界面上同時實現(xiàn)航行和任務監(jiān)控操作,上位機程序設計界面主要分為手動/自動控制、參數(shù)監(jiān)控、通信3個模塊。
標簽和狀態(tài)綜合顯示欄位于岸基控制系統(tǒng)界面的上方位置,分為3個子標簽欄??稍谥鞔翱凇㈦姵毓芾硐到y(tǒng)及歷史數(shù)據記錄系統(tǒng)中進行切換。首先,手動/自動控制模塊位于界面的右下角,通過按鈕實時切換,當切換到手動控制時,岸基操作員同時可通過點擊向上、向下、向左、向右等方向鍵按鈕控制小型無人艇的運動軌跡。當切換到自主航行時,無人艇控制系統(tǒng)會自動規(guī)劃航行軌跡,將需要的無人艇實時航向和航速傳送至升降舵、方向舵舵機和主推電動機,使得其按照指定航線行駛。其次,通信模塊位于界面的左上角,其采用Modbus通信協(xié)議,上位機程序作為客戶端,打開上位機的時候主動發(fā)出連接請求。最后,參數(shù)監(jiān)控模塊位于主界面的正下方,使用儀表盤式顯示插件,直觀地顯示小型無人艇實時狀態(tài)信息,包括小型無人艇的航行目標、實際航跡坐標、航向角、俯仰角、橫滾角、剩余電量、深度和漏水點信息等。
圖3所示為文中所述小型無人艇控制系統(tǒng)硬件電路圖。根據系統(tǒng)要求的實際功能,按照分層化、模塊化的設計思想將控制系統(tǒng)的硬件電路分為傳感器采樣模塊、通信模塊、電源模塊、電動機驅動模塊四個子模塊。所有模塊集成在一塊PCB電路板中。相關子模塊工作電路設計簡述如下。
傳感器采樣模塊中,小型無人艇搭載的微慣導傳感器和磁航向儀通過PB6和PB7接口與主控芯片相連實現(xiàn)通信。它能將小型無人艇的實時姿態(tài)角和航速傳輸給主控芯片,主控制器實時接收到采集的數(shù)據后能夠通過姿態(tài)解算,將解算后的電動機控制指令傳送給電動機驅動模塊。通信模塊選用NRF24L01無線收發(fā)模塊,通過PA7接口與主控芯片相連。小型無人艇的升降舵電動機、方向舵電動機和主推電動機通過相應的步進電動機驅動器或直流無刷電動機控制器與主控芯片的I/O口PA0、PA1和PA2相連。電動機驅動模塊是小型無人艇底層控制的核心,主要通過PWM脈沖頻率的輸出控制并驅動舵機及主推電動機,執(zhí)行主控芯片STM32F103T8U6的各項驅動操作。
在上文中,對小型無人艇非線性數(shù)學模型進行了線性化處理,小型無人艇的控制可以解耦成航向、速度和位置等通道[6]。小型無人艇控制系統(tǒng)采用PID控制算法分別對這三個通道進行控制,控制器軟件流程如圖4所示。
首先,在控制系統(tǒng)上電之后進行各I/O口、定時器及其它功能外設初始化,輸入無人艇的目標位置,然后判斷小型無人艇的控制模式。通過上位岸基控制系統(tǒng)向無人艇控制系統(tǒng)傳送運動控制指令,控制指令分為自動模式和手動模式。艇上控制系統(tǒng)控制相應的電動機執(zhí)行機動動作,等待微慣導傳感器向主控芯片反饋無人艇姿態(tài)和航速信息,通過反饋的航向角、航速等數(shù)據與任務目標進行對比,最后根據期望的航向、速度或位置控制量對小型無人艇進行控制。其中,模式判斷周期為3 ms,航向角度控制周期為5 ms,航行速度控制周期為20 ms,航跡位置控制周期為50 ms。在無人艇航向角控制模式中,外環(huán)為角度控制,內環(huán)為速度控制,外環(huán)的輸出作為內環(huán)的輸入;在航跡位置控制模式中,外環(huán)為位置控制,內環(huán)為速度控制,速度控制器的輸出量為位置控制的輸入。最終調整小型無人艇姿態(tài)、航行角及目標航速,達到任務目標位置,完成任務。
首先在Matlab/Simulink中完成小型無人艇動力學模型、航向角和航速雙閉環(huán)控制器的搭建,對無人艇在航行中的航向角、速度控制和航行位置控制進行仿真控制驗證。
仿真實驗中同時設計了單級閉環(huán)航向航速控制器和航向航速雙閉環(huán)控制器。對比兩種控制策略的抗干擾能力,設置仿真條件為:向無人艇下達“航速5 m/s和航向角20 s時轉舵25°”的指令,并且當t=10 s時添加幅值為1的階躍干擾信號,仿真實驗結果如圖5、圖6所示。
通過圖5、圖6可以分析出小型無人艇航行控制器采用的雙閉環(huán)控制系統(tǒng)控制航向角、航速時,上升速度更快,超調量更小,收斂時間更短,能更有效地抵抗外界的干擾,使無人艇航行更加穩(wěn)定,提高小型無人艇環(huán)境適應性。
由于實際航行時與軟件仿真之間還是存在一定差異的,為了驗證該雙閉環(huán)控制系統(tǒng)的可能性,通過PC工控機與PCB電路板實物組成半實物仿真系統(tǒng)進行模擬航向角和航速的控制實驗。為了模擬實際的無人艇控制系統(tǒng),單板控制器和無人艇動力學模型之間采用數(shù)據采集卡來進行模擬傳感器數(shù)據交換,PC工控機和數(shù)據采集卡之間通過RS232串口連接方式進行連接[7]。LabVIEW在每個仿真步長內,接收數(shù)據采集卡傳遞的傳感器信號,通過Matlab/Simulink中動力學模型的模擬運算,把運算結果再傳送給單板控制器形成一個閉環(huán)控制回路。通過一個周期的仿真實驗,可以驗證無人艇控制器運動控制算法和半實物仿真平臺的可行性,可以對無人艇航行狀況進行分析。
本文針對小型無人艇樣艇控制系統(tǒng)的集成度和自主航行能力等問題,提出了一種基于STM32F103T8U6核心芯片并搭載雙閉環(huán)算法的小型無人艇控制系統(tǒng),對該系統(tǒng)進行了框架設計、動力學建模、硬件電路設計、軟件設計,以及運動控制和半實物仿真試驗。研究表明:雙閉環(huán)控制算法能夠平穩(wěn)控制小型無人艇,控制效果優(yōu)于單級閉環(huán)控制算法,且有一定的抗干擾能力。
本文設計的小型無人艇控制系統(tǒng),核心芯片性能可靠,遠程控制界面友好,實時性高,能實時接收艇上各傳感器的各項數(shù)據。在實際應用中很好地解決了以往小型無人艇自動化程度低、功能單一的問題,有一定推廣應用價值。