ROS 座標系 官方教程與個人理解

2021-10-08 23:08:07 字數 2147 閱讀 1096

4. 座標系之間的聯絡

5. 多個機械人座標系

6. 座標系轉換

7. 個人理解

8. 參考鏈結

rep代表了ros使用的移動平台的座標框架的命名約定和語義意義。

為了更好地整合和重用軟體元件,驅動程式、模型和庫的開發人員需要乙個共享約定來協調框架。座標框架的共享約定為開發人員建立移動基地的驅動程式和模型提供了規範。類似地,建立庫和應用程式的開發人員可以更容易地使用與此規範相容的各種移動基礎上的軟體。例如,該代表指定了編寫新的本地化元件所需的框架。它還指定了可以用來引用機械人的移動基座的幀。

base_link座標系剛性附著在移動機械人基座上。該base_link可以以任意位置或方向附著在底座上;對於每個硬體平台,在基礎上都有不同的位置提供明顯的參考點。注意,rep 103[1]指定了座標系的首選方向。

odom座標系是乙個固定的世界座標系。移動平台在odom中的位姿可以隨時間漂移,沒有任何界限。這種漂移使得odom座標系作為長時間全域性參考時用處下降。然而,機械人在odom下的位姿保證是連續的,這意味著移動平台在odom下的位姿始終是平滑的,沒有離散的變化。新座標值通常是根據前乙個時刻座標得到的。

在實際運用中,odom是基於乙個里程計源計算的,例如車輪里程計、視覺里程計或慣性測量單元等。

odom可以作為短時間、精確的區域性參考係,由於漂移的存在,誤差會越來越大,長時間使用的效果很差

map座標系是乙個固定的世界座標系,其z軸指向上。移動平台相對於map座標系的位姿不會隨時間發生漂移。地圖幀不是連續的,這意味著移動平台在地圖幀中的位姿可以隨時發生離散式的跳躍變化

在典型的設定中,定位元件根據感測器的觀察不斷地在地圖框架中重新計算機械人的姿態,因此消除了漂移,但當新的感測器資訊到達時,會導致離散的跳躍。座標值通常是通過感測器的資料重新計算或測量得到的。

map座標系可用於作為長期的全域性參考,由於離散變化的性質,進行區域性感知和區域性行動時效果並不好。

座標系可以作為全域性的參考,也可以只是應用於程式的特定場合。

特定場合的乙個例子:根據egm1996[4]的平均海平面[3],map座標系的z位置相當於海平面以上幾公尺。無論選擇什麼,最重要的是參考位置的選擇要清楚地記錄下來,以使使用者避免混淆。

當定義乙個像地球這樣的全域性參考係時:

預設情況下,x軸向東對齊,y軸向北對齊,z軸向上對齊。東北天座標系

如果沒有其他參考,預設的z軸位置在wgs84橢球高度為零。

如果應用的具體要求不能滿足上述要求,則仍應盡可能多地滿足要求。

不能滿足上述要求的應用程式的乙個例子:機械人在沒有外部參***(如gps、羅盤或高度計)的情況下啟動。但如果機械人仍然有乙個加速計,它可以將當前位置進行map初始化,z軸向上。

如果機械人在啟動時有乙個羅盤航向,那麼它也可以初始化x向東,y向北。

如果機械人在啟動時有測高儀估計,則可以將高度初始化為msl。

我們選擇了一種樹表示法來將機械人系統中的所有座標系連線到一起。因此每個座標系都有乙個父座標系和任意數量的子座標系。rep所描述的座標系聯絡關係如下:

map是odom的父座標系,odom是base_link的父座標系,每個座標系只有乙個父座標系。

這是另乙個tf樹的例子:有兩個機械人使用不同的地圖進行定位,並有乙個共同的座標系earth。

為了清晰起見,上面的圖表使用了不同的幀id。然而,為了實現最大的可重用性,建議在每個機械人上使用規範座標系id,並使用指令碼**機械人的資訊。當資訊被**時,應該重新映座標系id以消除它們來自哪個機械人和引用哪個機械人的歧義。

從odom到base_link的轉換由乙個里程計源計算並廣播。

從map到base_link的轉換是由本地化元件(處理資料的節點程式)計算的。但是,本地化元件(處理資料的節點程式)並不廣播從map到base_link的轉換。它首先接收從odom到base_link的轉換,然後使用該資訊廣播從map到odom的轉換。

rep-0105

autolabor

如何設定機械人

ros安裝官方教程

在ubuntu中安裝ros kinetic 我們已經編譯好多個ubuntu平台下的debian軟體包,直接安裝編譯好的軟體包比從原始碼編譯安裝更加高效,這也是我們在ubuntu上的首選安裝方式。注意,還有從ubuntu上游提供的包。請參見upstreampackage以了解其中的區別。ubuntu包...

左手座標系與右手座標系

今天記錄一下一些基本的數學知識,左手座標系和右手座標系。這些對於搞影象開發或者遊戲開發的朋友來說,應該是很基礎的東西,不過對於大部分人來說還是比較陌生的知識。之所以看這方面資料主要是因為在使用android camera使用matrix的過程中,發現需要一些數學理論支援才能理解。這是為了後面使用an...

關於ros裡面的座標系方向

我們知道,我們在ros裡面可以通過發布期望的位置或者速度或者姿態來控制機械人,於是這就涉及發布的位置或者速度或者姿態的方向怎麼確定,目前我們知道的是位置的座標系是 x軸指向前,y軸指向左,z軸指向上,符合右手定則 那ros裡的機體系是怎麼的呢?與我們平常用的機體系不一樣,ros裡的機體系的方向是 機...