<delect id="wx3pc"><noframes id="wx3pc"><noframes id="wx3pc"><noframes id="wx3pc"><rt id="wx3pc"></rt><noframes id="wx3pc"><noframes id="wx3pc"><noframes id="wx3pc"><rt id="wx3pc"><bdo id="wx3pc"></bdo></rt><noframes id="wx3pc"><rt id="wx3pc"><delect id="wx3pc"></delect></rt> <rt id="wx3pc"><delect id="wx3pc"></delect></rt><delect id="wx3pc"></delect><noframes id="wx3pc"><rt id="wx3pc"><rt id="wx3pc"></rt></rt><noframes id="wx3pc"><rt id="wx3pc"></rt><rt id="wx3pc"></rt><noframes id="wx3pc"><noframes id="wx3pc"><rt id="wx3pc"></rt><noframes id="wx3pc"><rt id="wx3pc"><delect id="wx3pc"></delect></rt> <rt id="wx3pc"><rt id="wx3pc"></rt></rt><rt id="wx3pc"><rt id="wx3pc"></rt></rt><rt id="wx3pc"><delect id="wx3pc"></delect></rt><rt id="wx3pc"></rt><rt id="wx3pc"></rt><noframes id="wx3pc"><rt id="wx3pc"><delect id="wx3pc"><delect id="wx3pc"></delect></delect></rt><noframes id="wx3pc"><rt id="wx3pc"><delect id="wx3pc"></delect></rt>

服務機器人行業領先品牌

技術專欄 當前位置:首頁 > 資訊中心 > 技術專欄

GPS模塊如何應用于機器人運動導航定位

發布時間:2018-10-29瀏覽次數:23684字號:

1. GPS簡述


GPS定位已經是非常普及的技術了,不夸張的說,現今社會幾乎人人都在主動或被動的使用它。最最常見的應用案例就是智能手機了?,F在每一款手機都內置有GPS定位功能,使用者可以隨時知道自己所在的位置。

GPS的全稱是“全球衛星定位系統”,目前投入商業應用的主要有四套選擇:GPS 系統(美國)、BDS 系統(中國北斗)
、GLONASS 系統(俄羅斯)和伽利略衛星導航系統(歐盟)。

GPS就是利用設備接收到的組網衛星信號來計算出設備當前的準確的地理位置,實現原理并不神秘,想了解更多技術原理請百度一下,此處不再重述。

毋庸置疑,美國的GPS系統目前是完備和商用化最普及的首選系統,中國的北斗系統這幾年發展迅猛,現在定位精度和使用范圍已經媲美國的GPS系統,在有些區域甚至超過美國GPS。俄羅斯和歐盟的自主GPS系統由于受到經費預算成本的困擾,近期發展進步并不明顯,因此用戶數量有限,尚未全面普及。



2. 機器人利用GPS/BDS模塊來定位的可行性與局限性


GPS/BDS模塊在戶外機器的定位導航方面是一個最基本的配置。注意這里主要是針對在戶外工作的機器人,若您的機器人是室內使用的,根本不會被允許到室外工作,那么GPS/BDS模塊就沒有任何價值了。因為建筑物的屋頂和墻體會把GPS衛星信號大幅度削弱,一般商用級別的GPS模塊根本接收不到符合要求的信號。

是不是戶外機器人搭載GPS模塊,就可以精確知道自己的位置?是,也不是!說是,是因為在大尺度地圖(比例尺一般為每厘米100米左右)上,普通商用經濟款的GPS模塊一般能達到的定位精度是20米~50米,在100米/厘米這個級別的地圖上可以比較準確的知道機器人當前位置。說不是,是指在機器人工作區域的微尺度地圖(一般是每厘米以下),普通GPS/BDS模塊給出的位置誤差范圍太大,僅僅利用普通GPS模塊算出來的經緯度坐標無法實現機器人的準確定位,當然更無法推算出機器人的準確運動方向。很遺憾,2米以上的位置誤差對機器人完成指定任務的應用來說是不可接受的。

有些人可能很好奇,為什么很多商用的GPS模塊的技術參數上都寫的是2.5米的精度,你這里卻說是10~50米,是不是你用的GPS太LOW了?有過GPS模塊使用經驗的工程師會告訴你,沒錯!理論上標稱2.5米的誤差的普通商用經濟款GPS模塊,在實際應用中,10~50米的誤差是非常正常的。產生這個誤差的原因有很多,在此暫不展開。

最近幾年,RTK差分技術讓GPS/BDS有了更精確的定位功能。應用RTK技術,無論是自建基站還是訪問第三方基站(例如千尋),在空曠的戶外場地條件下,都可以達到10厘米左右的精確定位。RTK技術的普及讓空曠條件下的精確定位不在是問題,但對于行走在園區的機器人仍然有2個問題是RTK不能解決的:一是航向角在低速或者靜止狀態時無法準確獲得;二是在有高大建筑物遮擋或者茂密植被遮擋GPS信號時RTK無法正常工作。

3. ROS機器人如何利用GPS/BDS模塊來精確定位


看到上面的結論,使用普通的GPS/BDS模塊,對機器人的定位導航作用并不大。但是使用RTK差分技術的GPS/BDS,對室外運動的機器人有非常大的幫助。當前,機器人都配置有激光雷達、IMU、視覺分析等多種傳感器,利用這些設備,一方面機器人可以及時發現周圍障礙物并及時躲避,另一方面機器人也可是利用這個些精確測距傳感器來實現局部環境識別定位與導航。

很顯然,利用差分GPS/BDS模塊 + IMU +激光雷達這樣的三角組合,就可以使戶外機器人在絕大多數戶外場景下可以準確定位了。



4. GPS模塊接收到的數據如何變成機器人工作地圖的位置坐標


