TurtlebotでROSのパッケージを使った地図生成・保存・ナビゲーションに関する一連のコマンド。launchファイルで一つにまとめたり、シェルスクリプトで楽もできるがここでは端末ごとにコマンドを実行する。
地図生成・保存
端末を7個開き、各端末で以下のコマンドを実行する。地図は自動的に保存されないので、
1. $ roslaunch turtlebot_bringup minimal.launch
2. $ rqt -s kobuki_dashboard
3. $ roslaunch turtlebot_bringup 3dsensor.launch
4. $ roslaunch turtlebot_teleop ps3_teleop.launch
5. $ roslaunch turtlebot_navigation gmapping_demo.launch
6. $ roslaunch turtlebot_rviz_launchers view_navigation.launch
7. $ rosrun map_server map_saver -f ~/map/mymap
7番の-f以降は適宜名前を変更する。この例では、ホームディレクトのmapディレクトリにmymap.yamlとmymap.pgmファイルが保存される。yamlが設定ファイル、pgmが画像ファイル。
ウェイポイント・ナビゲ―ション
端末を7個開き、各端末で以下のコマンドを実行する。ウェイポイントナビゲーションはこのウェブサイトのサンプルプログラムを使用する。
1. $ roslaunch turtlebot_bringup minimal.launch
2. $ rqt -s kobuki_dashboard
3. $ roslaunch turtlebot_bringup 3dsensor.launch
4. $ roslaunch turtlebot_navigation amcl_demo.launch map_file:=/home/demulab/map/fmt2.yaml
map_file以降は使いたい地図のyamlファイルを指定する。
5. $ roslaunch turtlebot_rviz_launchers view_navigation.launch –screen
地図上でウェイポイントを知るためには、以下のコマンドを実行し、ウェイポイントに設定したい場所にrvizの[2D Nav Goal]ボタンをクリックするとコマンドを実行している端末に位置と姿勢(クオータニオン)が表示される。
6. $ rostopic echo /move_base/goal
7. サンプルプログラムを実行
5番の作業で取得したウェイポイントの座標と姿勢をサンプルプログラムのway_pointに設定し、保存する。
(1) C++: ここを参照
$ cd ~/catkin_ws
$ catkin_make
$ rosrun wp_navigation wp_navigation
(2) Python:ここを参照
$ rosrun wp_navigation wp_navigation.py
以上
コメント