在ros中,不論是建圖還是導航,在機械人行走過程中,都需要知道機械人在map中的位置,以及機械人上的感測器與機械人之間的座標關係。以下是常見的座標銜接模式:
map–>odom–>base_link(base_footprint) // 通過里程計原點在map中的座標和機械人在里程計裡的座標得到機械人在map中的座標
base_link–>sensors // 定義一系列的感測器與器件和機械人中心的關係
通過以上這些座標之間的關係,可以構建乙個完成的機械人相關的座標系統。
但是有些時候,底盤上的感測器相對於底盤的位置可能會不同於預定義好的轉換關係,這時就需要使用static_transform_publisher來定義它們之間的關係。
使用方法如下:
"tf"
type="static_transform_publisher" name="base_to_laser" args="0.0 0.0 0.0 -1.57 0.0 -1.57 base_link laser 200"/> // 6個數字代表x,y,z,yaw,pitch,roll 中間兩個表示兩個座標系 200代表1秒發布200次
這樣使用的功能如下:laser發布的資料的標頭檔案中有個frame_id屬性,說明的是這個scan資料是在哪個座標系的,scan資料的座標中心為frame_id的中心,我們需要將這些資料轉換到底盤中心,所以需要座標轉換。在實際應用中一定要注意轉換好感測器與底盤中心的位置關係 ROSNOTE ros中常見座標系定義
參考文章 以上文章都很有用 map 地圖座標系,一般設該座標係為固定座標系 fixed frame 一般與機械人所在的世界座標系一致。base link 機械人本體座標系,與機械人中心重合,當然有些機械人 pr 2 是base footprint,其實是乙個意思。odom 里程計座標系,這裡要區分開...
ROS中常見座標系定義及基本單位
為了方便開發者 復用,ros中統一定義了常見的座標系 rep 所有的座標系都是右手座標系。1.map 固定的世界座標系,z軸垂直向上。在map中表示的移動平台的pose是沒有drift,沒有累計誤差的。而且,pos的變化時不連續的,也就是說,pose是隨時間間隔的跳動。在典型應用中,系統中的定位模組...
無人機導航中常見的座標系
無人機導航中常見的座標系包括 地球中心座標系 ecef earthcenteredearthfixedcoordinatesystem,ecef wgs 84大地座標系 worldgeodeticcoordinatesystem1984 當地水平座標系 north east downcoordina...