




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于ParrotAR.Drone2.0開發(fā)的學(xué)習(xí)(研究)ParrotAR.Drone2.0孫明星2013.05.21伊拉克戰(zhàn)爭中美軍使用的戰(zhàn)場情報(bào)偵察機(jī)六軸飛行器八軸飛行器1.NET、
C#、
VisualStudio2012及GoogleEarth目錄2GPS介紹3接下來要著重解決的問題1.NET、C#與VisualS/dotnet:一般指.NetFramework框架.它是由微軟開發(fā)的一種平臺(tái),一種技術(shù)。我們選用了較新的4.0版。C#(sharp):是可用于創(chuàng)建要運(yùn)行在.NET上的應(yīng)用程序的語言之一,它是從C和C++語言演化而來,是Microsoft專門為使用.NET平臺(tái)而創(chuàng)建的。C#語言的的主要特點(diǎn)語法簡潔,不允許直接操作內(nèi)存,去掉了指針操作。徹底的面向?qū)ο笤O(shè)計(jì),C#具有面向?qū)ο笳Z言所應(yīng)有的一切特性:封裝繼承及多態(tài)。與Web緊密結(jié)合,C#支持絕大多數(shù)的Web標(biāo)準(zhǔn),如HTML,XMLSOAP等。強(qiáng)大的安全機(jī)制,可以消除軟件開發(fā)中的常見錯(cuò)誤(如語法錯(cuò)誤).NET提供的垃圾回收器能夠幫助開發(fā)者有效地管理內(nèi)存資源。兼容性,因?yàn)椋茫W裱危牛缘墓舱Z言規(guī)范(CLS),從而保證能夠與其他語言開發(fā)的組件兼容。靈活的版本處理技術(shù),因?yàn)椋茫UZ言本身內(nèi)置了版本控制功能,是開發(fā)人員更加容易的開發(fā)和維護(hù)。完善的錯(cuò)誤及異常處理機(jī)制,C#提供完善的錯(cuò)誤和異常處理機(jī)制使程序在交付應(yīng)用時(shí)能更加健壯。1.1VisualStudio2012C#進(jìn)行.net開發(fā)使用的工具---VisualStudi(微軟的一款集成開發(fā)環(huán)境).目前最新版本為VisualStudio2012.VisualStudio
簡介:一套完整的開發(fā)工具集用于開發(fā)桌面應(yīng)用程序、
ASP.NETWeb應(yīng)用程序、XML、WebService、移動(dòng)應(yīng)用程序.為快速開發(fā)提供強(qiáng)大支持1.2.NET、C#與VisualStudio2012三者關(guān)系圖開發(fā)工具:VisualStudio2102VB.NETF#VC++.net
C#.NETFramework………..提供函數(shù)庫及類庫CSharp開發(fā)桌面應(yīng)用程序Winform
Internet應(yīng)用程序ASP.NET手機(jī)開發(fā)(嵌入式開發(fā))WP81.3.net
能干什么?安裝visualstudio2012后的圖標(biāo)雙擊圖標(biāo)啟動(dòng)后132進(jìn)入vs后新建項(xiàng)目選擇類型控制臺(tái)程序編寫運(yùn)行簡單的HelloWrold!程序1.3.1一個(gè)簡單的由C#編寫的HelloWorld!控制臺(tái)程序
1.4.1GoogleEarth本節(jié)介紹的GoogleEarthAPI是目前Goolge官方網(wǎng)站上最新的GoogleEarthAPI接口定義,也是Google所推薦使用的。與早期的KeyHoleAPI相比有了很多新的特性,增加了很多接口,這些接口基本都是基于KeyholeAPI封裝的,我們將在以后的內(nèi)容中介紹一些關(guān)于KeyholeAPI的應(yīng)用,使得讀者能夠更加深入地理解GoogleEarthAPI的實(shí)質(zhì)。IApplicationGE接口:是GoogleEarthAPI開發(fā)中最重要的一個(gè)接口,通過該接口可以控制GoogleEarth程序的開啟、關(guān)閉、獲取地圖窗口的句柄、操作主窗體句柄,還可以進(jìn)行獲取地圖視場照相機(jī)對(duì)象、獲取GoogleEarth版本號(hào)、轉(zhuǎn)換坐標(biāo)等一系列復(fù)雜操作。C#實(shí)例代碼:1.4.2KMLKML全稱是KeyholeMarkupLanguage(KML),是一個(gè)基于XML語法和文件格式的文件,用來描述和保存地理信息如點(diǎn)、線、圖片、折線并能夠在GoogleEarth客戶端顯示。什么是KML文件<kml
xmlns="/kml/2.0"><Placemark><description><![CDATA[<ahref=":8888/">GoogleSearch!</a>]]></description><name>GoogleHeadquarters</name><LookAt><longitude>-122.0839</longitude><latitude>37.4219</latitude><range>540.68</range><tilt>0</tilt><heading>3</heading></LookAt><Point><coordinates>-122.0839,37.4219,0</coordinates></Point></Placemark></kml>
1.4.2KML如何撰寫KML,有以下幾種方式:使用GoogleEarthclient撰寫KML文件:使用文本編輯器:使用開發(fā)環(huán)境來自動(dòng)生成KML文件:
GoogleEarth客戶端支持了大量的顯示標(biāo)簽用來創(chuàng)建和保存成KML文檔。在撰寫KML過程中,你可以先用文本編輯器修改KML文檔,然后在GoogleEarth客戶端中打開看顯示的效果,這和你修改一個(gè)HTML文檔并在瀏覽器之中觀看效果是一樣的。1.4.2KMLKML元素表1.5GE二次開發(fā):開發(fā)的工具和環(huán)境:C#在VS環(huán)境為例在VS中引入GoogleEarthAPI如何把這些數(shù)據(jù)生成KML數(shù)據(jù)格式在GoogleEarth上顯示寫一個(gè)程序,來定時(shí)掃描GPS數(shù)據(jù),通過將其數(shù)據(jù)解析后,生成一個(gè)kml文件,如Pathplanned.KML文件(kml文件實(shí)際就是xml文件,你按照生成xml文件的方式做就行。只是要注意里面的定義。具體定義,你可以在GoogleEarth自定義一個(gè)標(biāo)簽,保存為一個(gè)kml文件,用記事本打開這個(gè)kml文件就知道是什么了。然后你只需要根據(jù)你搜索到的經(jīng)緯度,替換掉里面對(duì)應(yīng)的經(jīng)緯度即可)。
1.5.1C#中如何把GPS的數(shù)據(jù)生成KML格式在GoogleEarth上顯示
xmlns="/kml/2.2"><Document><name>Pathplanned</name><Styleid="yellowLineGreenPoly"><LineStyle><color>ff0000ff</color><width>8</width></LineStyle><LookAt><longitude>123.407983300000</longitude><latitude>41.76337500000</latitude><range>10</range><tilt>10</tilt><heading>-10</heading></LookAt></Style><Placemark><name>AbsoluteExtruded</name><LineString><extrude>1</extrude><tessellate>1</tessellate><altitudeMode>clampToGround</altitudeMode><coordinates>123.407983300000,41.76337500000,10123.407983300000,41.76240556000,10</coordinates></LineString></Placemark></Document></kml>黑色=可見,紅色
=不可見,綠色=視線
總共24顆GPS衛(wèi)星。地球任意一點(diǎn)可以看到5-12顆衛(wèi)星。任一衛(wèi)星的瞬時(shí)位置可根據(jù)星歷計(jì)算得到。2.1距離交會(huì)法觀測方程2.2.1GPS模塊所提供的數(shù)據(jù)幀介紹
$GPGGA,161229.48,3723.24757,N,12158.34167,W,1,07,1.0,9.0,M,,,,0000*18$GPGLL,3723.24757,N,12158.34167,W,161229.48,A*2C$GPGSA,A,3,07,02,26,27,09,04,15,,,,,,1.8,1.0,1.5*33$GPGSV,2,1,07,07,79,048,42,02,51,062,43,26,36,256,42,27,27,138,42*71$GPGSV,2,2,07,09,23,313,42,04,19,159,41,15,12,041,42*41$GPRMC,161229.48,A,3723.24757,N,12158.34167,W,0.13,309.62,120598,,*102.3ARM-Linux平臺(tái)下GPS信號(hào)的采集與處理定位和導(dǎo)航是很多便攜移動(dòng)設(shè)備以及汽車電子設(shè)備的重要功能之一,所以GPS在上述設(shè)備中得到了廣泛的應(yīng)用?;贏RM-Linux的嵌人式平臺(tái)以其開放性、安全性、健壯性和穩(wěn)定性越來越成為各種便攜設(shè)備和車載導(dǎo)航設(shè)備的主要開發(fā)平臺(tái)。如何實(shí)現(xiàn)GPS模塊和嵌人式ARM-Linux平臺(tái)之間的通信成了實(shí)現(xiàn)系統(tǒng)定位導(dǎo)航的基礎(chǔ)。
GPS模塊與ARM-Linux平臺(tái)之間采用異步串行傳送方式進(jìn)行數(shù)據(jù)傳送的,咱們實(shí)驗(yàn)室購買的GPS模塊采用USB轉(zhuǎn)串口通信。ARM-Linux平臺(tái)與GPS通信可選的協(xié)議有很多種,目前普遍采用的是NMEA-0183通信協(xié)議。
2.3.1NMEA-0183通信協(xié)議
NMEA-0183協(xié)議是為了在不同的GPS導(dǎo)航設(shè)備中建立統(tǒng)一的海事無線電技術(shù)委員會(huì)(BTCM)標(biāo)準(zhǔn),由美國國家海洋電子協(xié)會(huì)NMEA(NationalMarineElectronicsAssociation)制定的通信協(xié)議,其中規(guī)定了海用和陸用GPS接收設(shè)備輸出的定位位置數(shù)據(jù)、時(shí)間、衛(wèi)星狀態(tài)、接收機(jī)狀態(tài)等信息。除NMEA-0183協(xié)議之外,還有差分用的RTCMSC-104格式,各個(gè)廠商互不兼容的二進(jìn)制格式等,但以NMEA-0183使用最廣泛。為實(shí)現(xiàn)ARM-LINUX平臺(tái)與GPS之間的通信,應(yīng)清楚協(xié)議規(guī)定的GPS輸出的數(shù)據(jù)格式和報(bào)文。NMEA-0183規(guī)定的格式如下:
波特率:9600b/s
數(shù)據(jù)位:8bit
奇偶校驗(yàn):無
開始位:1bit
停止位:1bit報(bào)文格式:報(bào)文的語句串(十進(jìn)制ASCII碼)格式全部信息如圖1。圖1中具體內(nèi)容:$為串頭,表示串開始;GP為交談識(shí)別符。XXX為語句名,NMEA規(guī)定的常用語句有以下6種:GGA,衛(wèi)星定位信息;GLL,地理位置-經(jīng)度和緯度;GSA,GNSSDOP偏差信息,說明衛(wèi)星定位的信號(hào)的優(yōu)劣情況;GSV,GNSS天空范圍內(nèi)的衛(wèi)星;RMC,最基本的GNSS信息,指能夠達(dá)到定位目的的基本信息等語句。ddd為數(shù)據(jù)字段,字母或數(shù)字,“,”為域分隔符;*表示串尾;hh表示$與*之間所有字符代碼的校驗(yàn)和;為回車控制符;為換行控制符。在實(shí)際的GPS應(yīng)用中,并不會(huì)用到NMEA的全部信息,而是根據(jù)具體的需要,從中選取有用的信息,忽略其余的信息內(nèi)容。下面以GPRMC語句為例來介紹。該語句包含時(shí)間、日期、方位、速度和磁偏角等信息,基本上可以滿足一般的導(dǎo)航需求。GPRMC語句的結(jié)構(gòu)為:$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,*hh。
數(shù)據(jù)區(qū)說明如下:
(1)UTC時(shí)間,hhmmss.sss(時(shí)分秒.毫秒)格式;(2)定位狀態(tài),A=有效定位,V=無效定位;
(3)緯度ddmm.mmmm(度分)格式(前面的0也將被傳輸);
(4)緯度半球N(北半球)或S(南半球);
(5)經(jīng)度dddmm.mmmm(度分)格式(前面的0也將被傳輸);
(6)經(jīng)度半球E(東經(jīng))或W(西經(jīng));
(7)地面速率(000.0~999.9節(jié),前面的0也將被傳輸);
(8)地面航向(000.0~359.9度,以真北為參考基準(zhǔn),前面的0也將被傳輸);
(9)UTC日期,ddmmyy(日月年)格式;
(10)磁偏角(000.0~180.0度,前面的0也將被傳輸);
(11)磁偏角方向,E(東)或W(西)。
2.3.1NMEA-0183通信協(xié)議
2.5GPS信號(hào)的采集和處理
為實(shí)現(xiàn)ARM-Linux平臺(tái)下GPS信號(hào)的采集與處理,涉及到Linux下串口編程技術(shù),首先給出Linux串口通信的原理,然后利用多線程編程技術(shù)來完成GPS數(shù)據(jù)采集與NMEA數(shù)據(jù)格式的解析。大多數(shù)GPS接收機(jī)與各種處理器平臺(tái)進(jìn)行數(shù)據(jù)交換時(shí),都采用異步串行傳送方式,提供一個(gè)符合RS-232C電氣標(biāo)準(zhǔn)的數(shù)據(jù)接口。在Linux操作系統(tǒng)中,所有設(shè)備以設(shè)備文件的形式存儲(chǔ)在目錄/dev/下,串口設(shè)備文件為/dev/ttyUSB*,在Linux中,若要設(shè)置串口的參數(shù),如改變串口的波特率、字符大小等,可通過POSIX標(biāo)準(zhǔn)終端接口,該接口被稱為termios,在系統(tǒng)頭文件中定義。它包括一個(gè)數(shù)據(jù)結(jié)構(gòu)和一系列操縱這些數(shù)據(jù)結(jié)構(gòu)的函數(shù)組成。有關(guān)串口的所有參數(shù)配置都保存在接口termios的結(jié)構(gòu)struct
termios中,該結(jié)構(gòu)定義如下:
struct
termios
{
tcflag_t
c_iflag;/*輸人模式標(biāo)志*/
tcflag_t
c_oflag;/*輸出模式標(biāo)志*/
tcflag_t
c_cflag;/*控制模式標(biāo)志*/
tcflag_t
c_lflag;/*本地模式標(biāo)志*/
cc_t
c_cc[NCCS];/*特殊控制字符*/
}
其中的c_iflag成員是用來控制輸入處理選項(xiàng)的,它影響到終端驅(qū)動(dòng)程序?qū)⑤斎氚l(fā)送給程序前是否對(duì)其進(jìn)行處理,及怎樣對(duì)其進(jìn)行處理。c_oflag成員是用來控制輸出數(shù)據(jù)的處理,并決定在發(fā)送輸出數(shù)據(jù)到顯示屏和其他輸出設(shè)備之前,終端驅(qū)動(dòng)程序是否以及如何來處理它們。c_cflag用于存放各種決定終端設(shè)備硬件特性的控制標(biāo)志,如串口的波特率、奇偶校驗(yàn)、停止位、數(shù)據(jù)位等。存放在c_lflag
中的本地模式標(biāo)志用來操縱串口如何處理輸入字
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 語言的美與表達(dá)試題及答案
- 專升本思政與經(jīng)濟(jì)發(fā)展試題及答案
- 2025年2個(gè)女兒離婚協(xié)議書模板
- 二零二五年度臨聘員工勞動(dòng)合同模板制作與解析
- 二零二五年度企業(yè)內(nèi)部廉潔自律規(guī)范執(zhí)行協(xié)議
- 二零二五年度房屋建筑漏水責(zé)任賠償與維修協(xié)議
- 2025年度櫥柜行業(yè)電商平臺(tái)合作合同
- 二零二五年度旅游行業(yè)員工轉(zhuǎn)正協(xié)議書范本
- 2025年度藝術(shù)畫廊墻布采購合同書
- 二零二五年度農(nóng)機(jī)租賃與農(nóng)業(yè)信息化平臺(tái)合作協(xié)議
- 《電線電纜培訓(xùn)》課件
- 肉牛營養(yǎng)需要
- 廣西壯族自治區(qū)桂林市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)居民村民委員會(huì)
- 《醫(yī)藥代表拜訪技巧及區(qū)域管理》PPT課件
- 附表1哈爾濱市尚志市水庫工程劃界成果表
- 事件研究法PPT課件
- 《劉姥姥進(jìn)大觀園》課本劇劇本3篇
- 監(jiān)理規(guī)劃細(xì)則審批表
- 國家開放大學(xué)《水利水電工程造價(jià)管理》形考任務(wù)1-4參考答案
- 礦泉水資源采礦許可證
- 焊接檢驗(yàn)培訓(xùn)課件(PPT 61頁)
評(píng)論
0/150
提交評(píng)論