20kg級自主水下機器人控制軟件設(shè)計與實現(xiàn)
在AUV進行Ji-1~Ji段的航行時,AUV根據(jù)導(dǎo)航算法不斷算出坐標并判斷是否到達指定區(qū)域,當離指定區(qū)域為R時(R很小),即可判定到達指定區(qū)域。在到達指定區(qū)域之前不斷利用AUV PID航向角閉環(huán)控制算法修正航向角θ,最終實現(xiàn)AUV的GPS/INS組合導(dǎo)航。本文引用地址:http://www.ex-cimer.com/article/160948.htm
4 控制軟件界面及實驗結(jié)果
4.1 軟件界面
本文設(shè)計的軟件界面左側(cè)上半部分和右側(cè)主要實現(xiàn)對AUV的控制,界面左側(cè)中下部分的3個儀表盤和TAB頁控件顯示AUV的各個狀態(tài)信息。
單擊開機、關(guān)機按鈕將實現(xiàn)AUV的開啟與關(guān)閉;單擊詢問AUV按鈕,此時應(yīng)答情況為AUV存在,表示監(jiān)控軟件與AUV的通信正常,否則應(yīng)該檢查無線模塊和AUV。單擊前艙參數(shù)、GPS經(jīng)緯度、GPS時間、推進器狀態(tài)、AUV航向角等按鈕將持續(xù)獲得AUV相應(yīng)的信息;步進電機控制按鈕用于實現(xiàn)方向舵的調(diào)整,進而實現(xiàn)AUV方向的調(diào)整。為了防止步進電機失步,這里還特意設(shè)計了步進電機的微調(diào)按鈕,目的是在步進電機失步時將方向舵調(diào)整回原位置。
該控制軟件還以儀表盤的方式顯示推進轉(zhuǎn)速、羅盤、溫、濕度等信息。
以速度儀表盤為例,當從串口接收到的數(shù)據(jù)中提取出水平推進器或垂直推進器速度信息時,將速度信息存放到成員變量m_Spd1或者m_Spd 2。利用API函數(shù)得到控件IDC_STATIC_SPD的區(qū)域坐標rect2,調(diào)用API函數(shù)InvalidateRect(&rect2)重繪,將進入函數(shù)CDspsockDlg:OnPaint()重繪。利用MFC中的函數(shù)Pie,Ellipse,SetBkColor,TextOut畫出儀表盤背景。最后通過下列兩個公式將速度值轉(zhuǎn)換成對話框上的坐標值,調(diào)用函數(shù)畫一條連接該區(qū)域中心位置到該點(a1,b1)的直線,最終實現(xiàn)儀表指針隨速度值的變化。坐標(a1,b1)計算公式如下:
b1=60sin((m_Spd1×3/25+150)π/180)
a1=60cos((m_Spd1×3/25+150)π/180)
4.2 實驗結(jié)果
軟件運行期間界面顯示如下。圖6顯示了溫、濕度分別是32°,51.5°;單擊復(fù)位按鈕、溫濕度指針將分別指向-30°,20°位置處;圖6還顯示了2個推進器的速度信息,其中水平推進器速度為1 180 r/min,垂直推進器速度為0.此時AUV在水平方向運動垂直方向靜止。
5 結(jié)語
介紹了20 kg級便攜式AUV控制軟件的實現(xiàn),該軟件利用串口通信技術(shù)、多線程編程技術(shù)在傳輸數(shù)據(jù)量不很大的情況下表現(xiàn)了良好的性能。軟件以穩(wěn)定的性能、友好的界面及簡單的操作方法滿足了對便攜式AUV的監(jiān)視和控制。
評論