有關ROS中的TF座標變換工具包的使用體會

基本上,在使用ROS遇到多個座標系的時候,都不需要手工計算座標變換關係,比如各種正弦餘弦,四元數,變換矩陣等。只要座標系之間相對位姿(pose)清楚,就都可以用TF發佈座標變換或座標系的方法完成。這樣甚至連Eigen庫都用不着。

怎樣判斷各個座標系之間的相對位姿都清楚呢?只要能徒手畫出TF樹就好,就像 使用 $ rosrun tf view_frames 命令生成的PDF裏面展示的那樣,所有座標系能串起來而沒有孤立座標系,就可以了。因此畫出完整的TF樹也是ROS裏面理清座標變換關係/進行變換的第一步。

發佈了所有需要的TF後,用到座標變換時只要用 tf::TransformListener 獲取相應的變換就好了。另外,對於有 stamp 的 消息類型,可以使用 tf::MessageFilter (http://wiki.ros.org/tf/Tutorials/Using%20Stamped%20datatypes%20with%20tf%3A%3AMessageFilter),使得程序更簡單且健壯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章