0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ROS2 Jazzy で TF を理解し、RViz2 で座標系を可視化する(続編)

0
Posted at

はじめに

前回の記事では、

  • ROS2 の座標系の基本整理
  • 仮想オドメトリーをCLIで確認
  • /cmd_vel → 自己位置計算 → /odom publish

まで行いました。

👉 前回記事

今回はその続きとして、

TF(座標変換)を追加し、RViz2で座標系を視覚的に理解する

ことを目標にします。
今回も以下の自社サイトで公開している下記記事の 要約版 です。

全体構成(今回の位置づけ)

  1. エンジニアとしてのROS2理解(理論整理)
  2. CLIでオドメトリー確認(数値で読む)
  3. TF追加 + RVizで可視化(今回)

今回は「見た目」ではなく、
フレーム構造を読めるようになることが目的です。
ここでのフレーム構造とは、

  • どの座標系を基準にしているか
  • その座標系同士がどういう親子関係になっているか
  • どのフレームから見た位置・姿勢なのか

を明確に整理できることを指します。
このように見えるようにします。
tf.png

1. TFツリーの構造

今回作る構成は非常にシンプルです。

odom
  └── base_link
  • odom : ワールド座標
  • base_link : ロボット本体

この1本のツリー構造が成立していることが重要です。


2. 仮想オドメトリー + TF

前回のノードでは、

/cmd_vel → 速度積分 → x, y, yaw
/odom publish

まで実装しました。

今回はさらに、

odom → base_link

を TF として publish します。

3. なぜTFが重要か

オドメトリーの数値だけでは、

  • どの座標基準か?
  • どの向きを基準にしているか?

が明確になりません。

TFを追加することで、

「どのフレームから見た位置か」

をROS2全体で共有できるようになります。

4. RViz2で可視化

RViz2を起動し、以下を設定します。

  • Fixed Frame:odom
  • Add:
    • TF
    • Axes(base_link)
    • Odometry(/odom)
    • Grid

見るポイント

① Axes(base_link)

  • ロボットの向きが分かる
  • 回転すると軸がその場で回る

② Odometry(矢印)

  • 位置 + 姿勢が同時に見える
  • 前進+回転で円弧になる

③ TF表示

  • odom → base_link がつながっている
  • フレームの親子関係が可視化される

disp.png

5. 実行手順(最小)

ターミナル3つ:
各ターミナルでそれぞれ以下を実行します。

ros2 run ros2_virtual_odometry virtual_odometry_node
ros2 run teleop_twist_keyboard teleop_twist_keyboard
rviz2

teleopで操作すると、

  • Axesが回転
  • 矢印が移動
  • TFツリーは維持

が確認できます。
teleopの画面が以下です。
キーボードから操作します。
cmd_vel.png

rvizで以下のように確認できます。
tf.png

6. 実務視点の整理

今回あえて URDFは使っていません。

理由は、

座標系の理解が最優先だから

です。

実務では tf2 が変換を処理します。

しかし重要なのは:

  • フレーム設計
  • 親子関係の整合性
  • Fixed Frame の理解

です。

数式を書くことよりも、

「どのフレームからどのフレームへ変換しているか」

を説明できることが重要です。

まとめ

今回行ったこと:

  • 仮想オドメトリーにTF追加
  • RViz2でフレームを可視化
  • odom / base_link の関係を理解

これにより、

  • 数字だけでなく空間として理解できる
  • TF構造を説明できる

ようになります。

今回はここまでです。またいろいろと書きたいと思います。
ありがとうございます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?