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