Apollo详解之定位模块———导航设备硬件基础
本文以華測CHC? CGI-610組合導航為例
主機安裝方法
在實際安裝時,主機的GNSS1、GNSS2、4G接口分別通過數據線連接兩個GNSS天線、4G天線,最后一個COM接口連接數據線,用于連接工控機以及外接電源。
數據線接口定義
19PIN 數據線主要包括 3 個 RS232,1 個 RS422,1 個 CAN,一個電源口,其中C_RS232:可通過網頁配置選擇輸出組合導航融合數據(包括 GPCHC、GPGGA、GPRMC),最高輸出頻率 100HZ,默認波特率 230400,其與工控機連接。
數據協議
主機與工控機通過GPCHC 數據協議進行GPS信息傳輸,可通過 RS232 C 口以及 RS422 口輸出,默認波特率 230400。具體定義可參考說明書。
$GPCHC,GPSWeek,GPSTime,Heading,Pitch,Roll,gyro x,gyro y,gyro z,accx,accy,accz,Lattitude, Longitude,Altitude,Ve,Vn,Vu,Baseline,NSV1,NSV2,Status,Age,Warming,Cs<CR><LF>GPS驅動
利用ROS自帶的串口包,從串口中讀取GPCHC 數據協議的GPS數據,將其解析并發布至相關話題。
基本知識
1.串行通訊
串行通信技術,是指通信雙方按位進行,遵守時序的一種通信方式。串行通信中,將數據按位依次傳輸, 每位數據占據固定的時間長度,即可使用少數幾條通信線路就可以完成系統間交換信息,特別適用于計算機與計算機、計算機與外設之間的遠距離通信。串行通信多用于系統間通信(多主控制系統)、設備間(主控設備與附屬設備)、器件間(主控CPU與功能芯片)之間數據的串行傳送,實現 數據的傳輸與共享。
串行總線通信過程的顯著特點是:通信線路少,布線簡便易行,施工方便,結構靈活,系統間協商協議,自由度及靈活度較高,因此在電子電路設計、信息傳遞等諸多方面的應用越來越多。 [2]
串行通信是指計算機主機與外設之間以及主機系統與主機系統之間數據的串行傳送。使用一條數據線,將數據一位一位地依次傳輸,每一位數據占據一個固定的時間長度。其只需要少數幾條線就可以在系統間交換信息,特別適用于計算機與計算機、計算機與外設之間的遠距離通信。
分類編輯
串口
串行接口簡稱串口,也稱串行通信接口或串行通訊接口(通常指COM接口),是采用串行通信方式的擴展接口。串行接口 (Serial Interface)是指數據一位一位地順序傳送。其特點是通信線路簡單,只要一對傳輸線就可以實現雙向通信(可以直接利用電話線作為傳輸線),從而大大降低了成本,特別適用于遠距離通信,但傳送速度較慢。
接口劃分標準
串行接口按電氣標準及協議來分包括RS-232-C、RS-422、RS485。RS-232-C、RS-422、RS485標準只對接口的電氣特性做出規定,不涉及接插件、電纜或協議。
RS-232
也稱標準串口,最常用的一種串行通訊接口。其特點有:
信號線少
其使用9芯D型插座(DB9)
其中發揮主要作用的是2,3,5號引腳,起作用分別是數據輸入,數據輸出和信號接地。
采用負邏輯傳送
規定邏輯“1”的電平為-5V~-15 V,邏輯“0”的電平為+5 V~+15 V。RS -232的噪聲容限為2V,接收器將能識別高至+3V的信號作為邏輯“0”,將低到-3 V的信號作為邏輯“1”。
傳送距離較遠
其傳送距離一般可達30 m
靈活的波特率選擇
RS-232規定的標準傳送速率有50b/s、75b/s、110b/s、150b/s、300b/s、600b/s、1200b/s、2400b/s、4800b/s、9600b/s、19200b/s,可以靈活地適應不同速率的設備。對于慢速外設,可以選擇較低的傳送速率:反之,可以選擇較高的傳送速率。
2.GPS協議
簡介
GPS協議一般指:NMEA-0183協議。NMEA-0183協議是GPS接收機應當遵守的標準協議,大多數常見的GPS接收機、GPS數據處理軟件、導航軟件都遵守或者至少兼容這個協議。
它是一套定義接收機輸出的標準信息,有幾種不同的格式,每種都是獨立相關的ASCII格式,逗點隔開數據流,數據流長度從30-100字符不等,通常以每秒間隔選擇輸出。最常用的格式為"GGA",它包含了定位時間,緯度,經度,高度,定位所用的衛星數,DOP值,差分狀態和校正時段等,其他的有速度,跟蹤,日期等。NMEA-0183實際上已成為所有的GPS接收機和最通用的數據輸出格式,同時它也被用于與GPS接收機接口的大多數的軟件包里。
語句
NMEA-0183協議定義的語句非常多,但是常用的或者說兼容性最廣的語句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等,各個語句定義可參考這里。
NMEA通訊協議所規定的通訊語句都已是以ASCII碼為基礎的,NMEA-0183協議語句的數據格式如下:
“$”為語句起始標志;“,”為域分隔符;“ *”為校驗和識別符,其后面的兩位數為校驗和,代表了“$”和“*”之間所有字符的按位異或值(不包括這兩個字符);“/”為終止符,所有的語句必須以回車換行來結束,也就是ASCII 字符的“回車”(十六進制的0D)和“換行”(十六進制的0A)。
在讀取輸出語句時數據之間最好用“,”區分,不要按位讀取,以保證應用程序的兼容性。
例:$GPGSA,A,3,01,20,19,13,40.4,24.4,32.2*0A
補充:ASCII碼
簡介
ASCII是基于拉丁字母的一套電腦編碼系統,主要用于顯示現代英語和其他西歐語言。它是最通用的信息交換標準,到目前為止共定義了128個字符。
產生原因
在計算機中,所有的數據在存儲和運算時都要使用二進制數表示,而具體用哪些二進制數字表示哪個符號,當然每個人都可以約定自己的一套(這就叫編碼),而大家如果要想互相通信而不造成混亂,那么大家就必須使用相同的編碼規則,于是美國有關的標準化組織就出臺了ASCII編碼,統一規定了上述常用符號用哪些二進制數來表示。
表達方式
ASCII碼,使用7 位二進制數(剩下的1位二進制為0)來表示所有的大寫和小寫字母,數字0 到9、標點符號,以及在美式英語中使用的特殊控制字符。十進制 (0 - 127),十六進制 (0 - 7F)。
- 0~31及127(共33個)是控制字符或通信專用字符(其余為可顯示字符),如控制符:LF(換行)、CR(回車)等,它們并沒有特定的圖形顯示,但會依不同的應用程序,而對文本顯示有不同的影響。
- 32~126(共95個)是字符(32是空格),其中48~57為0到9十個阿拉伯數字,65~90為26個大寫英文字母,97~122號為26個小寫英文字母,其余為一些標點符號、運算符號等。
同時還要注意,在標準ASCII中,其最高位(b7)用作奇偶校驗位。所謂奇偶校驗,是指在代碼傳送過程中用來檢驗是否出現錯誤的一種方法,一般分奇校驗和偶校驗兩種。奇校驗規定:正確的代碼一個字節中1的個數必須是奇數,若非奇數,則在最高位b7添1;偶校驗規定:正確的代碼一個字節中1的個數必須是偶數,若非偶數,則在最高位b7添1
常用工具
ASCII碼在線轉換計算器及轉換表
實際使用感受
- 導航設備在室內或靠近樓房時信號較差,需要到室外才可以正常接收GPS信號
- 導航設備使用前需要進行配置,具體配置方法可參考設備說明書
- 導航設備通過串口與工控機通信
參考資料
百度百科、華測CHC? CGI-610組合導航說明書
總結
以上是生活随笔為你收集整理的Apollo详解之定位模块———导航设备硬件基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 陀螺仪滤波_Arduin
- 下一篇: Baize_ServoDriver_es