LoginSignup
5
5

More than 5 years have passed since last update.

ROS奮闘 gmapping編 その2 

Last updated at Posted at 2015-11-11

前回の失敗をもとにいろいろと調べた結果

・センサがtfツリーに関連付けられていない

ということがわかった。
これは由々しき事態である。

わい「tfってなんや」
tf「わいはtransformや」

なるほどわからん
で調べてみました。
ざっくりいうと

・ ROSではセンサやロボットのプログラムを走らせるノードが分散しているので、それぞれで座標系が存在してしまう。
・ 実際動かすのは一斉に動作するため相対的な位置がわからないとこまる
・ それを解消するために先に座標系の関系を決めてしまおう

ってことみたい(間違ってるかも)
詳しくはこの辺かなぁ
チュートリアルはこっち

なんかクォンターニオンというかっこいい単語が出てきてますが、要はどの軸に何度回転してるかの姿勢を表現しているそうです

でとりあえずtfの便利なコマンドがあって
$rosrun tf view_frames
で動いてるフレーム(一つの座標系くらい?)がわかる
Screenshot from 2015-11-11 11:57:10.png
といったpdfファイルが出力される(便利なもんでゲソ)

mapフレームがあってその子フレームにodomフレーム、その子フレームにbase_linkフレームがあるよってかんじ
センサのフレームがないってわけね

ということでbase_linkの子フレームにしたりする必要があると・・・

どうするんですかねー

とりあえずセンサのフレームの名前をbase_linkにすればいけるやろ(なぜそうなった)

$rosparam set hokuyo_node/frame_id "base_link"
でhokuyo_nodeのフレーム名がbase_linkになったのでとりあえずツリー内には入った(かなり強引)

・・・・・・・・・・・・・

とりあえず前回のwrningで動かなかったgmappingは動いた
まぁ当たり前か。
でもたぶんフレーム間のパラメータとかぐちゃぐちゃ・・・

この辺もパラメータセットのコマンドで解消できるのかね

正直ランチャファイルを書けばいちいち設定しなくて良さそうなのでそこら辺もやらないと

・・・・

なんか全然tfについて勉強できてない気がする
勉強しなきゃ行けないことばっかですね、もうちょっと勉強続けます。

【追記】
とりあえずあとで研究室ぐるっと動かして作った地図。
Screenshot from 2015-11-13 10:52:22.png

やっぱりいろいろずれてるみたい。
ルンバに直進指示だしても右にぶれてたからそのへんも影響してそう。
キャリブレーションしないといけませんねぇ・・・(遠い目

5
5
1

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
5
5