tfのデモを試す(座標系の追加)
ROSさんお手やわらかに:ROS入門編
今回はタートルにもう一つの座標系を追加する。チュートリアルのこのページだ。
下図の左が座標系を追加したタートル1。右がその時の座標系ツリーだ。
キーボードで動かすタートル1の左側から2mの見えない棒を突き出し、仮想のにんじん(carrot)をくくりつけたというイメージだ。にんじんは亀の好物なので、タートル2がにんじんを追跡するようにプログラムする。
いままでのデモを改造するが、とても簡単だ。まず、にんじん用のブロードキャスターを追加し、親座標にタートル1の座標系を指定、親座標とのオフセット(左に2mずれている)を送信するよう定数をセットする。次にタートル2のリスナーが追跡する座標系を、タートル1からにんじんに変更したら完成だ。
にんじんのブロードキャスターfixed_tf_broadcaster.pyはこれ
「fixed_tf_broadcaster.py」を見る
修正したタートル2のリスナーturtle_tf_listener.pyはこれ
「turtle_tf_listener.py」を見る
もとのリスナーの listener.lookupTransformのturtle1をcarrot1に直しただけ。
起動するためのstart_demo.launchはこれ
「start_demo.launch」を見る
これもfixed_tf_broadcaster.pyを起動する項目を追加しただけ。
実行すると、タートル2(丸い甲羅の亀)は、このようにタートル1の左側の見えないにんじんに食いつく。
もちろん、プログラムを組めば、にんじんを移動させたり旋回させることもできる。
つまり、tfの仕組みを使うと、移動ロボットにパンチルトカメラやロボットアームを搭載したモデルを、極めて簡単に構築し、操作できる。移動しながらカメラで室内のあるポイントを撮影し続けたり、床の上の物体をロボットアームで掴み上げたりする作業が実現しやすくなるだろう。
作業ロボットを作るにはとても便利な仕組みだ。
« tfのデモを試す(追いかけっこの補足) | トップページ | tfあれこれ »
「ROSさんお手やわらかに」カテゴリの記事
- 3Dプリンターで作る簡単turtlebot(おしまい)(2017.01.07)
- 3Dプリンターで作る簡単turtlebot(raspberry pi3の取り付け)(2017.01.03)
- 3Dプリンターで作る簡単turtlebot(kinectの取り付け)(2017.01.02)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て2)(2016.12.29)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て1)(2016.12.25)
コメント