System)を勉強した記録です。ROSを使ってロボットに知能を吹き込みます。自律移動ソフトを試すだんだんやることがハードになってきて、気軽にblogかけなくなってきました。現実逃避に自律移動ソフトで遊びました。http://www.ros.org/wiki/pr2_simulator/Tutorials/2DNavigationStackDemoWithSimple2DesksWorldhttp://www.ros.org/wiki/navigation/Tutorials/RobotSetupまずはmakeです。rviz結構時間かかります。以下のようにしてまずシミュレータを上げます。pr2-simple-fake_localization.launchこんな感じの環境ができます。次にロボットに指令を出すためにrvizというソフトを立ち上げます。rviz_move_base.launchこんな感じで、マップ(黒いところが壁)ロボットの推定自己位置(ロボットがいます)ロボットの自己位置候補(赤矢印)レーザーレンジファインダでの観測点(緑の点)3Dスキャナによるポイントクラウド(赤や青)が表示されます。適当な場所をドラッグ(ドラッグ開始点が目標地点、開始点と終了点を結ぶ方向が目標方向)することでロボットに目標位置姿勢を与えることができます。赤い矢印が指定した目標位置姿勢になります。するとシミュレータ上のロボットも動きます。これはfake_localizationという名前から分かるように、自己位置はシミュレータから直接取得しているため、ロボットの自己位置がシミュレーションとずれることがありません。自己位置を推定させるには以下のようにします。rviz_move_base.launchするとシミュレータはさきほどと同じですが、rviz上(ロボットの認識結果)はいきなりロボットがすごくずれた位置(0,0,0)?にいます。Estimateのボタンを押してから、さきほど目標位置姿勢を与えたように、ロボットの自己位置をいれてあげましょう。緑のレーザーが地図とずれているのでまだ自己位置がずれていますね。これくらいは修正してほしいところです。Goalを使ってロボットを動かしてみましょう。収束しませんが、特徴量が少ない空間なので仕方ないかもしれませんね。自己位置推定プログラムの良し悪しを測れそうですね。今回はライトな内容でした。そのうち、自律移動ソフトの中身について見ていきたいと思います。(Atom)自己紹介OTLヒューマノイドロボットラブ。おもしろいロボットを作るのが趣味です。