ROSの座標変換TFについて

ROS座標

ROSでは、map,odom,base_footprint, base_link,base_laser等の座標(データは「フレーム」の表現を使用)は使われる。

ROS座標
ROS座標

map:名前のとおり、ロボットが位置するワールド座標。
odom:mapレイヤの次にくる、オドメトリ(odometry・距離計)と真のワールド座標のずれを表現する。
base_link:オドメトリodomでのロボット位置。ローカル座標。
base_footprint:地上でのbase_linkの投影ですが、但しz値は異なる。ローカル座標。
base_laser:レーザスキャナSlam Lidarの位置。ローカル座標。

TF変換

TFは分散システム前提の座標変換のライブラリであり、2フレーム間の位置姿勢関係の報告(transform_broad_caster)を受けて。全てのフレームを絡むツリーを構築して、ツリーをたどって知りたい位置姿勢を取得する(transform_listener)ような仕組みとなる。以下はフレームツリーの例。

ROS_view_frames
ROS_view_frames

位置姿勢の表現について、位置はx,y,z(m)、 姿勢はクォータニオン四元数にて表示する。クォータニオンについては、記事:ROS・Unity・ロボット・ドローン姿勢制御に関わるクォータニオンを参照する。また、TF変換にtfとtf2パッケージがあり、tf2はtf_staticトピックに静的なフレームを追加できる。tf_staticトピックで受け取った変換は時間に関わらずに利用可能。

関連記事

9軸IMU 6軸/9軸フュージョン 低遅延 USB出力 補正済み ROS対応
SLAM~拡張カルマンフィルタ
研究開発用 台車型ロボット キット

ロボット・ドローン部品お探しなら
ROBOT翔・電子部品ストア