于東,周軍偉,吳沫,李東豫/ 哈爾濱工業大學(威海),山東省 威海市 264209
對于功能型無人艇而言其控制系統是整個船艇的大腦核心,因而控制系統的設計是無人艇設計成敗的關鍵因素之一。本文結合一艘已完成設計、制作和測試的無人艇對功能型無人艇的控制系統設計思想進行了簡要的介紹,這一設計思想總結而言即是“中樞系統協調,各模塊明確分工,相互協作,共同完成任務”。同時也對這一控制系統設計思想的優缺點進行了簡要的總結,并提出了無人艇控制系統后續所需改進與發展的方向。
當宇宙飛船飛離太陽系,當哈勃空間望遠鏡不斷擴展可見宇宙的邊緣,當人類在宇宙空間的視野不斷拓展時,人類眼前的大片區域,占地球表面積71%的海洋卻還有很大一部分未被人類所探索。究其原因,很大程度在于海洋復雜環境的危險性,而未勘探海洋區域,由于已知信息較少,其存在危險的可能性較已探測區域而言大得多,分析其危險性的來源主要是水域情況、海底暗礁、海域環境以及海洋生物等自然因素。自大航海時代以來,人類對于海洋的探索一直都未從停歇,而在近幾十年間,隨著科技的進步,航海技術、海洋裝備等涉海探索技術的高速發展以及陸地資源的日益開采等客觀因素,各國紛紛提出了大力發展海洋的戰略目標,如美國的海洋政策、加拿大的海洋戰略、歐盟的海洋綜合政策以及我國的海洋強國戰略等等。而要實現大力發展海洋的戰略目標,勘探未知水域,開發新的海洋區域是必不可少的一步,鑒于未知海域的危險性,采用無人艇對其進行水域、環境、近水面區域等的先期探測將會大大降低對未知海域探測所帶來的危險性,同時也能夠極大程度上避免人員傷亡和重大財產損失。
無人艇(Unmanned Surface Vehicle, USV)通常指的是可以在水面上自主航行、無人作業的小型船艇,其可以通過搭載不同的功能模塊完成相應的任務,以實現降低風險或降低成本等目的。近年來,隨著控制理論、控制技術的不斷完善與發展,隨著水域中無人作業需求的不斷增多,國內外在無人艇領域的研究與發展也取得了長足的進步。無人艇由于具有較低的安全成本和人工成本,以及可搭載功能模塊赴目標水域自主完成采樣、檢測、環境偵察、水域探測等任務的特性,其已被廣泛的應用于水域環境檢測、垃圾清理、養殖、海洋漁業及水藻清理等民用領域,同時也已一定程度上應用在了涉海領域的科學研究當中;無人艇同樣由于其具有無人偵察、探測、目標追蹤、精準打擊等功能,已開始在軍事領域應用中嶄露頭角。無人艇作為一個搭載任務功能模塊的平臺,對于其自身航行控制系統穩定性的要求是尤為嚴格,因為無論利用無人艇完成什么樣的任務,保證其能夠安全、精確、穩定的航行至目標區域是完成任務的首要條件,因此對于航行控制系統的設計是極其重要的,也是無人艇設計成敗的關鍵因素。
萬丈高樓平地起,任何工程均需要有條不紊的從頭開始,而在任何項目進入實際操作之前均需要在前期進行詳細、合理的設計。對于無人船的控制系統而言,其框架設計即是前期設計的主要內容。無人船控制系統框架設計主要是對其控制系統中各模塊的功能進行詳細設計,并且詳細考慮各模塊的軟硬件資源分配,以實現無人船的功能規劃,同時也要著重考慮后續功能的可擴展性,以合理設計無人船控制系統,實現多功能、多用途作業的需求。
功能型無人艇的控制系統按照功能大類區分主要有兩部分:航行控制系統和任務功能控制系統。其中航行控制系統指的是控制船艇航行的模塊,其可分為:遙控航行模塊和自主航行模塊;特定功能控制系統指的是無人艇上需進行無人作業的控制模塊,其種類繁多,例如圖像采集、環境監測、水質探測、無人投放、垃圾收集、水藻清理等。無人艇上的這些模塊需合理的配合才能夠更好的完成終端機所派發給無人艇的任務,因此在對功能型無人艇控制系統框架進行設計時要綜合考慮各個模塊的可兼容性及后續各模塊功能的可優化性等性能。無人艇執行任務時的工作流程框架圖如圖1所示。

