1 / 21

96 學年度 電機工程學系 專題製作競賽

96 學年度 電機工程學系 專題製作競賽. 題目:以 MATLAB 為基礎之 GPS 定位系統製作. 參賽組別:控制組 指導老師:李贊鑫 教授 參賽學生:葉人慈、方泰翔 2008/6/4. PC or Notebook. 全球定位系統. GPS 衛星. MATLAB. 描繪路徑點 (waypoint). 天線. 擷取與分析資料. 串列埠介面. GPS Sensor. 即時顯示地圖. 傳送資料. 系統示意圖. 系統裝置. Sensor: GARMIN GPS 15H. antenna. notebook. serial port (RS232).

ace
Télécharger la présentation

96 學年度 電機工程學系 專題製作競賽

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 96學年度 電機工程學系 專題製作競賽 題目:以MATLAB為基礎之GPS定位系統製作 參賽組別:控制組 指導老師:李贊鑫 教授 參賽學生:葉人慈、方泰翔 2008/6/4

  2. PC or Notebook 全球定位系統 GPS衛星 MATLAB 描繪路徑點(waypoint) 天線 擷取與分析資料 串列埠介面 GPS Sensor 即時顯示地圖 傳送資料 系統示意圖

  3. 系統裝置 Sensor: GARMIN GPS 15H antenna notebook serial port (RS232)

  4. GPS 接收器 主程式 地圖影像檔 串列埠 地圖程式 地圖產生器 位元組可用觸發事件 計時器觸發事件 持續接收資訊狀態 取得字句 地圖目錄檔 顯示路徑圖 分析字句 選擇模式 start 顯示地圖 儲存資料 調整圖軸邊際 NMEA 0183 文字檔 衛星資料 文字檔 定位資料 文字檔 系統主要功能及架構 • 系統功能: • 接收GPS衛星資訊 • 即時記錄資料 • 即時顯示地圖及軌跡 • 兼具智慧型與人性化的地圖顯示及操作介面 • 使用現有之地圖圖像檔 • 組態GPS感測器 • 離線模式模擬 • 系統架構流程圖:

  5. 主視窗設計 模式選擇 NMEA字句 UTC↓ 臺灣時間 經緯度、高度 knot→ km/hr GPS衛星狀態 GPS衛星位置圖 資料記錄 組態GPS Sensor

  6. NMEA協定 (National Marine Electronics Association) • 版本:NMEA 0183 • 由GPS sensor接收:Received NMEA 0183 sentences • 由GPSsensor送出:Transmitted NMEA0183 sentences • Transmitted sentences 摘要:

  7. 處理 NMEASentences • NMEA0183句型,以RMC為例: • 讀取原則: • 以<CR><LF>為終止字元(terminator) (carriage return, line feed) • 確認起始記號($)與終止記號(*) • 以句型種類決定讀取程序 • 偵錯法: • 判斷偵錯碼(checksum) • 確認欄位數符合該句型的格式 • $GPGSV,3,1,10,K,,N,N*31$GPGSA,A,3,03,,11,13,16,W*61兩者的checksum都正確,所以偵錯碼偵錯結果沒有問題。但是其實這兩個句子是不合NMEA協定的,部分欄位(field)出現該欄位不該出現的值,甚至欄位的個數跟標準協定不符,但checksum是對的。 起始記號 UTC時間 緯度 對地速度 UTC日期 偵錯碼 <CR><LF> $GPRMC,025219,A,2432.5300,N,12048.6776,E,031.5,160.9,211107,003.3,W*6A 句型 GPS狀態 經度 對地航徑 磁偏角 終止記號

  8. 回轉檔案定位器 取得一列字句 記錄字句 分析字句 取得的字句的種類順序 RMC Go_fixdata = 1 (End_fixdata = 1) 顯示字句 GPS接收器 GGA NMEA文字檔 GSA GSV 第一GSV字句 Go_satellitesdata = 1 最後GSV字句 End_satellitesdata = 1 Go_satellitesdata = 0 記錄定位資料 End_satellitesdata == 1 顯示定位資料 記錄衛星資料 End_fixddata = 0 顯示衛星資料 顯示衛星位置示意圖 PGRME Go_fixdata == 1 End_fixdsdata = 1 Go_fixdata = 0 End_satellitesdata = 0 End_fixdata == 1 PGRMM 顯示地圖座標系統資訊 PGRMB PGRMT 顯示GPS裝置資訊 取得與分析字句之程式流程

  9. 地圖視窗設計 地圖 & 軌跡 定位顯示 路徑點 顯示範圍 刻度尺大小設定 軌跡點數 設定 2D 3D 地圖檔 來源設定 高度 整批軌跡顯示

  10. 路徑點追蹤範圍 追蹤路徑點──調整圖軸邊際(XLim、YLim) • 控制XY軸邊際,使路徑點及地圖保持在畫面顯示的範圍內 • 多重目的整合的設計: • 即時顯示路徑點時:判斷單點 • 顯示歷史路徑點時:判斷多點 • 調整刻度尺大小時:針對中心點(定點) waypoints 0 2 4 6 8 10 ‧‧‧‧‧‧ 圖軸中心點

  11. ypixel y1 lat1 lat y2 lat2 long lat0 0 0 xpixel long0 x1 x2 long1 long2 • 已知其中任意兩點的經緯度座標 • 南北為縱向、東西為橫向 • 經緯刻度間隔分別為定值 • 格式化結果: • 取得圖檔的經緯度分佈範圍 • 存成地圖目錄(文字檔) 現成地圖的格式化

  12. 決定地圖的顯示 • 給定地圖間距的最小截距(R),算出用來判斷地圖的位置點座標。 • 當R=1時,則判斷點座標為畫面的四個角落。 YLim(2) Xp(0) Xp(1) Xp(2) Xp(3) YLim(1) R R R XLim(1) XLim(2) X = XLim(2) – XLim(1) = YLim(2) – YLim(2) N = ceil( X / R ); ceil: round toward +infinity n = 0 →N Xp = XLim + X/N*n

  13. 1個路徑點座標 判斷該點是否在「地圖結構」的範圍內: isinmapregion 是 否 該地圖是否「顯示中」 * 從「地圖目錄檔」中搜尋: 開啟檔案→搜索地圖範圍 否 是 確認範圍: check region 插入地圖 *藉由「地圖結構陣列」的識別碼插入 該點位置已經有地圖顯示,此時不必做與地圖相關的動作 是 否 *將地圖資訊存入「地圖結構」中 插入地圖 *藉由「地圖結構陣列」的識別碼插入 該點位置沒有找到相對應的地圖可以顯示 顯示地圖之程式流程 • 對某位置點判斷包含該點之地圖圖檔,顯示之。 • 利用地圖結構(cell array: Im)存放地圖資訊,減少開啟地圖目錄檔的頻率。

  14. 實測成果 • 實測時間:96年11月21日 上午10:00至12:00 • 實測路徑:聯合大學(尖豐公路)→後汶公路 →經國路→新東大橋→苗栗交流道→國道1號 →三義交流道→國道1號→後汶公路→聯合大學

  15. 專題實測成果 • 路徑點顯示 • 移動速度顯示 新東大橋 速度顯示(km/hr) 新東大橋實景 實測路徑圖(新東大橋)

  16. 專題實測成果 • 高度 (高程圖)顯示 高速公路上坡路段實景 高度圖顯示(上坡中) 實測高度圖(坡度顯示)

  17. 即時記錄NMEA字句、定位資訊、衛星資訊 專題實測成果

  18. 聯合大學 • 全部路徑點顯示 苗栗交流道(132.8 km) 國道1號 中山高速公路 專題實測成果 三義交流道(150.2 km)

  19. 謝謝大家!!!

  20. 取得路徑點追蹤範圍欄位的值 路徑點追蹤範圍欄位的值 若大於10則重設為10; 若小於0則重設為0 求出路徑點追蹤範圍的圓的邊界(點到圖軸中心的距離),即路徑點追蹤範圍的圓的半徑:bound_focus = (scale / 2) * precise_focus 求出圖軸中心的座標: xc, yc分別為xlim, ylim的平均值 將路徑點追蹤範圍欄位的值(0~10)除以10,成為精密度百分比:precise_focus% 求出某點或多點與圖軸中心的最大距離p2c 取得刻度尺滑軸的值:scale 取得目前圖軸的邊際值:xlim, ylim 判斷p2c是否超出路徑點追蹤範圍的半徑 是 若p2c大於scale/2,則改變scale(使p2c = scale * pof) 否 重設圖軸中心點xc, yc: 在單點時以該點為圖軸中心; 在多點時把所有點的幾何中心作為圖軸中心 完成圖軸邊際設定 調整圖軸邊際之程式流程圖*

  21. 調整圖軸邊際之運算狀態表*

More Related