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座標系の原点が表示される。表示画面をマウスドラッグで視点の変更、スクロールホイールでズームできる。
ゲームパッドでroombaを動かすと画面上のroomba座標系も動く。この画面で見るかぎり、オドメトリはかなり正確だ。
このへんまで来ると、ROSの底力がじんわりと解ってくる。次はマップまわりを試してみたいが、ひとまず「ROS入門編」はここでおしまい。
« roombaをゲームパッドで動かすパッケージを作る(2) | トップページ | 非接触温度センサアレイ・D6T-44L-06を試す »
「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)
« roombaをゲームパッドで動かすパッケージを作る(2) | トップページ | 非接触温度センサアレイ・D6T-44L-06を試す »
コメント