定位,是讓自動駕駛汽車找到自身確切位置的方法,這對自動駕駛汽車來說非常重要。當你在駕駛一輛車時徹底迷路了,你不知道自己在哪兒,而這時你有一張全球的高精度地圖,定位的任務就是確定你的車輛在這張高精度地圖上的位置(見圖1)。 ?
圖2 ? 在日常生活中,我們一直使用手機 GPS 來確定自己的位置,但 GPS 1到3米之間的精確度對自動駕駛汽車來說不夠精確。而當我們被高樓、山脈環繞,或位于峽谷內時,GPS 的精度可能會更差,只有10米或50米(見圖2)。 ? 由于我們無法完全信任 GPS,因此我們必須找到另一種方法來更準確地確定車輛在地圖上的位置。最常用的方法是,將車輛傳感器所看到的內容與地圖上所顯示的內容進行比較,車輛傳感器可以測量車輛與靜態障礙物(樹木、電線桿、路標和墻壁)之間的距離。 ?
圖3 ? 我們在車輛自身的坐標系中測量這些距離,以及靜態障礙物的方向。在車輛自身的坐標系中,汽車的前進方向始終向前,當汽車左轉或右轉時,坐標系與汽車一同旋轉,以使車輛的前進方向在坐標系中繼續向前。隨著車輛的轉彎,車輛自身的坐標系必然與地圖坐標不一致(見圖3),車輛的坐標和地圖的坐標可能都取決于手機導航系統中的設置。 ?
圖4 ? 在地圖上也有可能找到車輛傳感器所檢測到的地標,為估計車輛在地圖上的位置,我們將傳感器的地標觀測值與這些地標在地圖上的位置進行匹配,地圖自帶坐標系,無人駕駛軟件必須將傳感器的測量得到的在車輛坐標系中的坐標,轉換為地圖坐標系中的坐標(見圖4),執行這類轉換是解決定位問題的關鍵步驟。 ? 總結:車輛將其傳感器識別的地標與高精地圖上存在的地標進行對比,為了進行該對比,必須能夠在它自身坐標系和地圖坐標系之間相互轉換數據。而后,系統必須在地圖上以十厘米的精度確定車輛的精確位置。 ? 定位提供了許多可供選擇的方法,每種方法都有各自的優缺點。接下來,我們將探討幾種常見的自動駕駛汽車定位方法。 ? ▍全球導航衛星系統?GNSS ? 如果你迷路了,要如何在高精度地圖上確定自己的位置? ?
圖5 ? 假如你看到自己離一棵樹75米遠,你可能比較清楚自己處在什么位置,但仍然不能確定,因為你只能判斷自己位于一個以樹為圓心、半徑75米的圓上(見圖5)。 ?
圖6 ? 然后,你看到一個離自己64米遠的房子,于是你知道自己位于兩個圓的交點處,但不知道自己位于哪個交點上(見圖6)。 ?
圖7 ? 現在假設你看到第三個路標:一個距離你離你55米遠的路燈,如果你有一張地圖,里面注明了這些地標在世界上的確切位置,那么你就能知道自己相對于這些路標的確切位置,這個過程被稱為三角測量(見圖7)。 ? 我們要在地球表面上進行三維定位,使用的是傳送地標與我們之間距離的衛星,而不是我們可以看到的地標,這就是 GPS 工作的原理,那么,我們需要幾顆衛星才能確切知道自己的位置? ? GPS 即全球定位系統,是一種由美國政府開發、并在全球范圍運營的衛星導航系統。這類系統的通用名稱為全球導航衛星系統或 GNSS,GPS 是使用最廣泛的 GNSS 系統。起初 GPS 只是用于軍事導航,但現在任何人都可以使用 GPS 接收器,從 GPS 衛星收集信號并使用該系統。 ? GPS 由三部分組成:
衛星。在任何特定時間,大約有30顆 GPS 衛星在太空運行,他們各自距離地球表面約2萬公里。
控制站。控制站分散在世界各地,用于監視和控制衛星,其主要目的是讓系統保持運行,并驗證 GPS 廣播信號的精確度。 ?
GPS 接收器。GPS 接收器存在于手機、電腦、汽車、船只以及許多其他設備中,如果周圍沒有高樓等障礙物并且天氣良好,那么無論你身在何處,GPS 接收器應每次至少檢測到四顆 GPS 衛星。 ?
?
? GPS 接收器實際上并不直接探測你與衛星之間的距離。它首先測量信號的飛行時間,即信號從衛星傳播到你的 GPS 接收器需要多長時間,然后通過將光速乘以這個飛行時間來計算衛星的距離。 ?
▍實時運動定位 RTK
因為光速的值很大,即使是少量的時間誤差也會在計算過程中造成巨大的誤差,所以每顆衛星都配備了高精度的原子鐘。而為進一步減小誤差,我們可以使用 RTK(實時運動定位)。 ? RTK 需要在地面上建立幾個基站,每個基站都知道自己精確的地面位置,同時每個基站也通過 GPS 測量自己的位置,已知的地面位置與通過 GPS 測量的位置之間的偏差為 GPS 測量結果中的誤差,然后基站將這個誤差傳遞給其他 GPS 接收器,以供其調整自身位置的定位結果。 ?
? 在 RTK 的幫助下,GPS 可以將定位誤差限定在10厘米以內,但是:
高樓和其他障礙物可能阻擋 GPS 信號,這使定位變得困難或根本無法進行; ?
同時,GPS 的更新頻率很低,大約為10赫(每秒更新10次),但由于自動駕駛汽車在快速移動,需要更頻繁地更新位置。
▍慣性導航
假設一輛車正以恒定速度直線行駛,已知汽車的初始位置、速度及行駛時長,我們可以算出汽車的當前位置。再進一步,我們可以使用加速度、初始速度和初始位置計算汽車在任何時間點的車速和位置。而在這個計算過程中,我們需要解決一個問題:如何測量加速度。 ?
? 當前位置=初始位置+速度×時間 ? 為了測量加速度,我們需要“三軸加速度計”傳感器。它可以精確測量加速度。但加速度計本身不足以計算車輛的位置和速度。加速度計根據車輛的坐標系記錄測量結果,而后這些測量值被轉換成世界坐標系,為了實現這種轉換我們需要借助“陀螺儀”傳感器。三軸陀螺儀的三個外部平衡環一直在旋轉,但在三軸陀螺儀中的旋轉軸始終固定在世界坐標系中,車輛通過測量旋轉軸和三個外部平衡環的相對位置來計算其在坐標系中的位置。 ?
陀螺儀 3D 展示圖 ? 加速度計和陀螺儀是 IMU(慣性測量單元)的主要組件。IMU 的一個重要特征在于它以高頻率更新,其頻率可達到1000赫茲,所以 IMU 可以提供接近實時的位置信息。 ? 慣性測量單元的缺點在于其運動誤差隨時間增加而增加,我們只能依靠慣性測量單元在很短的時間范圍內進行定位。但是,我們可以結合 GPS 和 IMU 來定位汽車,一方面,IMU 彌補了GPS 更新頻率較低的缺陷;另一方面,GPS 糾正了 IMU 的運動誤差。 ? 對自動駕駛汽車而言,僅將 GPS 和 IMU 系統相結合,還不能完全解決定位所面臨的問題,如果我們在山間、峽谷或地下隧道中行駛,我們可能會長時間沒有 GPS 更新,這會讓整個定位面臨失敗的風險。 ?
▍激光雷達定位
利用激光雷達,我們可以通過點云匹配來對汽車進行定位,該方法將來自激光雷達傳感器的檢測數據與預先存在的高精度地圖連續匹配。通過這種比較,可獲知汽車在高精度地圖上的全球位置和行駛方向。
? 有許多算法可用于匹配點云,迭代最近點(ICP)是其中一種方法。假設我們想對兩次點云掃描進行匹配,對于第一次掃描中的每個點,我們需要找到另一次掃描中最接近的匹配點。最終會收集到許多匹配點對,把每對點之間的距離誤差相加,計算平均距離誤差。 ?
? 我們的目標是通過點云旋轉和平移來最大限度降低這一平均距離誤差,這樣就可以在傳感器掃描和地圖之間找到匹配。我們將通過傳感器掃描到的車輛位置轉換為全球地圖上的位置,并計算出在地圖上的精確位置。 ? 濾波算法是一種 LiDAR 定位方法,可消除冗余信息,并在地圖上找到最可能的車輛位置。Apollo 使用了直方圖濾波算法,該方法有時候也被稱為誤差平方和算法(SSD)。為了應用直方圖濾波,我們將通過傳感器掃描的點云劃過地圖上的每個位置,在每個位置,我們計算掃描的點與高精度地圖上的對應點之間的誤差或距離,然后對誤差的平方求和。求得的和越小,掃描結果與地圖之間的匹配越好。 ?
? 該示例圖中顯示的一些對齊較好的點,用紅色表示;以及一些對齊較差的點,用藍色表示;綠色表示中等對齊。 ? 卡爾曼濾波是另一種 LiDAR 定位方法,也是一種算法,它根據我們在過去的狀態和新的傳感器測量結果預測我們當前的狀態。具體來說,卡爾曼濾波使用了預測更新周期: ? 首先,我們根據之前的狀態以及對移動距離和方向的估計,來估計或“預測”我們的新位置,并通過使用傳感器測量我們的位置并加以糾正。一旦使用傳感器測量了我們的新位置,便可以使用概率規則,將傳感器測量結果與我們現有的位置預測結合起來。我們會永遠遵循這個預測更新周期,也即需要對車輛進行定位時,先預測我們的新位置,然后用傳感器測量我們的位置。 ? 總結:LiDAR 定位的主要優勢在于穩健性。只要從高精度地圖開始,并且存在有效的傳感器,我們就始終能夠進行定位。主要缺點在于難以構建高精度地圖,并使其保持最新。事實上,幾乎不可能讓地圖保持完全最新,因為幾乎每個地圖均包含瞬態元素,汽車和行人,甚至停放的汽車,在我們下次駕車駛過時都會消失,街道上的垃圾會被吹走,世界上的許多元素都在不斷發生變化。 ?
▍視覺定位
圖像需要收集到最簡單的數據類型。攝像頭便宜且種類繁多還易于使用,我們可以使用圖像來定位汽車嗎? ? 通過圖像實現精確定位非常困難。實際上,攝像頭圖像通常與來自其他傳感器的數據相結合,用以準確定位車。但將攝像頭數據與地圖和 GPS 數據相結合比單獨使用攝像頭圖像進行定位的效果更好。 ? 假設一輛車正在路上行駛,它感知到右邊有一棵樹,但是地圖顯示道路右側有幾棵樹,全部位于不通的位置,我們如何知道車輛現在“看”到的是哪棵樹? ?
? 我們可以用概率來解決這個問題。想象一下,我們正位于道路上許多不同點中的任意一點處,使用概率能確定哪個點最可能代表我們的實際位置。 ?
? 已知車輛右側有一棵樹,我們假設從一些點可以看到右邊有一棵樹,而從另一些點則看不到。我們可以在開車的同時繼續觀察周邊世界。 ?
? 想象一下,我們開車前行,觀察到車輛右邊的另一棵樹,在觀察到地圖上的其余點之后,我們發現僅在少數幾個位置會發現車輛右側有成排的兩棵樹,我們當然最有可能位于這些位置之一,所以我們可以排除所有其他位置。 ? 過程繼續,通過觀察結果、概率和地圖來確定我們最可能的位置,該過程被稱為粒子濾波。因為我們使用粒子或點來估計最可能的位置,當然,樹木在許多道路上比較稀少,但是車道線在許多道路上卻很常見,可以使用相同的粒子濾波原理對車道線進行拍照。使用拍攝的圖像來確定車輛在道路中的位置,可以將道路攝像頭圖像與地圖進行比較。我們的攝像頭圖像與地圖的某些部分匹配得很好,但與地圖的其他部分匹配得沒那么好。 ?
視覺車道線示例 ? 上圖是視覺車道線的一個示例,藍色代表地圖上兩個不同位置的車道線,紅色代表車輛攝像頭觀察到的車道線,紅線與右側藍線的匹配度要比與左側藍線的匹配度高得多,因此我們更有可能位于與右側圖像對應的地圖位置上。 ? 視覺定位的優點在于圖像數據很容易獲得,缺點在于缺乏三維信息和對三維地圖的依賴。 ?
編輯:黃飛
?
評論
查看更多