tfのデモを試す(追いかけっこの補足)
ROSさんお手やわらかに:ROS入門編
まだ先があるが、とりあえずここまでのまとめ。前回までの補足と言った方が良いか。
■座標系の変換のイメージ
ワールド座標系にいる2匹のタートルが左、これをtfでタートル1をタートル2の座標系に変換すると右。
三角のタートルの黄色い丸がアタマ、つまりそっちが前。タートル2の座標系ではタートル2は原点に居てX軸方向を向いている(たぶん)。ワールド座標系のタートル1をこっちに持ってくると右の図のようになる。これなら、タートル2にどういう移動命令を与えればタートル1に近づけるかは一目瞭然。もちろん数学的にもすっきり。なるほどtfは便利だ。
■angularを4倍するのはなぜ
前回の投稿でどうも解せなかったところだが、簡単に言えば僕の勘違い。angularは旋回角度ではなく、旋回角速度の指定。単位はラジアン/secだ。つまり前回のコード
angular = 4 * math.atan2(trans[1], trans[0])
これは、タートル1の方向(角度)へ1/4秒で旋回する角速度を計算している。つまり自動車のハンドルを早く切ると言う意味合いだ。4を1にすると、ハンドルをゆっくり切るので、タートル1にゆるゆる近づいてくる形になる。
シェーキーではロボットの移動コマンドを、移動距離と旋回角で与えて居たので、勘違いした。ROSの移動ロボット制御では移動速度と旋回速度で与えるのが常識のようだ。roombaもそうだ。
« 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)
コメント