2023年4月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

カテゴリー

ブログパーツ

無料ブログはココログ

« roombaをゲームパッドで動かすパッケージを作る(2) | トップページ | 非接触温度センサアレイ・D6T-44L-06を試す »

2013年5月 4日 (土)

roombaをゲームパッドで動かすパッケージを作る(3)

ROSさんお手やわらかに:ROS入門編

roombaの位置と姿勢をrvizで視覚化する。rvizは移動ロボットのUIツールで、ロボットの位置や姿勢、カメラの視界、センサーの読み取り結果などを視覚化したり、移動経路の指示を出したりすることができるらしい。移動ロボット開発の強力なツールとなるようだ。

まず前回作ったrbjoy.pyにtfのブロードキャスターを追加する。
import tfを定義部に追加し、最後のrospy.spin()の代わりに、10Hzでroomba座標系をブロードキャストするスクリプトを追加する。完成したrbjoy.pyはこれ。

次にroomba_workディレクトリ直下のmanifest.xmlを修正し、tfの依存関係を追加する。

 <depend package="tf"/> 
を追加すればいい。


修正したらアプリケーションをローンチし、rvizを起動。
$ rosrun rviz rviz

roomba座標系を表示するには、
・画面左下AddボタンでTFをDisplaysウィンドウに追加
・同様にGridを追加して画面に床面をメッシュで表示(このほうが見やすい)
・Displaysウィンドウ一番上、Global OptionsのFixed Frameのプルダウンから/Worldを選択(World座標系からのビューを設定)

これで中央にworld座標系原とroomba座標系の原点が表示される。表示画面をマウスドラッグで視点の変更、スクロールホイールでズームできる。

Rviz_screenshot_2013_05_0408_58_14

ゲームパッドでroombaを動かすと画面上のroomba座標系も動く。この画面で見るかぎり、オドメトリはかなり正確だ。

このへんまで来ると、ROSの底力がじんわりと解ってくる。次はマップまわりを試してみたいが、ひとまず「ROS入門編」はここでおしまい。

« roombaをゲームパッドで動かすパッケージを作る(2) | トップページ | 非接触温度センサアレイ・D6T-44L-06を試す »

ROSさんお手やわらかに」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: roombaをゲームパッドで動かすパッケージを作る(3):

« roombaをゲームパッドで動かすパッケージを作る(2) | トップページ | 非接触温度センサアレイ・D6T-44L-06を試す »