《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于Qt的AUV監(jiān)控系統(tǒng)設(shè)計與開發(fā)
基于Qt的AUV監(jiān)控系統(tǒng)設(shè)計與開發(fā)
現(xiàn)代電子技術(shù)
摘要: 自主式水下機器人是當(dāng)今機器人研究領(lǐng)域最熱門的話題之一。它在海洋調(diào)查,資源勘探以及軍事領(lǐng)域有著廣泛的應(yīng)用前景。AUV的智能化水平在不斷的提高。而且工作環(huán)境也越來越復(fù)雜,因此對AUV的軟件系統(tǒng)要求也更高,可靠高效的AUV軟件系統(tǒng)對于實現(xiàn)AUV的智能化和保證其自身安全非常重要。監(jiān)控系統(tǒng)軟件作為AUV軟件系統(tǒng)的一部分是實現(xiàn)AUV航行控制的關(guān)鍵。由于Qt開發(fā)平臺的優(yōu)良跨平臺特性,本系統(tǒng)采用了基于Qt的軟件模塊化設(shè)計。
Abstract:
Key words :

作者:許耀錦,祁丹丹 中國海洋大學(xué)


0 引言
   
自主式水下機器人(Autonomous Underwater Vehicles,AUV)代表了未來水下機器人技術(shù)的發(fā)展方向,是當(dāng)前世界各國研究工作的熱點。對AUV的實時監(jiān)測和控制是AUV能否安全高效執(zhí)行任務(wù)的關(guān)鍵之一。本課題針對AUV的體系結(jié)構(gòu)和實際應(yīng)用,為其設(shè)計實現(xiàn)一套高可靠性,通信靈活,簡單易用,具有模塊化特點的監(jiān)控系統(tǒng)軟件。水下機器人實現(xiàn)實際應(yīng)用的前提條件是具備自主導(dǎo)航能力,自主導(dǎo)航主要研究移動機器人在已知的環(huán)境當(dāng)中,如何從指定起始位姿運動到指定目標(biāo)位姿,并執(zhí)行指定的任務(wù)。在這種情況下由于環(huán)境地圖是已知的,所以導(dǎo)航過程始終依賴于先驗的環(huán)境地圖信息。但是隨著移動機器人應(yīng)用范圍的不斷擴大和移動機器人自主導(dǎo)航問題研究的不斷深入,在未知地圖環(huán)境下的自主導(dǎo)航成為一個需要解決問題。這就需要自主探索技術(shù),以獲得環(huán)境地圖信息。可靠的定位是機器人自主導(dǎo)航的基礎(chǔ),自主導(dǎo)航中的路徑規(guī)劃、路徑跟蹤等任務(wù)的進(jìn)行都需要機器人能夠在運動過程中連續(xù)定位。也就是說,機器人在未知環(huán)境下的自主導(dǎo)航中:一方面機器人如何在位置環(huán)境下確定自身的位姿;另一方面,機器人如何準(zhǔn)確描述環(huán)境特征建立環(huán)境地圖。這2個問題成為導(dǎo)航領(lǐng)域的研究難點。為了解決

這2個難點就需要移動機器人的同時定位與地圖構(gòu)建算法(Simultaneous Localization and Mapping,SLAM)。在SLAM中,移動機器人使用自身攜帶的傳感器獲得環(huán)境地圖信息,識別標(biāo)識未知環(huán)境中的特征標(biāo)志,然后根據(jù)移動機器人與環(huán)境特征標(biāo)志之間的相對位置和控制量等估計機器人和環(huán)境特征的全局坐標(biāo)。SLAM算法具有重要的理論與應(yīng)用價值,認(rèn)為是實現(xiàn)真正的全自主移動機器人的關(guān)鍵。本文“C-RANG-ER”AUV試驗平臺便是為研究SLAM算法而搭建的,文中介紹了基于該算法的基于Qt的AUV監(jiān)控系統(tǒng)軟件的設(shè)計與實現(xiàn)。

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

b.JPG

(1)同時定位和地圖構(gòu)建系統(tǒng)。是機器人的核心算法部分。該系統(tǒng)對各種傳感器數(shù)據(jù)進(jìn)行分析,根據(jù)SLAM算法計算出機器人自身位姿并且構(gòu)建環(huán)境地圖。
   
 (2)決策控制系統(tǒng)。包括路徑規(guī)劃與智能控制,利用SLAM算法提供的地圖,規(guī)劃一條從起始點到終點的路徑,智能控制利用SLAM提供的位姿數(shù)據(jù)對比路徑信息產(chǎn)生控制信息。
   
 (3)底層控制系統(tǒng)。負(fù)責(zé)接收決策控制系統(tǒng)的控制指令以驅(qū)動推進(jìn)器,控制AUV的航行姿態(tài),并返回AUV的狀態(tài)參數(shù),如倉內(nèi)參數(shù)參數(shù)、推進(jìn)器狀態(tài)等。
   
(4)數(shù)據(jù)采集與處理系統(tǒng)。負(fù)責(zé)采集AUV上搭載的各種傳感器的數(shù)據(jù)和控制器的參數(shù)信息,經(jīng)初步處理后傳送到SLAM系統(tǒng),并保存到數(shù)據(jù)存儲系統(tǒng)。
   
(5)數(shù)據(jù)存儲系統(tǒng)是AUV的數(shù)據(jù)中心。負(fù)責(zé)記錄AUV航行過程中的各種數(shù)據(jù),并為SLAM系統(tǒng)提供必要的數(shù)據(jù)。

2 Qt簡介

Qt是諾基亞開發(fā)的一個跨平臺的C++圖形用戶界面應(yīng)用程序框架。它提供給應(yīng)用程序開發(fā)者建立藝術(shù)級的圖形用戶界面所需的所用功能。Qt是完全面向?qū)ο蟮模苋菀讛U展,并且允許真正地組件編程。QtCreator是一個用于Qt開發(fā)的輕量級跨平臺集成開發(fā)環(huán)境。Qt Creator可帶來兩大關(guān)鍵益處:提供首個專為支持跨平臺開發(fā)而設(shè)計的集成開發(fā)環(huán)境(IDE),并確保首次接觸Qt框架的開發(fā)人員能迅速上手和操作。Qt Creator包含了一套用于創(chuàng)建和測試基于Qt應(yīng)用程序的高效工具,包括:一個高級的C++代碼編輯器上下文感知幫助系統(tǒng)可視化調(diào)試器源代碼管理項目和構(gòu)建管理工具。本監(jiān)控軟件正是在Qt Creator開發(fā)環(huán)境中完成的。

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

a.JPG

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

c.JPG

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

d.JPG

4 結(jié)語
   
本文簡單介紹了Qt下的監(jiān)控系統(tǒng)的開發(fā)和設(shè)計,程序設(shè)計上還有很多不足,有待進(jìn)一步改善提高?;赒t平臺強大的可移植性及其庫函數(shù),使程序開發(fā)設(shè)計起來更具效率。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。