對坐標轉(zhuǎn)換的理解
坐標變換是在機器人控制領(lǐng)域十分常見的操作,因為機器人的每一個關(guān)節(jié)都需要坐標轉(zhuǎn)換來進行整體維護。他們需要一套統(tǒng)一的坐標系統(tǒng)菩收,以確定每兩個部件(比如后輪和前舵機)之間的關(guān)系畅姊。
tf_static_tranform_publisher
坐標變換的使用者
坐標變換的發(fā)布者
TF發(fā)布者可以發(fā)布兩個坐標系之間的差值關(guān)系懂算,即發(fā)布以后,ros系統(tǒng)可以通過運算得到關(guān)聯(lián)坐標系之間的變換關(guān)系护侮,進而得到一些希望計算的位置信息群叶。
通常,位置的發(fā)布者為傳感器處理模塊钝荡,例如輪式里程計街立,amcl融合定位,ekf融合定位等埠通。
-
這里展示一個amcl發(fā)布odom與map坐標關(guān)系的例子赎离。
amcl發(fā)布的odom坐標系
得到的結(jié)果:
image.png
即amcl發(fā)布了機器人的里程坐標系與地圖坐標系的轉(zhuǎn)換關(guān)系,map作為父節(jié)點端辱,即參考系梁剔,得到了odom相對地圖的位移,并發(fā)布給其他訂閱者使用舞蔽。
這里我們也可以參照amcl相關(guān)代碼荣病。其中的frame_id即map,child_frame_id即自身位置所在坐標系(odom)渗柿。
amcl中發(fā)布tf變換相關(guān)代碼
image.png