新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Qt的自主式水下機器人監控系統設計

        基于Qt的自主式水下機器人監控系統設計

        作者: 時間:2012-04-18 來源:網絡 收藏

        0 引言

        (Autonomous Underwater Vehicles,AUV)代表了未來水下機器人技術的發展方向,是當前世界各國研究工作的熱點。對AUV的實時監測和控制是AUV能否安全高效執行任務的關鍵之一。本課題針對AUV的體系結構和實際應用,為其設計實現一套高可靠性,通信靈活,簡單易用,具有模塊化特點的監控系統軟件。水下機器人實現實際應用的前提條件是具備自主導航能力,自主導航主要研究移動機器人在已知的環境當中,如何從指定起始位姿運動到指定目標位姿,并執行指定的任務。在這種情況下由于環境地圖是已知的,所以導航過程始終依賴于先驗的環境地圖信息。但是隨著移動機器人應用范圍的不斷擴大和移動機器人自主導航問題研究的不斷深入,在未知地圖環境下的自主導航成為一個需要解決問題。這就需要自主探索技術,以獲得環境地圖信息。可靠的定位是機器人自主導航的基礎,自主導航中的路徑規劃、路徑跟蹤等任務的進行都需要機器人能夠在運動過程中連續定位。也就是說,機器人在未知環境下的自主導航中:一方面機器人如何在位置環境下確定自身的位姿;另一方面,機器人如何準確描述環境特征建立環境地圖。這2個問題成為導航領域的研究難點。為了解決這2個難點就需要移動機器人的同時定位與地圖構建算法(Simultaneous Localization and Mapping,SLAM)。在SLAM中,移動機器人使用自身攜帶的傳感器獲得環境地圖信息,識別標識未知環境中的特征標志,然后根據移動機器人與環境特征標志之間的相對位置和控制量等估計機器人和環境特征的全局坐標。SLAM算法具有重要的理論與應用價值,認為是實現真正的全自主移動機器人的關鍵。本文“C-RANG-ER”AUV試驗平臺便是為研究SLAM算法而搭建的,文中介紹了基于該算法的基于Qt的AUV監控系統軟件的設計與實現。

        本文引用地址:http://www.104case.com/article/257567.htm

        1 C-RANGER AUV簡介

        C-RANGER AUV實驗平臺采用開架式設計,是一種小型試驗用AUV,有2個電子艙和5個水下推進器,搭載有主動聲納、垂直陀螺儀、多普勒測速儀、數字羅盤等傳感器2 C-RANGER體系結構 圖1是C-RANGER系統的總體框架,主要包括決策控制系統、與處理系統、數據存儲系統、底層控制系統、AUV實體,具體介紹如下:

        (1)同時定位和地圖構建系統。是機器人的核心算法部分。該系統對各種傳感器數據進行分析,根據SLAM算法計算出機器人自身位姿并且構建環境地圖。

        (2)決策控制系統。包括路徑規劃與智能控制,利用SLAM算法提供的地圖,規劃一條從起始點到終點的路徑,智能控制利用SLAM提供的位姿數據對比路徑信息產生控制信息。

        (3)底層控制系統。負責接收決策控制系統的控制指令以驅動推進器,控制AUV的航行姿態,并返回AUV的狀態參數,如倉內參數參數、推進器狀態等。

        (4)與處理系統。負責采集AUV上搭載的各種傳感器的數據和控制器的參數信息,經初步處理后傳送到SLAM系統,并保存到數據存儲系統。

        (5)數據存儲系統是AUV的數據中心。負責記錄AUV航行過程中的各種數據,并為SLAM系統提供必要的數據。

        2 Qt簡介

        Qt是諾基亞開發的一個跨平臺的C++圖形用戶界面應用程序框架。它提供給應用程序開發者建立藝術級的圖形用戶界面所需的所用功能。Qt是完全面向對象的,很容易擴展,并且允許真正地組件編程。QtCreator是一個用于Qt開發的輕量級跨平臺集成開發環境。Qt Creator可帶來兩大關鍵益處:提供首個專為支持跨平臺開發而設計的集成開發環境(IDE),并確保首次接觸Qt框架的開發人員能迅速上手和操作。Qt Creator包含了一套用于創建和測試基于Qt應用程序的高效工具,包括:一個高級的C++代碼編輯器上下文感知幫助系統可視化調試器源代碼管理項目和構建管理工具。本監控軟件正是在Qt Creator開發環境中完成的。

        3 AUV監控軟件設計

        AUV的監控以的形式實現(如圖2所示),主要是對AUV各個模塊工作狀態的監視以及工作模式的設置,由圖3可知,控制模塊功能的劃分可知AUV監控模塊的主要功能包括底層數據處理、AUV狀態監視、控制、手柄遙控、異常處理以及航行路線的設定。運用模塊化技術,可以將錯誤局限在各個模塊內部,避免錯誤蔓延,提高AUV系統的可靠性。還可以利用以前已經被證明是可靠的模塊來構造新的系統,這就不但減少了新系統開發的工作量,也提高了系統的可靠性。

        該監控模塊(如圖3所示)采用多線程技術和網絡通信實現以及基于Qt的信號與槽機制。多線程技術主要是創建繼承Qthread的多個類,實現對數據的接收與處理,手柄控制等多個線程。網絡通信則是通過繼承QtcpServet的服務器端與底層來實現實時通信,通過網絡通信實現對AUV的實時監測。而基于Qt的信號與槽機制則用于通過岸基平臺的界面對AUV實時狀態進行監測和控制。三者結合,實現對AUV各個方面的監測和控制,以便AUV能高效準確的工作。

        數據采集控制線程(如圖4所示),其余的監控線程都采用類似的形式。


        4 結語


        本文簡單介紹了Qt下的監控系統的開發和設計,程序設計上還有很多不足,有待進一步改善提高。基于Qt平臺強大的可移植性及其庫函數,使程序開發設計起來更具效率。

        測速儀相關文章:測速儀原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 梅河口市| 西丰县| 菏泽市| 彭阳县| 敖汉旗| 岚皋县| 新兴县| 藁城市| 蕉岭县| 惠水县| 栾城县| 葫芦岛市| 惠安县| 布拖县| 青川县| 左贡县| 图片| 大安市| 白城市| 大港区| 宕昌县| 册亨县| 若尔盖县| 兴山县| 体育| 扶绥县| 建德市| 沙田区| 象州县| 崇仁县| 阜康市| 漳浦县| 图木舒克市| 莫力| 肇东市| 拉孜县| 陵川县| 霍山县| 上犹县| 安仁县| 伊春市|