圖1 無人艇執行功能任務時的工作流程框架圖
在設計無人艇的控制系統時考慮到各模塊間的可兼容性以及后續功能的可擴展性和可優化性等因素,決定采用主控模塊和各功能模塊獨立控制的方式來實現無人艇的控制系統功能。即無人艇的上位機主程序模塊具有一套單獨的軟硬件控制系統,同時其每一個功能模塊也均具有的獨立的軟硬件控制系統,其結構框架圖見圖2。如此便能夠保證各功能模塊間相互獨立、作業時互不干擾,同時又能夠通過上位機的中樞控制程序將各功能模塊相互協調、相互兼容,使得其協同作業,以實現無人艇的設計功能。
通過以上描述,不難看出,本文中提出的無人艇控制系統設計思想為:中樞系統協調,各模塊獨立運行。根據這一思想設計無人艇控制系統雖然存在著硬件資源浪應用不足、船艇空間浪費等缺點,但是其可以極大的保證各模塊的兼容性,同時也為后續功能擴展提供了很大的空間,并且極大的改善了設計和制作過程中更換不同型號硬件所帶來的大量改動等問題,很適合當下無人艇技術發展尚未成熟的現狀。
對于功能型無人艇而言,其所需的任務功能模塊并不相同,但是其對于航行模塊的需求,卻都是必不可少的。而無人艇設計的過程中需根據不同需求,設計不同的功能模塊,且功能模塊繁多,本文結合無人艇的航行模塊設計對其控制系統設計進行簡要介紹,不再一一介紹各功能模塊的設計。

圖2 無人艇控制系統結構圖

