天天看點

map odom base_link三者關系的通俗了解map odom base_link三者關系的通俗了解

摘自:https://blog.csdn.net/qq_39203385/article/details/81518210

map odom base_link三者關系的通俗了解

Burning_yang 2018-05-30 10:02:00 3560 收藏 15

版權

(轉載請注明作者和出處:https://yangningbocn.github.io 未經允許請勿用于商業用途)

為了更好的內建和重用軟體子產品,驅動,模型以及庫的開發人員需要一個坐标系的共享公約。該坐标系的共享規約讓開發者為移動基座建立驅動和模型提供了一個規範。同樣,開發人員用與本規範相容的一些移動機器人基座軟體能很容易的建立相應的庫和應用。

  1. 世界坐标(map)

    該map坐标系是一個世界固定坐标系,其Z軸指向上方。相對于map坐标系的移動平台的姿态,不應該随時間顯著移動。map坐标是不連續的,這意味着在map坐标系中移動平台的姿态可以随時發生離散的跳變。

    典型的設定中,定位子產品基于傳感器的監測,不斷的重新計算世界坐标中機器人的位姿,進而消除偏差,但是當新的傳感器資訊到達時可能會跳變。

    map坐标系作為長期的全局參考是很有用的,但是跳變使得對于本地傳感和執行器來說,其實是一個不好的參考坐标。

  2. 裡程計坐标系(odom)

    odom 坐标系是一個世界固定坐标系。在odom 坐标系中移動平台的位姿可以任意移動,沒有任何界限。這種移動使得odom 坐标系不能作為長期的全局參考。然而,在odom 坐标系中的機器人的姿态能夠保證是連續的,這意味着在odom 坐标系中的移動平台的姿态總是平滑變化,沒有跳變。

    在一個典型設定中,odom 坐标系是基于測距源來計算的,如車輪裡程計,視覺裡程計或慣性測量單元。

    odom 坐标系作為一種精确,作為短期的本地參考是很有用的,但偏移使得它不能作為長期參考

  3. 基座标(base_link)

    該base_link坐标剛性地連接配接到移動機器人基座。base_link可以安裝在基座中的任意方位;對于每個硬體平台,在基座上的不同地方都會提供一個明顯的參考點。

坐标之間的關系
           

在機器人系統中,我們使用一棵樹來來關聯所有坐标系,是以每個坐标系都有一個父坐标系和任意子坐标系,如下:

map --> odom --> base_link
           

世界坐标系是odom坐标系的父,odom坐标系是base_link的父。雖然直覺來說,map和odom應連接配接到base_link,這是不允許的,因為每坐标系隻能有一個父類。

坐标系權限

odom到base_link的轉換是由裡程計源計算和釋出的。然而,定位子產品不釋出map到base_link的轉換(transform)。相反,定位子產品先接收odom到base_link的 transform,并使用這個資訊釋出map到odom的transform。

通俗了解

odom和map坐标系在機器人運動開始是重合的。但是,随着時間的推移是不重合的,而出現的偏差就是裡程計的累積誤差。那map-->odom的tf就是在一些校正傳感器合作校正的package比如gmapping會給出一個位置估計(localization),這可以得到map-->base_link的tf,是以估計位置和裡程計位置的偏差也就是odom與map的坐标系偏差。是以,如果你的odom計算沒有錯誤,那麼map–->odom的tf就是

map odom base_link三者關系的通俗了解map odom base_link三者關系的通俗了解

這裡寫圖檔描述