亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于C#的AUV控制軟件的設(shè)計(jì)與實(shí)現(xiàn)

        2013-08-14 06:06:12黃敬堯楊爽張超趙慧杰郭昊
        機(jī)械工程師 2013年5期
        關(guān)鍵詞:航行串口通訊

        黃敬堯,楊爽,張超,趙慧杰,郭昊

        (三峽大學(xué)電氣與新能源學(xué)院,湖北宜昌 443002)

        1 引言

        水下自主機(jī)器人(AUV)已廣泛應(yīng)用于海洋考察、港口建設(shè)、海底設(shè)施維護(hù)、深水打撈、海軍防務(wù)等諸多領(lǐng)域,現(xiàn)已成為世界各國(guó)的研究熱點(diǎn)。由于AUV在水下航行條件惡劣,如何精確控制AUV 并解決其通訊問(wèn)題就顯得尤為重要,這就迫切需要一種合適的操作軟件,控制AUV的航行并監(jiān)視AUV 航行的狀態(tài)信息。對(duì)水下機(jī)器人的控制采用分布式控制,即通過(guò)上位機(jī)PC 實(shí)現(xiàn)對(duì)下位機(jī)的命令發(fā)送來(lái)實(shí)現(xiàn)各種運(yùn)動(dòng)[1]。岸上的控制主機(jī)發(fā)送數(shù)據(jù)及命令,位于AUV 控制艙的中央控制單元接收到數(shù)據(jù)及命令后,執(zhí)行動(dòng)作并將數(shù)據(jù)反饋到控制主機(jī)。

        C#相對(duì)其它編程語(yǔ)言,具有精確、簡(jiǎn)單、類型安全的優(yōu)點(diǎn)[2]。由于使用Windows API 編程非常繁瑣、冗長(zhǎng),本系統(tǒng)上位機(jī)軟件采用了C#語(yǔ)言在Visual Studio 2005.NET環(huán)境下編程完成[3]。本文基于C#語(yǔ)言在Visual Studio 2005.NET中的環(huán)境,依據(jù)面向?qū)ο缶幊痰乃枷?,開發(fā)了Windows 平臺(tái)下的操控界面,通過(guò)控制主機(jī)PC 對(duì)AUV進(jìn)行命令發(fā)送來(lái)實(shí)現(xiàn)各種運(yùn)動(dòng)及功能,具有良好的可視性和靈活的可控性。

        2 AUV 概述

        該AUV 直徑324mm,總長(zhǎng)度約3m,總重量約為250kg,采用模塊化設(shè)計(jì),分為五部分,從前往后依次是:頭部(載荷艙),聲通艙,電池艙,控制艙,推進(jìn)艙。頭部裝有CTD(溫鹽深傳感器)、聲通換能器??刂婆搩?nèi)安裝有:中央控制器、多普勒計(jì)程儀、智 能 陀 螺 儀、GPS 系統(tǒng)、釋放機(jī)構(gòu)、深度傳感器和PDL 電臺(tái)。推進(jìn)艙內(nèi)安裝有:推進(jìn)電機(jī)、電機(jī)控制盒、航行姿態(tài)控制的水平舵和垂直舵。其中PDL 電臺(tái)用于AUV在水面時(shí)與岸上控制主機(jī)進(jìn)行通信,實(shí)現(xiàn)航行器運(yùn)行狀態(tài)的實(shí)時(shí)監(jiān)控??傮w模型如圖1中下方所示。

        圖1 控制過(guò)程

        AUV 控制主機(jī)控制中央控制單元模塊,從而控制電機(jī)、舵機(jī)、聲納艙及釋放機(jī)構(gòu)。電池組經(jīng)過(guò)電源分配器之后分別給電機(jī)與中央控制單元供電。AUV在水下航行時(shí),DVL、慣導(dǎo)、深度計(jì)將數(shù)據(jù)反饋到中央控制單元,并將數(shù)據(jù)通過(guò)PDL 電臺(tái)傳輸?shù)紸UV 控制主機(jī)的顯示界面。具體電氣模塊如圖2 所示。

        圖2 電氣模塊框圖

        3 控制主機(jī)軟件設(shè)計(jì)

        控制主機(jī)軟件數(shù)據(jù)通過(guò)無(wú)線PDL 電臺(tái)進(jìn)行傳輸,控制AUV的航行速度、方向、下潛,并進(jìn)行適當(dāng)?shù)臄?shù)據(jù)處理,完成AUV 狀態(tài)數(shù)據(jù)的實(shí)時(shí)存儲(chǔ)、顯示、圖像軌跡繪制等功能。從使用角度看包括兩大功能:(1)人機(jī)交換。操作人員可以通過(guò)控制主機(jī)輸入各類指令,包括手動(dòng)模式、自主模式、預(yù)編程模式,設(shè)定值主要包括航向、GPS、舵角、轉(zhuǎn)速,此外還有一些系統(tǒng)設(shè)置,如系統(tǒng)時(shí)間、母船GPS 等。(2)顯示功能??刂浦鳈C(jī)把AUV的姿態(tài)及實(shí)時(shí)狀態(tài)顯示出來(lái),包括報(bào)警信號(hào)、通訊狀態(tài)、動(dòng)力電壓電流、推控電流、聲納電流功率、實(shí)際轉(zhuǎn)速、航速、GPS、深度、俯仰角、橫滾角及AUV的航行軌跡,讓操作人員直觀地了解AUV目前的狀況。本控制主機(jī)軟件是在Windows XP 系統(tǒng)下Visual Studio 2005.NET 編程環(huán)境中使用C#語(yǔ)言編程完成,并使用編程環(huán)境中的SerialPort 類實(shí)現(xiàn)無(wú)線通信功能。SerialPort 類為應(yīng)用程序提供了通過(guò)串口收發(fā)數(shù)據(jù)的簡(jiǎn)便方法,具有功能強(qiáng)大、通信快速、實(shí)時(shí)性好等特點(diǎn)[4]。

        從軟件的實(shí)現(xiàn)功能來(lái)看,控制主機(jī)的功能分為串口通訊處理功能和圖形顯示功能。串口通訊功能主要實(shí)現(xiàn)控制主機(jī)與AUV的通訊,把控制指令通過(guò)無(wú)線PDL 電臺(tái)傳給AUV,同時(shí)AUV 也將自己的狀態(tài)信息反饋給控制主機(jī)。圖形顯示功能主要實(shí)現(xiàn)動(dòng)態(tài)AUV的實(shí)時(shí)數(shù)據(jù),生成AUV的航行軌跡,從而可以直觀地得到AUV的實(shí)時(shí)信息。

        3.1 串口通訊功能的實(shí)現(xiàn)

        串行口是計(jì)算機(jī)與外圍數(shù)據(jù)源設(shè)備之間進(jìn)行數(shù)據(jù)交換的重要介質(zhì)[5]。串行口數(shù)據(jù)的通訊是系統(tǒng)設(shè)計(jì)中最重要的部分,本文中是采用Visual Studio2005中SerialPort 類設(shè)計(jì)方法進(jìn)行通信設(shè)置。

        串口通信必須遵守一定的通信協(xié)議,才可實(shí)現(xiàn)該控制軟件與AUV的正常通信[6]。通信數(shù)據(jù)協(xié)議格式如表1 所示。

        表1 通信數(shù)據(jù)協(xié)議格式

        協(xié)議一共59個(gè)字節(jié),存放在readBuffer 數(shù)組中,當(dāng)控制主機(jī)收到數(shù)組時(shí),將readBuffer 信息處理成相對(duì)應(yīng)的含義數(shù)據(jù),分別對(duì)應(yīng)GPS 經(jīng)度、緯度、航速、動(dòng)力電流電壓等一系列參數(shù)。

        進(jìn)行串口通信時(shí),首先添加SerialPort 控件,并設(shè)置一些相關(guān)參數(shù),可以通過(guò)設(shè)置SerialPort 類的屬性來(lái)進(jìn)行。本文中串口屬性主要包括:PortName 串口名稱,BaudRate 波特率,DataBits 數(shù)據(jù)位,StopBits 停止位。

        本設(shè)計(jì)中通過(guò)serialPortGPS 和serialPortPDL 接收數(shù)據(jù)引發(fā)事件,以serialPortGPS為例,在串口操作線程中用于讀取串口數(shù)據(jù)的主要代碼如下:

        serialPortGPS.Read(readBuffer,0,readBuffer.Length)

        串口中的數(shù)據(jù)要及時(shí)更新,然后把更新后的數(shù)據(jù)重新返回到控件中,但是在重新返回?cái)?shù)據(jù)的時(shí)候會(huì)報(bào)錯(cuò),需要進(jìn)行異常處理,程序代碼如下:

        主線程打開串口,進(jìn)行通訊的流程如圖3 所示。

        圖3 通訊流程圖

        3.2 圖形顯示功能實(shí)現(xiàn)

        控制主機(jī)的圖形顯示主要就是為了把AUV的航行軌跡直觀地顯示出來(lái),讓操作人員能夠方便地看到AUV的航行路徑。根據(jù)AUV實(shí)時(shí)上傳的GPS 與INS的數(shù)據(jù),為確保將數(shù)據(jù)點(diǎn)更新到屏幕上,這就需要用到C#提供的GDI 繪制技術(shù)。

        在C#中進(jìn)行繪圖,主要方法是定義一個(gè)窗體的Paint()事件函數(shù),在這個(gè)函數(shù)中實(shí)現(xiàn)繪圖,該函數(shù)在窗體需要重新繪制的時(shí)候被調(diào)用[7]。如圖5 所示的主界面,打開窗體時(shí)需要加載軌跡圖顯示區(qū)域,即實(shí)例化一個(gè)Graphics 繪圖類調(diào)用函數(shù)TranslateTransform()函數(shù),將原點(diǎn)位置設(shè)在軌跡圖顯示區(qū)域的中心,代碼如下:

        繪制GPS 軌跡時(shí),取原點(diǎn)經(jīng)度、緯度坐標(biāo)(x,y),AUV所在位置點(diǎn)的經(jīng)度、緯度坐標(biāo)為(x1,y1),要想得AUV的運(yùn)動(dòng)軌跡,可以根據(jù)以下公式

        其中,L為地球一分的長(zhǎng)度,即111120m。代碼實(shí)現(xiàn)過(guò)程如下:

        根據(jù)GPS 實(shí)時(shí)上傳的數(shù)據(jù),最終可完成AUV 航行軌跡的繪制。

        4 運(yùn)行效果及主要界面

        本軟件經(jīng)過(guò)長(zhǎng)期運(yùn)行,能有效控制AUV在水面的航行狀態(tài)和在水下的航行過(guò)程,達(dá)到了預(yù)期的設(shè)計(jì)效果。其主要運(yùn)行界面如圖4 示,分為四個(gè)區(qū)域。

        圖4 主界面

        圖5 自主航行功能參數(shù)設(shè)置窗口

        界面左上角為軌跡圖顯示區(qū),顯示水下航行器GPS軌跡(紅色)、INS軌跡圖(綠色),母船GPS 軌跡圖(藍(lán)色)。右下角區(qū)域?yàn)檐壽E圖的局部放大圖。

        界面左下角為AUV 狀態(tài)顯示區(qū)域,包括潛航體的航向角、俯仰角、橫滾角、離地高度、深度及潛航體GPS 經(jīng)緯度、INS 經(jīng)緯度、潛航體航行模式、母船GPS經(jīng)緯度等。

        界面右上角分5個(gè)部分:信號(hào)顯示區(qū)域、電池狀態(tài)區(qū)域、電機(jī)狀態(tài)顯示、舵機(jī)狀態(tài)顯示、舵機(jī)控制區(qū)域。

        自主航行模式主要是通過(guò)設(shè)定多個(gè)點(diǎn)的經(jīng)緯度、深度及轉(zhuǎn)速,使AUV 按照設(shè)定的軌跡進(jìn)行航行。自主航行模式功能參數(shù)設(shè)置窗口如圖5。

        預(yù)編程航行模式是通過(guò)設(shè)定AUV 轉(zhuǎn)速、航向、深度及航行時(shí)間,使AUV 按照預(yù)定參數(shù)進(jìn)行航行。預(yù)編程航行參數(shù)設(shè)置窗口如圖6。

        圖6 預(yù)編程參數(shù)設(shè)置窗口

        AUV 試驗(yàn)效果如圖7 所示。

        圖7 AUV 湖試

        5 結(jié)語(yǔ)

        經(jīng)過(guò)湖上測(cè)試,AUV 試驗(yàn)效果良好,該控制軟件可以穩(wěn)定地操作并控制AUV的航行,順利地進(jìn)行下潛。軟件以良好的性能、友好的界面和簡(jiǎn)單的操作方法滿足了對(duì)AUV的操作。

        [1]翟宇毅,張瑞勇.基于VC++的超小型水下機(jī)器人上位機(jī)人機(jī)交互界面設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2011(5):66-68.

        [2]郭琳,汪蘇.基于C#的開放式機(jī)器人控制系統(tǒng)軟件實(shí)現(xiàn)[J].機(jī)械工程師,2008(11):49-51.

        [3]韓中華,趙貞麗,丁志文.基于C#串行類的PC 機(jī)與IC 卡讀寫器串行通信的實(shí)現(xiàn)[J].科技廣場(chǎng),2007(3):79-81.

        [4]馬斌,等.C#串行類在PC 機(jī)與IC 卡讀寫器串行通信中的作用[J].沈陽(yáng)建筑大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,24(3):508-511.

        [5]姜拓,張劍平.基于C#的數(shù)據(jù)采集系統(tǒng)上位機(jī)軟件設(shè)計(jì)與實(shí)現(xiàn)[J].電子測(cè)試,2009(9):58-61.

        [6]韋統(tǒng)安,董升亮,耿丙群,袁題訓(xùn).20kg 級(jí)自主水下機(jī)器人控制軟件設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2011(11):11-13.

        [7]吳正順,陳孝威.C sharp 繪制三維圖形的方法的研究[J].貴州大學(xué)學(xué)報(bào)(自然科學(xué)版),2009(6):53-56.

        猜你喜歡
        航行串口通訊
        《茶葉通訊》簡(jiǎn)介
        茶葉通訊(2022年2期)2022-11-15 08:53:56
        《茶葉通訊》簡(jiǎn)介
        茶葉通訊(2022年3期)2022-11-11 08:43:50
        通訊報(bào)道
        到慧骃國(guó)的航行
        淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
        小舟在河上航行
        航行
        青年歌聲(2017年6期)2017-03-13 00:57:56
        通訊簡(jiǎn)史
        USB接口的多串口數(shù)據(jù)并行接收方法探索
        基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
        成人影片麻豆国产影片免费观看| 国产高清在线精品一区αpp| 久久人妻av不卡中文字幕| 亚洲丰满熟女乱一区二区三区| 国产精品久免费的黄网站| 18禁裸男晨勃露j毛免费观看| 国产欧美日韩综合一区二区三区| 国产一区二区三区乱码在线| 日韩精品久久中文字幕| 插b内射18免费视频| 高清国产日韩欧美| 亚洲一区二区三区一站| 日韩一区在线精品视频| 人妻丰满熟妇av无码区不卡| 亚洲精品第一国产麻豆| 午夜av福利亚洲写真集| 日韩精品视频久久一区二区| 日产无人区一线二线三线乱码蘑菇| 欧美丰满熟妇性xxxx| 国产乱理伦片在线观看| 爆乳午夜福利视频精品| 人妻少妇被粗大爽视频| 又爽又黄又无遮挡网站| 国产成人免费a在线视频| 亚洲天堂免费av在线观看| 国内揄拍国内精品人妻久久| 亚洲精品一区国产欧美| 国产香蕉尹人综合在线观| 成人激情视频一区二区三区| 精品人妻系列无码人妻漫画| 人妻av中文字幕无码专区| 亚洲中文无码精品久久不卡| 国内精品国产三级国产avx| 久久九九精品国产av| 日韩av精品国产av精品| 亚洲精品成人av一区二区| 99久久婷婷国产精品综合网站| 99在线精品视频在线观看| 成人国产精品999视频| 亚洲中国美女精品久久久| 日本边添边摸边做边爱|