圖3 無人艇控制系統硬件功能框架圖
在對無人艇的控制系統進行設計時,軟硬件的設計均必不可少,而在對硬件進行設計時應著重考慮硬件產品的適用性和可靠性,即要保證硬件設備既能夠滿足控制程序使用的需求,又能夠耐久耐用。根據上文所提無人艇設計思路,中樞控制系統負責協調各模塊間的工作,因此對于中樞控制系統的硬件選擇是整個控制系統硬件設計的關鍵。而在硬件設計時,需綜合考慮無人艇所需功能,并且結合試驗效果協同分析,最終選擇最優的中樞控制系統(上位機)硬件,本文介紹的無人艇上位機采用的是樹莓派3代開發板(Raspberry Pi 3),其主要負責為下位機傳達控制模式指令(自主航行、遙控航行)和下一步航行規劃,而航行控制系統(下位機)硬件采用的STM32F103開發板,其主要負責定位(GPS)信息、船艇姿態信息和其他航行相關傳感器信息的接收,并解算當前位置、船艇姿態、運行情況等船艇航行數據信息,同時根據上位機反饋回的航行規劃信息解算船艏轉向角度,并控制槳、舵機運轉,使得無人船艇可根據上位機指令按規劃航跡航行。在主要考慮航行性能的無人艇控制系統中,中樞控制系統(上位機)硬件和航行控制系統(下位機)硬件確定完成,且各控制模塊硬件功能劃分明確,則無人艇的控制系統硬件設計初步完成,其功能框架圖見圖3。
無人艇控制系統硬件設計完成后,需根據硬件情況選擇合適的語言編制無人艇的控制程序,文中所介紹的無人艇控制系統程序采用C++編寫。在編制控制程序前,首也應該理清程序的構架。
本文介紹的無人艇控制程序由上位機程序和下位機程序兩部分構成,其中上位機程序主要包含航行模式控制程序、遙控信息給定程序以及下位機反饋信息處理程序等幾部分內容。航行模式控制程序中是通過識別遙控器所發信號來判斷采用遙控模式航行還是自主模式航行,如接收器識別出的是高頻信號,則控制模式參數定義為0,采用遙控模式航行,相反若識別出的是低頻信號,則控制模式參數定義為1,采用自主模式航行;遙控程序中采用PWM波來傳輸遙控信息,并將遙控信息處理后傳遞給下位機,使得下位機可以控制電機的運轉狀態,以實現對船艇航行狀態的控制;在自主航行程序里,將預設GPS坐標點提前編寫至控制程序當中,而下位機程序每隔0.5s向上位機反饋一次船艇當前位置和航行狀態,上位機程序解算船艇是否到達預設航跡點的容錯范圍內(2m以內),如到達,則解算下一步航向,并向下位機下達下一步航行指令,如未達到預設航跡點附近,則解算船艇是否偏離航向,如未偏離,則向下位機傳達繼續航行指令,如偏離預設航向則解算當前正確航向數據,并向下位機下達正確航向數據,以讓下位機控制船艇回到正確航向,其軟件設計流程圖見圖4。
下位機程序中主要包含推進電機控制程序、GPS信號接收及處理程序、船艇姿態信號接收及處理程序、系統自檢及初始化程序等功能型模塊程序,其中推進電機控制程序通過控制電機的輸入電壓和電流來控制其轉速,以此實現控制船艇運動的目標;GPS信號接收及處理程序和船艇姿態信號接收及處理程序主要是用來接收并處理GPS傳感器和姿態傳感器(陀螺儀)的回傳數據,并將處理后的數據發送至上位機程序中,上位機根據位置信息
及姿態信息判斷船艇目前位置和航向,以保證船艇能夠按照預設軌跡航行;系統自檢及初始化程序主要是檢查下位機系統軟硬件信息是否出錯,同時將GPS傳感器和姿態傳感器初始化,以避免傳感器因為位置或姿態的轉變而出現的錯誤,也減小了由于傳感器長時間使用而產生的溫漂等誤差。

圖4 自主航行控制程序軟件設計流程圖

圖5天鵝湖測試現場
根據以上文中所介紹的無人艇控制系統設計思路,已完成了一艘小型無人艇的設計與制作,并已在哈爾濱工業大學(威海)校內天鵝湖及山大(威海)校內文心湖中進行過自主航行測試,圖5和圖6是測試現場照片。湖中測試結果顯示船艇能夠較好的按照規劃航跡運行,天鵝湖中的測試結果路徑如圖7所示。
從圖7中的航跡結果可以看出,實際航跡與規劃航跡幾乎完全重合,且實際航跡中的偏離點也完全在航行程序的容錯范圍之內,由此結果可以看出文中所提出的無人艇控制系統設計思路是完全可行的。
本文在綜合考慮無人艇控制系統特性的基礎上,總結了功能型無人艇的設計思想,并結合一艘實際設計、制作完成的無人艇對控制系統的軟硬件設計流程和思路進行了介紹,同時通過對該無人艇的實際航行測試,檢驗了設計思路的可行性和已完成的控制系統的可靠性。

圖7 天鵝湖中測試結果路徑

圖6 文心湖測試現場
文中介紹的無人艇控制系統設計思路雖然在很大程度上滿足了無人艇各功能模塊的兼容性、可靠性和可擴展性,極大的簡化了無人艇軟硬件設計過程中的難度,但不可否認的是,根據這一思想設計的控制系統在很大程度上存在著控制資源和艇空間資源浪費等問題,因此,后續在無人艇控制系統設計的過程中保證其兼容性、可靠性和可擴展性的基礎上,更好的優化控制資源和艇空間資源將是一個必須研究的重要內容。 ■
(參考文獻:略。如有需要,請聯系編輯部。)