作者 | 陸春暉
責編 | 李雪敬
頭圖 | CSDN下載自視覺中國
螞蟻的裡程表
最近看了一本很有意思的書,克利福德皮寇弗所著的《數學之書》。其中一篇《螞蟻的裡程表》,講述螞蟻驚人的定位導航能力,對機器人及無人車的設計者們有強烈的啟示作用。筆者對此十分感興趣,忍不住對其背後的定位原理進行了進一步研究分析。
文中所述的撒哈拉沙漠蟻,是一種長腳的沙漠螞蟻,能夠在廣袤、沒有地標指引的沙漠地帶尋找食物,並且找到食物後能夠採取直線前進的方式直接回到巢穴,不需要一步步回溯原路返回。科學家通過研究發現,螞蟻可以通過太陽判斷巢穴方位,通過步伐的大小和「計算」步數的方式判斷距離,從而實現精準定位,準確返回入口直徑不到1釐米的巢穴,猶如攜帶了微型的GPS定位器。
螞蟻這種神奇的定位能力描述大致如下圖所示。螞蟻從巢穴B點出發,經過不規則漫步路線到達A點,通過太陽方位獲取B點相對A點的位置夾角,得到巢穴B的方向;根據自己的步長和步數,進一步計算出從A點到B點的最短直線距離,沿AB間直線返回,精準到達巢穴。
圖1 螞蟻漫步示意圖
如果我們自己根據已有的數學知識應該怎麼計算這個問題呢?嘗試將圖1進一步抽象成圖2。A點和B點間曲線距離可由螞蟻「步數」和步伐大小得知,即CurveAB=step_distance*step_counts(step_distance:步伐大小,step_count:步數),A點和B點相對於A點的夾角可以由A點和B點相對於太陽的夾角計算得到,由於螞蟻在二維平面上活動,為簡化計算,將太陽的位置投影到二維平面,得到平面上A點和B點位置夾角θ,
,即螞蟻可以通過太陽位置來獲得B點相對A點的方向。然而我們很快發現,即使得到曲線CurveAB和位置夾角θ,也不能直接計算得到AB間的直線距離,至少還需要知道B相對於A的垂直方向投影H。
圖2 螞蟻定位原理二維平面簡化圖
為了計算投影H,需要將圖2進行進一步分解,即將螞蟻走過的曲線分解成無數個短的直線段Curve』,通過每個線段的相關夾角θ』求每個線段的垂直投影h』,保留h』的方向正負號,通過累加全部h』得到總的垂直投影H,
。分解步驟如圖3所示。
圖3 螞蟻定位原理分解圖
得到H後即可通過公式
計算得到AB兩點間的直線距離LineAB。
螞蟻腦海中高度精密的計算機,不但可以實時進行類似以上複雜的位置運算,甚至還可以進一步將沙丘之類的複雜地勢進行水平的量化投影,在複雜的沙漠地形中進行精準定位。研究發現,一隻螞蟻甚至可以離巢漫遊約50米,直到發現食物為止。這些在螞蟻身上發現的定位導航的行為模式,就像一臺能自動駕駛的汽車,但是卻比當前自動駕駛的定位技術要高級的多。
自動駕駛
當前已有的自動駕駛定位技術主要包括三大流派,基於地標定位、基於信號定位和基於慣性導航定位。
基於地標定位是根據視覺或者雷達的定位,與資料庫中的數據特徵匹配,確定車輛本體的位置和環境,比較典型的例如基於LIDAR點雲和高精地圖的匹配定位;基於信號定位是採用外界的位置信號,如衛星系統等進行定位,例如Multi GNSS和GPS;基於慣性導航技術是通過航位推導計算車輛當前位置和方向,即在初始位置上累加位移矢量進行計算(參考圖3),是一個信息累加的過程,例如慣性傳感器。
各流派的定位技術優缺點不同,基於地標的定位坐標系的配準容易產生誤差,基於信號的定位容易受到不良環境的影響,而基於慣性導航技術的定位對傳感器的性能和可靠性要求很高。因此當前的研究方向是結合各流派的技術進行融合定位,例如GPS+IMU+高精度地圖+雷射雷達信息融合的定位方法,利用GPS結合IMU判斷大概位置,使用高精度地圖與雷射雷達SLAM雲點圖像進行坐標系精細配準,這是目前最成熟,準確率最高的方法。
即使如此,自動駕駛的定位技術在精確度和可靠性上仍然不能跟螞蟻的定位導航能力相提並論。螞蟻的定位導航能力類似於地標定位、信號定位和慣性導航定位的結合體,卻更加精準高效。當前最精確的自動駕駛定位技術仍然允許有10cm的誤差,而螞蟻卻可以精確定位到直徑不超過1cm的巢穴入口。此外,螞蟻自身還可以分泌信息素,通過氣味的方式協助定位導航。研究螞蟻的定位導航模式,或許能夠幫助科學家研發新的電腦計算法則,促進自動駕駛定位技術的進一步發展。
作者簡介:
陸春暉 畢業於南開大學,中國農業銀行研發中心高級工程師。