黃宇 林平 耿文豹 盧海洋
【摘要】提出了一種基于CAN總線的AUV(自主水下航行器)分布式控制系統。結合CAN總線分布式控制的特點,將AUV控制系統劃分為功能獨立的控制模塊,各個模塊通過CAN總線節點組成整個通信網絡。并采用階梯體系結構,由操控臺下達任務,中央控制單元集中管理,分散控制。本文詳細介紹了該控制系統在AUV自主航行試驗中的實現過程。實驗中,AUV快速精確的完成了操控臺下達的任務,充分說明該控制系統的實用性。
【關鍵詞】CAN總線;分布式控制系統;AUV;階梯體系結構;自主航行
引言
自主式水下航行器(Autonomous Underwater Vehicle,簡稱AUV)是一種智能化、自主航行、實現多種功能的水下機器人[1]。由于水下作業的不安全性以及不確定性,AUV成為水下探測領域的主要工具。例如 Hydroid Lockheed 公司的REMUS系列UUV、Bluefin robotics公司的Bluefin系列UUV[2]等,在水下探測領域擔任著重要的角色。
我們開發了一種水下無人搭載平臺,主要用于搭載聲學設備,模擬聲源,水下環境測量等功能。具體結構如下圖1所示。該AUV導航系統采用捷聯慣導、DVL(多普勒計程儀)、GPS組合導航的方式,保證導航精度;控制系統和推進系統分別采用舵機控制和電機控制;通信系統采用電臺與北斗組合通訊的方式,電臺有效時采用電臺通信,無效時采用北斗通信,保證通信的可靠性;應急系統采用壓載釋放的方式,通過設備控制器反饋狀態信息以及AD采集信號判斷是否需要應急,保證設備的安全性;下潛方式采用水平舵控制、滑塊前移輔助下潛的方式,保證AUV的快速下潛。由于該AUV需要很高的導航精度、較高的自主能力,以及狀態存儲、信息交互、應急保護等一些列功能,使得該AUV控制任務復雜。這種情況下,單一的控制器以及傳統的集中式控制方式會使得控制器任務過重,效率過低[3]。
本文提出并設計了一種基于CAN總線的分布式控制系統,各個模塊設計單獨的控制器,完成局部的信息處理和底層控制,保證通信的可靠性和靈活性[4];并且各個模塊采用階梯體系結構,由操控臺下達任務,中央控制單元集中管理,保證控制系統的有效性及有序性。在實驗中,AUV安全可靠的完成了自主航行任務,說明了這種控制系統的實用性。
圖1 水下無人搭載平臺示意圖
1.基于CAN總線的AUV控制系統模型
CAN總線是在實時控制系統或分布式控制系統中運用最多也是最有效的串行通信網絡。與其他分布式系統相比,它工作于多主方式,網絡中的各節點都可根據優先權向總線發送數據,并且通信速率高達1M/S,實時性強。最大的特點是采用通信數據塊編碼的方式,總線上的通信節點個數不受限制,實際上最多可以構成110個節點[5]。
水下無人搭載平臺的控制系統是基于CAN總線的分布式控制系統。主要包括通信系統、動力與操控系統、導航系統、應急系統、信號采集系統和載荷系統等。分布式控制系統的整體架構如圖2所示。其中,水面操控系統主要是AUV的地面操控設備,通過電臺或北斗通信模塊與中央控制單元實現信息交互。其余系統位于航行器內部,主要通過各自的控制器和傳感器實現與中央控制單元的信息交互。AUV運行時,由水面操控臺發送任務指令給中央控制單元,由中央控制單元將航行任務分解為底層控制器能夠理解的控制指令,并通過總線發送給底層控制器,再由底層控制器驅動執行機構的動作,形成分布式階梯結構。另外,中央控制單元不斷接收底層控制器回饋的數據,并由存儲器不斷記錄和存儲數據。
目前,AUV導航精度最高的導航方式是采用捷聯慣導、DVL(多普勒計程儀)、GPS組合導航的模式[6],水下運行時,由于GPS信息無法接收,水下無人搭載平臺采用慣導、DVL組合導航的模式。DVL速度信息通過串口實時發送至慣導,慣導根據得到的數據進行航位推算,并將慣導經緯度信息、姿態信息、狀態信息通過CAN總線實時傳輸給中央控制單元。
應急系統是為了保障AUV的安全性。各個控制器將通過CAN總線實時反饋各自狀態信息,例如舵機機構是否正常,電機是否過壓等等;各個傳感器也不斷檢測航行器的深度信息、離底高度以及漏水信息等。針對不同類型的故障,中央控制單元將實時做出應急措施,控制舵機、電機以及釋放壓載的動作。
動力與操控系統主要包括電機控制器、舵機控制器以及執行機構。執行機構主要包括舵機機構、電機和滑塊。中央控制單元下達自主航行的指令后,舵機控制器以及電機控制器將接收到的舵角指令和轉速指令轉化成電壓信號給各個執行機構,并實時反饋狀態信息。需要下潛時,中央控制單元發送滑塊上電指令,控制滑塊動作,輔助下潛。
圖2 分布式控制系統的整體架構
2.AUV自主導航控制流程
AUV自主航行的主要任務是按照操控臺指定的GPS點航行。主要工作包括路徑規劃、模式選擇、航向控制、航跡控制和深度控制。具體工作流程如圖3所示。
圖3 AUV自主導航控制流程圖
執行任務時,由水面操控系統(簡稱上位機)通過電臺或北斗通信模塊下達任務指令給中央控制單元(簡稱下位機),任務內容包括目標位置、目標深度、航行時間。指令下達后,下位機回饋任務下達成功標志給操控臺。然后上位機啟動自主模式,AUV開始自主導航。首先,動力與操控系統控制AUV下潛,滑塊前移,通過使AUV重心前移的方法來輔助下潛。在AUV完全下潛后,深度計和導航控制中心實時更新當前深度和位置,AUV執行運動控制,縱向采用俯仰角-深度雙閉環控制結構[7],使AUV到達預定深度;橫向采用偏航距和航向角的組合控制結構,使AUV到達預定位置。在到達目標點后,AUV開始向下一個目標點航行,直至到達最后目標點后,AUV上浮并且將存儲器中的數據上傳至操控臺。航行過程中,下位機實時檢測AUV的運行狀態,在出現超時、偏航距過大(大于200m)和其他故障時,應急系統終止當前操作,AUV緊急上浮。
圖4 自主導航試驗結果
3.試驗結果
本次試驗設定的跑點精度為5m。2.5節速度下,AUV的轉彎半徑為15m,設定GPS點之間的距離約為100m。為了試驗AUV水下運行的軌跡和導航精度,運行深度設為0m,導航模式采用DVL組合導航(慣導采用DVL的速度信息推算AUV的位置)。自主導航試驗結果如圖4所示。慣導的運行軌跡與GPS運行軌跡略有偏差,偏航距逐漸變小,且AUV能夠到達指定的目標GPS點(圖上1,2,3,4點)。試驗過程中,AUV運行正常,工作可靠,較好的完成了指定任務,充分說明了這種分布式控制系統的實用性。
4.結束語
本文提出了一種基于CAN總線的分布式控制系統,并在水下無人搭載平臺上得到應用。無人搭載平臺的各個模塊都有各自的控制器,通過CAN總線形成一個網絡。各個模塊之間相互獨立,互不干擾,基于CAN總線的設計使得控制系統具有良好的可維護性和可擴展性。中央控制單元不再直接控制執行機構,而是作為統一的協調和調度中心,將指令分為為底層控制器能夠理解的控制指令,由底層控制器來控制執行機構的動作,這種分布式的控制系統使得中央控制單元的工作負荷減輕,提高了中央控制單元的工作效率。在自主導航試驗中,AUV快速精準的完成了指定任務,充分說明了這種控制系統的實用性。
參考文獻
[1]徐玉如,李彭超.水下機器人發展趨勢[J].自然雜志,2011,33(3):
126-127.
[2]趙濤,劉明雍,周良榮.自主水下航行器研究現與挑戰[J].火力與指揮控制,2010,35(6):1-2.
[3]王剛.基于多傳感器的AUV控制系統[D].哈爾濱工程大學,2013
[4]高劍,嚴衛生,張福斌.一種自主水下航行分布式控制[J].兵工學報,2009,30(8):1140-1141.
[5]鄔寬明.CAN總線原理和應用系統設計[M].北京航空航天大學出版社,1996.
[6]嚴衛生,徐德明,李俊.自主水下航行器導航技術[J].火力與指揮控制,2004,29(6):14-15.
[7]徐德民.魚雷自動控制系統[M].西北工業大學出版社,2000.