普通商用GPS模塊輸出的數據格式均符合NMEA0183標準,通過串口通訊,機器人可以獲得的GPS數據實例如下:
$GNGGA,084852.000,2236.9453,N,11408.4790,E,1,05,3.1,89.7,M,0.0,M,,*48
$GNGLL,2236.9453,N,11408.4790,E,084852.000,A,A*4C
$GPGSA,A,3,10,18,31,,,,,,,,,,6.3,3.1,5.4*3E
$BDGSA,A,3,06,07,,,,,,,,,,,6.3,3.1,5.4*24
$GPGSV,3,1,09,10,78,325,24,12,36,064,,14,26,307,,18,67,146,27*71
$GPGSV,3,2,09,21,15,188,,24,13,043,,25,55,119,,31,36,247,30*7F
$GPGSV,3,3,09,32,42,334,*43
$BDGSV,1,1,02,06,68,055,27,07,82,211,31*6A
$GNRMC,084852.000,A,2236.9453,N,11408.4790,E,0.53,292.44,141216,,,A*75
$GNVTG,292.44,T,,M,0.53,N,0.98,K,A*2D
$GNZDA,084852.000,14,12,2016,00,00*48
$GPTXT,01,01,01,ANTENNA OK*35
數據里面有三種數據類型GN、GP、BD ,他們分別代表雙模模式、GPS 模式、北斗模式
NMEA0183 協議 幀格式內容可以參考以下幾個表格
(1) $GPGGA (GPS 定位信息)
(2) L $GPGLL (地理定位信息)
(3)A $GPGSA (當前衛星信息)
(4) $GPGSV (可見衛星信息)
(5) $GPRMC (最簡定位信息)
(6) $GPVTG (地面速度信息)(7)天線狀態輸出
我們主要使用GPGGA(或GNGGA)這一幀的數據,具體分析如下:


1) UTC 時間,格式是 hhmmss.sss ,小數點后三位秒忽略,那就 08 點 48 分 52秒。UTC + 時區差 = 本地時間時區差東為正,西為負。在此,把東八區時區差記為 +08, 所以北京時間是 16 點 48 分 5 秒

2) 收到的經緯度的數據格式是度分格式,實際使用中為了方便要換算成度+十進制小數,例如:
緯度:ddmm.mmmm 北緯 2236.9453 22+(36.9453/60)= 22.615755
經度:dddmm.mmmm 東經 11408.4790 114+(08.4790/60)=114.141317

3)第8項是衰減因子,這個數值代表的是誤差水平。


機器人定位主要用經緯度和衰減因子這三個指標。經緯度用來定位,衰減因子用來計算出定位誤差半徑。

對于已經繪制好的機器人地圖,ROS架構下用的最多的PGM格式的占位地圖,由這種地圖的定位是以米為單位的XY二維平面坐標系,這個坐標系和GPS提供的經緯度坐標系需要用至少兩個點來標定轉換才能互通,因此,當機器人使用二維PGM格式的占位地圖來定位導航時,我們必須先選取PGM地圖上的兩個點作為標定參考點(通常選坐標原點和X軸上的最遠距離點作為標定參考點),然后再記錄下這兩個標定點的經緯度數值,通過平面幾何的三角函數計算出GPS經緯度坐標系和PGM地圖坐標系之間的轉換函數,這樣就將GPS獲得的經緯度數據與機器人的地圖坐標一一對應起來


為了能讓ROS機器人利用接收到的GPS信息進行定位導航這里需要編寫兩個專門的節點,一個用來讀取GPS模塊的幀信息,另一個用來把GPS信息轉化為ROS地圖坐標的節點,用C++或PYTHON可以比較容易的實現上述經緯度和PGM坐標

系之間的轉換函數。同時,還需要對ROS下的改良過的AMCL節點進行二次處理,讓RTK與激光雷達SLAM合理分工,這樣才能精確的實現諸如巡檢機器人、安防機器人等ROS架構機器人的精確定位與導航

 

上一篇:已經沒有了

下一篇:ROS機器人軟件開發平臺的前世今生

 
在線咨詢
QQ客服一
QQ客服二
微信客服
15013678826
返回
頂部
福利猛男黄色_国产一区大胸裸色视频网_中文字幕成人免费视频不卡_98色偷偷色噜噜狠狠网站
<delect id="wx3pc"><noframes id="wx3pc"><noframes id="wx3pc"><noframes id="wx3pc"><rt id="wx3pc"></rt><noframes id="wx3pc"><noframes id="wx3pc"><noframes id="wx3pc"><rt id="wx3pc"><bdo id="wx3pc"></bdo></rt><noframes id="wx3pc"><rt id="wx3pc"><delect id="wx3pc"></delect></rt> <rt id="wx3pc"><delect id="wx3pc"></delect></rt><delect id="wx3pc"></delect><noframes id="wx3pc"><rt id="wx3pc"><rt id="wx3pc"></rt></rt><noframes id="wx3pc"><rt id="wx3pc"></rt><rt id="wx3pc"></rt><noframes id="wx3pc"><noframes id="wx3pc"><rt id="wx3pc"></rt><noframes id="wx3pc"><rt id="wx3pc"><delect id="wx3pc"></delect></rt> <rt id="wx3pc"><rt id="wx3pc"></rt></rt><rt id="wx3pc"><rt id="wx3pc"></rt></rt><rt id="wx3pc"><delect id="wx3pc"></delect></rt><rt id="wx3pc"></rt><rt id="wx3pc"></rt><noframes id="wx3pc"><rt id="wx3pc"><delect id="wx3pc"><delect id="wx3pc"></delect></delect></rt><noframes id="wx3pc"><rt id="wx3pc"><delect id="wx3pc"></delect></rt>