999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

無人水下潛航器的控制軟件的C#實現(xiàn)

2014-12-31 00:00:00胡越代祥胡金星陳凱
消費(fèi)電子·下半月 2014年12期

摘 要:介紹了應(yīng)用于水下無人潛航器的上位機(jī)控制軟件的設(shè)計與實現(xiàn)。該軟件是應(yīng)用于基于WINDOWS操作系統(tǒng)中的VS2005 .net環(huán)境下利用C#編寫的程序,利用軟件中擁有的串口通信控件(Serial Port)實現(xiàn)串口通信的功能,并對傳送來的內(nèi)容進(jìn)行分析,使得上位機(jī)能夠控制AUV同樣的AUV的狀態(tài)以及運(yùn)行軌跡將顯示到界面上、使岸上的操控人員能夠根據(jù)當(dāng)前潛航器的狀態(tài)達(dá)到實時、準(zhǔn)確的操控,試驗表明,該軟件達(dá)到了預(yù)期效果。

關(guān)鍵詞:C#;控制;軌跡顯示

中圖分類號:U674.941 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-7712 (2014) 24-0000-02

目前人類正面臨著人口、資源、環(huán)境三大難題。隨著各國經(jīng)濟(jì)的飛速發(fā)展和世界人口的不斷增多,陸地上的資源已經(jīng)無法滿足人類的需求,然而海洋卻蘊(yùn)含著大量的豐富資源[1],因此,對海洋資源的開發(fā)成為近幾年國際上激烈競爭的焦點之一。作為海洋開發(fā)的利器——無人潛航器,近幾年發(fā)展的更加迅速,因此,如何解決通訊問題達(dá)到對AUV的精確控制和狀態(tài)監(jiān)測就顯得尤為重要。

C#相對其他編程語言,是一種現(xiàn)代的、類型安全的、面向?qū)ο蟮木幊陶Z言[2],摒棄了利用C語言編寫界面的繁瑣和冗長,基于C#在Visual Studio 2005.NET環(huán)境中進(jìn)行界面的編寫,有著簡單、高效、準(zhǔn)確的優(yōu)點。

一、控制對象(AUV)概述

該控制對象采用模塊化設(shè)計,分為五個部分,分別是:頭部(載荷艙)、聲通艙、電池艙、控制艙、推進(jìn)艙。AUV控制主機(jī)控制中央控制單元模塊,從而控制電機(jī)、舵機(jī)、聲吶艙及釋放機(jī)構(gòu)。電池組經(jīng)過電源分配器給各大單元供電,在航行過程中,各單元將各自己的信息傳遞給中央控制單元,按照通信協(xié)議中的要求進(jìn)行組裝,經(jīng)過PDL電臺,將信息發(fā)送回上位機(jī),再由上位機(jī)進(jìn)行解析之后,得到AUV控制主機(jī)的顯示界面。具體的電器模塊下圖所示:

二、軟件設(shè)計

(一)通信協(xié)議

通信必須遵守一定的規(guī)則才可以使得軟件與AUV進(jìn)行行之有效的通信,而這樣的規(guī)則被稱之為通信協(xié)議,本AUV的通信協(xié)議設(shè)計成59個字節(jié)其格式如表1所示:

利用串口通信,可以直接選取串口控件System.IO.Ports.SerialPort并將其更名為SerialPortPDL通過對串口參數(shù)進(jìn)行配置使得該串口與通信協(xié)議以及硬件相匹配,達(dá)到能夠正常解碼的目的,在此處,我們需要對如下幾個參數(shù)進(jìn)行配置:波特率BaudRate=9600,數(shù)據(jù)位數(shù)DataBits=8,讀入緩存大小ReadBufferSize=4096,寫緩存大小WriteBufferSize=2048,停止位 StopBits=1。

本設(shè)計通過SerialPortGPS和SerialPortPDL兩個串口接受數(shù)據(jù)引發(fā)時間消息,現(xiàn)在已SerialPortPDL為例子,該串口使用同步的方法對數(shù)據(jù)進(jìn)行讀寫,調(diào)用串口DataReceive消息,對得到的串口消息進(jìn)行處理,同步讀取代碼主要指令如下:

while(serialPortPDL.ByteToRead>0){ byte DataNow=(byte)(serialPortPDL.ReadByte()); } //同步讀取字節(jié)。串口配置打開的過程中,可能出現(xiàn)錯誤的情況(比如串口號錯誤等等),在主窗口加載的界面的LOAD消息中可添加下述代碼

