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