上周我們發布了Apollo入門課堂第②講—高精地圖,收到了很多開發者的認同和贊賞,也看到越來越多的開發者對學習自動駕駛技術有了濃厚的興趣。希望有更多開發者能夠通過本門課程,學到更多的自動駕駛知識。
本周我們將介紹定位模塊的知識,了解車輛如何以個位數厘米級別的精度進行自定位。
定位是讓無人車知道自身確切位置的方法,這是一個美妙但是十分艱難的任務,同時也對無人駕駛車十分重要。定位不僅僅是找出自身的大概方位,而是要以10cm級別,將車感信息與高精地圖信息進行比較來精確的位置尋找。
第三課,定位
Sebastian帶你學習定位
1
定位的概述
在日常生活中假設你手中有一張高精地圖,定位的任務是確定你的車輛在這張高精地圖上的位置。
大多數時候,我們使用GPS來進行定位,但是GPS對于無人車來說還不夠精確。因此我們必須找到另一種方法來更準確地確定車輛在地圖上的位置。最常用的方法是將汽車傳感器所看到的內容與地圖上所顯示的內容進行比較。車輛傳感器可以測量車輛與靜態障礙物之間的距離。我們在車自身的坐標系中測量這些距離以及這些靜態障礙物的方向。在車的坐標系中,汽車的前進方向始終向前,坐標系正方向始終與車頭保持一致,但不一定與地圖坐標系保持一致。當車輛傳感器測量到地圖上的物體,會將傳感器的地標觀測值,與地標在地圖上的位置匹配,轉換到地圖自帶坐標系,反之亦然,從而達到地圖與車感數據的對比。
定位提供了許多可選擇的方法,但每種都有自己的優劣。接下來將介紹主流的定位方法。
高精地圖最重要特征之一是精度,手機上的導航地圖只能達到米級精度,而高精地圖可以使車輛能夠達到厘米級的精度,這對確保無人車的安全性至關重要。
2
定位方法介紹
GNSS RTK
如果在野外迷路,假如你看到自己離一棵樹 75 米遠,你只知道自己位于一個以樹為中心半徑為75米的圓上。但是如果看到一個離自己 64 米遠的房子,你就會知道自己位于兩個圓的交點處,但仍不知道自己位于哪個交點上。假設你看到了第三個路標,如路燈。經過測量你發現自己離路燈55 米遠,自己就知道了相對于這些地標的確切位置。
首先。假設現在有一個世界地圖標注了這三個地標在世界上的確切位置,那么就可以知道自身的確切位置了,這就被稱為三角測量。
GPS就是這樣的工作原理,只是參照物并不是地標而是衛星。三顆衛星再加上一顆用來定位高度的衛星,4顆衛星就可以知道自身的確切位置了。GPS這類系統的通用名稱為全球導航衛星系統或GNSS,GPS 是其中使用最廣泛的GNSS 系統。
GPS分為三部分。第一部分是衛星,在任何特定時間大約有 30 顆 GPS 衛星在外層空間運行,它們各自距離地球表面約 2 萬公里。第二部分由世界各地的控制站組成,控制站用于監視和控制衛星,其主要目的是讓系統保持運行并驗證 GPS 廣播信號的精確度。第三部分是 GPS 接收器,GPS 接收器存在于手機、電腦、汽車、船只以及許多其他設備中。
GPS接收器實際上并不直接探測你與衛星之間的距離,它首先測量信號的飛行時間即TOF原理。通過將光速乘以這個飛行時間,來計算離衛星的距離。由于光速的值很大,即使是少量的時間誤差也會在距離計算中造成巨大的誤差。
因此每顆衛星都配備了高精確度的原子鐘。為進一步減小誤差,使用實時運動定位(RTK)。RTK 涉及在地面上建立幾個基站,每個基站都知道自己精確的“地面實況”位置,但是每個基站也通過 GPS 測量自己的位置。已知的“地面實況”位置與通過 GPS 測量的位置之間的偏差,為 GPS 測量結果中的誤差。然后將這個誤差傳遞給其他 GPS 接收器以供其調整自身的位置計算。在 RTK 的幫助下,GPS 可以將定位誤差限制在 10 厘米以內。
但是仍存在高樓和其他障礙物可能阻擋 GPS 信號的問題,這使定位變得困難或根本無法定位。GPS 的更新頻率很低,大約為 10 赫茲。由于無人駕駛車在快速移動,可能需要更頻繁地更新位置。
慣性導航
假設一輛汽車正以恒定速度直線行駛,如果提供了汽車的初始位置、速度、行駛時長,那么汽車的位置即從初始位置開始,然后速度乘以時間。
假如給予一輛汽車的初始速度,并給予加速度和駕駛時間,就可以使用加速度、初始速度、初始位置來計算汽車在任何時間點的車速和位置。
加速度需要三軸加速度計的傳感器來測量,有三種不同類型的三軸加速度計,它們采用不同的方法,但共同的目標是精確測量加速度。加速度計根據車輛的坐標系記錄測量結果,還需要陀螺儀傳感器將這些測量值轉換為全局坐標系測量值。
三軸陀螺儀的三個外部平衡環一直在旋轉,但三軸陀螺儀中的旋轉軸始終固定在世界坐標系中。在坐標系中的位置是通過測量旋轉軸和三個外部平衡環的相對位置來計算的。
加速度計和陀螺儀是慣性測量單元(IMU)的主要組件,IMU 可以以高頻率更新,可達 1000 赫茲,所以 IMU 可以提供接近實時的位置信息。但缺點在于其運動誤差隨時間增加而增加,我們只能依靠慣性測量單元在很短的時間范圍內進行定位。但是我們可以結合 GPS 和 IMU 來定位汽車,一方面 IMU 彌補了 GPS 更新頻率較低的缺陷。另一方面 GPS 糾正了 IMU 的運動誤差。但是即使將 GPS 和 IMU 系統相結合也不能完全解決定位問題,比如我們在山間行駛或城市峽谷中或在地下隧道中行駛,那么可能長時間沒有 GPS 更新。
激光雷達定位
利用激光雷達,可以通過點云匹配來對汽車進行定位。該方法將來自激光雷達傳感器的檢測數據與預先存在的高精地圖之間匹配,通過這種比較可獲知汽車在高精度地圖上的全球位置和行駛方向。匹配點云有多種方法,比如迭代最近點(ICP)就是一種方法。對于第一次掃描中的每個點,需要找到另一次掃描中最接近的匹配點。最終會收到許多匹配點對, 把每個點的距離誤差相加,然后計算平均距離誤差。假設我們對兩次點云掃描進行匹配。我們的目標是通過點云旋轉和平移來最大限度地降低這一平均距離誤差,就可以在傳感器掃描和地圖之間找到匹配,將通過傳感器掃描到的車輛位置轉換為全球地圖上的位置并計算出在地圖上的精確位置。
濾波算法是另一種LiDAR 定位方法。將通過傳感器掃描到的車輛位置轉換為全球地圖上的位置并計算出在地圖上的精確位置,濾波算法是另一種LiDAR 定位方法。濾波算法可消除冗余信息并在地圖上找到最可能的車輛位置。Apollo 使用了直方圖濾波算法,該方法有時也被稱為誤差平方和算法( SSD)。為了應用直方圖濾波,將通過傳感器掃描的點云滑過地圖上的每個位置,在每個位置上計算掃描的點與高精度地圖上的對應點之間的誤差或距離然后對誤差的平方求和,求得的和越小掃描結果與地圖之間的匹配越好。在事例中,藍色表示較好,紅色較差,綠色表示一般。
卡爾曼濾波是另一種LiDAR 定位方法,卡爾曼濾波用于根據我們在過去的狀態和新的傳感器測量結果預測我們當前的狀態。具體來說,卡爾曼濾波使用了預測更新周期,首先我們根據之前的狀態以及對移動距離和方向的來估計我們的新位置。當然運動估計并不完美,所以需要通過使用傳感器測量我們的位置并加以糾正。一旦傳感器測量了我們的新位置,我們便可以使用概率規則將不完美的測量結果與現有位置匹配起來。我們會永遠遵循這個預測更新周期,只要我們需要對車輛進行定位,先預測我們的新位置,然后用傳感器測量我們的位置。LiDAR定位的主要優勢在于穩健性,只要從高精地圖開始并且存在有效的傳感器,就始終能夠進行定位。主要缺點在于難以構建高精地圖并使其保持最新,事實上幾乎不可能讓地圖完全保持最新,因為幾乎每個地圖均包含瞬態元素,汽車、行人、停放的汽車、垃圾等。
視覺定位
圖像是要收集的最簡單的數據類型,攝像頭便宜且種類繁多、易于使用。通過圖像實現精確定位卻非常困難,實際上攝像頭圖像通常與來自其他傳感器的數據相結合以準確定位車輛,將攝像頭數據與地圖和 GPS 數據相結合,比單獨使用攝像頭圖像進行定位的效果更好。假設一輛車正在路上行駛,感知到右邊有樹,但是地圖顯示道路右側有幾棵樹有很多不同的點位置。如何知道車輛現在看到哪棵樹?我們可以使用概率來確定哪個點最可能代表我們的實際位置。有些點是無法看到右邊有樹,可以先排除。
繼續開車可以發現,有些點右邊只有一棵樹,也可以排除。
該過程稱為粒子濾波。當然樹木在許多道路上比較稀少,但是車道線在許多道路上卻很常見,可以使用相同的粒子濾波原理對車道線進行拍照,然后使用拍攝的圖像來確定車輛在道路中的位置,可以將道路攝像頭圖像與地圖進行比較。如圖所示,藍色代表地圖上兩個不同位置的車道線,紅色代表車輛攝像頭觀察到的車道線,紅線與右側藍線的匹配度要比與左側藍線的匹配度高得多,更有可能位于右側圖像位置上。
視覺定位的優點在于圖像數據很容易獲得,缺點在于缺乏三維信息和對三維地圖的依賴。
高精地圖不僅可以減少計算需求,還可以通過提供有關駕駛環境的詳細信息,來確保無人車的安全。保持這些地圖的更新是一項重大任務,測試車隊需要不斷地對高精度地圖進行驗證和更新。此外,這些地圖可能達到幾厘米的精度,這是水準最高的制圖精度。
Apollo定位
Apollo使用基于GPS、IMU、激光雷達的多傳感器融合定位系統,這種方法利用了不同傳感器的互補優勢,也提高了穩定性和準確性。
Apollo定位模塊依賴于IMU、GPS、激光雷達、雷達、高精地圖,這些傳感器同時支持 GNSS 定位和LiDAR 定位,GNSS 定位輸出位置和速度信息,LiDAR 定位輸出位置和行進方向信息。融合框架通過卡爾曼濾波將這些輸出結合在一起。
卡爾曼濾波建立在兩步預測測量周期之上,在Apollo中,慣性導航解決方案用于卡爾曼濾波的預測步驟,GNSS 和 LiDAR 定位用于卡爾曼濾波的測量結果更新步驟。
-
gps
+關注
關注
22文章
2886瀏覽量
166055 -
無人駕駛
+關注
關注
98文章
4038瀏覽量
120309 -
自動駕駛
+關注
關注
783文章
13694瀏覽量
166166
原文標題:Apollo自動駕駛入門課程第③講 — 定位
文章出處:【微信號:Apollo_Developers,微信公眾號:Apollo開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論