try{serialPortPDL.Open();}catch { Messagebox,Show(\"請檢查北斗串口!\"); }

串口打開之后,進(jìn)行的通訊流程如圖2所示:

(二)圖形界面(PictureBox)的顯示功能的實現(xiàn)

繪制圖形界面的主要原因就是為了將AUV的運(yùn)行軌跡直觀的表達(dá)出來,方便工作人員對AUV的航行路線進(jìn)行控制,在這里我們運(yùn)用到了vs2005的圖形界面接口(GDI)。

依據(jù)收到的GPS經(jīng)緯度信息,通過適當(dāng)?shù)闹底兓谡{(diào)用GDI類中的函數(shù)進(jìn)行繪制,我們便可以在PictureBox上得到AUV的運(yùn)行軌跡,具體方法如下:

1.加載空位圖

PictureBox實際上只是給予了一個GDI繪圖環(huán)境,就像一張畫板,我們?nèi)绻朐谏厦孢M(jìn)行圖像的繪制,就需要給他加上一張畫紙——即加載一張空位圖具體操作如下:

定義一張空位圖并將它定義成public類型:

Public Bitmap backImage=new Bitmap(800,600);

在設(shè)備上下文中加載該空位圖:

Public Graphics mainGraphics;

mainGraphics=Graphics.FromImage(backImage);

2.坐標(biāo)系變換

在繪制圖形的過程中,需要把坐標(biāo)系的原點定義在顯示圖形界面的中心,需用到下面的函數(shù):mainGraphics.TranslateTransform(500,400); //PictureBox的大小定義為(1000,800)像素

3.軌跡圖形的繪制

由于GPS信號傳上來的圖像是具體的經(jīng)緯度信號,因此我們必須按照像素要求進(jìn)行等比例的縮放,具體代碼如下:

newone = new PointF(500f + (float)((myAUV_Status.GPS_LONG - floatOrginLong) / 0.000028 / picMultiple), 400f + (float)(((myAUV_Status.GPS_LAT - floatOrginLat) / 0.000028 / picMultiple)));

此處myAUV_Status.GPS_LONG,myAUV_Status.GPS_LAT分別為GPS信息的經(jīng)緯度,floatOrginLong,floatOrginLat為設(shè)定原點的經(jīng)緯度,由于地球一分的長度對應(yīng)的為0.000028米,進(jìn)行適當(dāng)?shù)娜∩嶂螅憧梢缘贸鼋?jīng)緯度轉(zhuǎn)像素的式子為(float)((myAUV_Status.GPS_LONG - floatOrginLong) / 0.000028 / picMultiple),在將其組合為一個點,在按照點與點連線的方法在調(diào)用該控件的paint消息便可以畫出具體的AUV軌跡圖了。

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

本軟件經(jīng)過長期運(yùn)行,能有效控制AUV的水面航行狀態(tài),并且將信息完整的反饋的回來,達(dá)到了預(yù)期效果。

右上角為狀態(tài)字顯示區(qū),包括各種報警信息顯示,上電標(biāo)志等等,右邊中間為設(shè)備控制單元,負(fù)責(zé)設(shè)備的各單元的上電信息,左下角則為AUV軌跡圖形的繪制區(qū)域了,通過設(shè)定原點,坐標(biāo)軸倍數(shù),可以顯示范圍更廣的軌跡圖。

五、結(jié)束語

經(jīng)過湖上測試,AUV試驗效果良好,該控制軟件能夠穩(wěn)定的運(yùn)行并控制AUV在水面上的動作,軟件界面友好,簡潔方便,滿足了對AUV實際的操作。

參考文獻(xiàn):

[1]馬偉鋒,胡震.AUV的研究現(xiàn)狀與發(fā)展趨勢[J].火力與指揮控制,2008(06):10-11.

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

[作者簡介]胡越(1990.03-),男,湖北宜昌人,學(xué)生,碩士,研究方向:水下機(jī)器人。

主站蜘蛛池模板: 熟妇丰满人妻| 在线另类稀缺国产呦| 一级毛片免费不卡在线| 亚洲制服中文字幕一区二区| 国产精品网拍在线| 欧美19综合中文字幕| 国产精品高清国产三级囯产AV| 日韩最新中文字幕| 在线无码九区| www亚洲天堂| 在线中文字幕日韩| 91精品国产综合久久香蕉922| 国产女同自拍视频| 欧美色视频日本| 日本免费新一区视频| 国产99欧美精品久久精品久久| 激情综合婷婷丁香五月尤物| 久久精品无码一区二区国产区| 午夜无码一区二区三区在线app| 久久96热在精品国产高清| 国产欧美精品专区一区二区| 大陆精大陆国产国语精品1024 | 国产精品一区二区不卡的视频| 欧美日本在线一区二区三区| 亚洲妓女综合网995久久| 伊人91在线| 一级毛片免费不卡在线| 午夜a级毛片| 国产高清在线观看91精品| 91青草视频| 国产精品私拍99pans大尺度| 伊人久久精品无码麻豆精品| 国产综合在线观看视频| 国产精品久久久久久搜索| 又大又硬又爽免费视频| 热久久这里是精品6免费观看| 亚洲国产欧美国产综合久久| 91精品啪在线观看国产91九色| 国产成年无码AⅤ片在线| 亚洲综合色吧| 亚洲精品欧美日本中文字幕| 亚洲精品视频免费看| 男女猛烈无遮挡午夜视频| 欧美中文一区| 亚洲乱码在线播放| 午夜毛片福利| 日本成人精品视频| 日韩免费成人| 国产情精品嫩草影院88av| 色婷婷在线播放| 欧美日一级片| 美女视频黄又黄又免费高清| 亚洲无码精彩视频在线观看 | 97视频免费看| 伊人狠狠丁香婷婷综合色| 亚洲成在人线av品善网好看| 亚洲综合网在线观看| 亚洲女同一区二区| 亚洲天堂福利视频| 国产高清精品在线91| 午夜影院a级片| 久久精品人妻中文系列| 国产精品欧美激情| 亚洲精品国产乱码不卡| 国产第一福利影院| 在线亚洲精品自拍| 韩国v欧美v亚洲v日本v| 国产九九精品视频| 精品国产黑色丝袜高跟鞋| 国产精品内射视频| 一级毛片在线免费视频| 亚洲综合天堂网| 亚洲视频免费在线看| 国产人前露出系列视频| 中文字幕在线免费看| 91人人妻人人做人人爽男同| 欧美国产中文| 国内精品一区二区在线观看| 美女被操91视频| 青青热久免费精品视频6| 喷潮白浆直流在线播放| 嫩草国产在线|