Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
27
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@MoriKen

Navigation Stack を理解する - 2.1 move_base: ROSで遊んでみる

目次

  1. 導入
  2. move_base (ナビゲーション)
    1. ROSで遊んでみる ← いまココ
    2. ソフトウェア構成をみる
  3. amcl (自己位置推定)
    1. ROSで遊んでみる
    2. ソフトウェア構成をみる
    3. 原理をみる (準備編)
    4. 原理をみる (応用編)
  4. gmapping (地図生成)
    1. ROSで遊んでみる
    2. ソフトウェア構成をみる
    3. 原理をみる(応用編)
    4. 原理をみる(準備編 その1)
    5. 原理をみる(準備編 その2)

はじめに

本節ではNavigation Stack の親分的存在である,move_base について記述します.ソフトウェア構成内の位置づけとしては,下記の図に示すとおりです.

  • ROS Wiki の図中
    00_位置づけ1.png

  • 導入部で示したパッケージの図中
    00_位置づけ2.png

環境

Husky Move Base Demo について

move_base を使ってナビゲーションを行います.ただし,自己位置推定は動作モデルによるオドメトリのみに頼るものです.したがって,このチュートリアルでは,外乱によってオドメトリに誤差がのってもそれをリカバーする手段はありません.とにかく,まずはナビゲーションとはどんなものかを体感するために必要な最低限の要素で構成されたチュートリアルとなっています.まずはここから,という感じですね.

00_位置づけ3.png

ROSで遊んでみる

というわけで,とりあえず遊んでみましょう.

インストール

チュートリアルに従って淡々と.

$ sudo apt-get install ros-indigo-husky-navigation ros-indigo-husky-gazebo ros-indigo-husky-viz

各種launch ファイルの実行

i. Husky シミュレータの起動(gazebo)

$ roslaunch husky_gazebo husky_playpen.launch

01.png

ii. ビジュアライザの起動(rviz)

$ roslaunch husky_viz view_robot.launch

地図も無く,ロボットにとっての頼みの綱はオドメトリのみです.従って,ワールド座標系の原点は /odom フレームとしておきます.初期状態では,/odom フレームと /base_link フレームは一致しています.
02_rviz.png

iii. move_base の起動

$ roslaunch husky_navigation move_base_mapless_demo.launch

これで,ナビゲーションが可能な状態となります.

ナビゲーションを体感する

とりあえず目標位置を指定して,ロボットがその通りに動くか確認してみます.

  1. rviz 上部にある「2D Nav Goal」というボタンをクリックします.
  2. フィールド上の任意の位置でマウス左ボタンを押下すると目標位置が決まります.そのままドラッグして目標姿勢を定め,ボタンを上げます.

03_rviz_goal.png

すると,ロボットが動き始め,指定した通りの位置・姿勢になるまで動き続ける様子を確認できます.
04_rviz_goal_reach.png

おわりに

これで遊んでいるだけで結構お腹いっぱい(?)かもしれませんが,次項でもう少し中を見てみようと思います.

Next: 2.2 move_base: ソフトウェア構成をみる
Prev: 1. 導入

参考文献

  1. S Thrun, et al., "Probabilistic Robotics", the MIT Press, 2005.
  2. 原, "ROSの活用による屋外の歩行者空間に適応した自律移動ロボットの開発", ロボット工学セミナー, 2015.
  3. ROS Wiki.
  4. "ros-planning/navigation", github.
  5. "husky_navigation", github.
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
27
Help us understand the problem. What are the problem?