ros:study:04

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
ros:study:04 [2017/01/11 07:32] – [ログデータの保存] tsukuchalleros:study:04 [2018/05/24 04:07] (現在) tsukuchalle
行 4: 行 4:
  
 ===== slam_gmappingのインストール ===== ===== slam_gmappingのインストール =====
 +  kinetic環境の人は,
 +  $ sudo apt-get install ros-kinetic-slam-gmapping
 +  $ sudo apt-get install ros-kinetic-map-server
  
-  indigo環境の人推奨環境) +===== オンラインによる地図生成 ===== 
-  $ sudo apt-get install ros-indigo-slam-gmapping + 
-  $ sudo apt-get install ros-indigo-map-server+  ターミナル1 
 +  $ roscore 
 +   
 +  ターミナル2ロボットとPCを接続しておくこと) 
 +  $ ypspur-coordinator -p your_robot.param -d /dev/ttyACM0 
 +   
 +  ターミナル3 
 +  $ rosrun ypspur_ros_bridge ypspur_ros_bridge 
 +   
 +  ターミナル4 
 +  $ rosrun hokuyo_node hokuyo_node _port:=/dev/ttyACM1        または、    $ rosrun hokuyo_node hokuyo_node _port:=/dev/ttyACM0 _min_ang:=-2.08621382713 _max_ang:=2.08621382713
      
-  jade環境の人(非推奨環境未確認) +  ターミナル5 
-  $ sudo apt-get install ros-jade-slam-gmapping +  $ rosrun sensor_tf_test sensor_tf_test 
-  $ sudo apt-get install ros-jade-map-server+   
 +  ターミナル6 
 +  $ rosrun gmapping slam_gmapping scan:=scan 
 +   
 +  ターミナル7 
 +  $ rosrun joystick_commander joystick_commander /dev/input/js0 
 +ロボットを走らせる。 
 +走らせ終わったら今までのターミナルを止めずに新しくターミナルをり、次のコマンドで地図を保存する。 
 + 
 +  ターミナル8 
 +  $ mkdir -p ~/ros_study 
 +  $ cd ~/ros_study 
 +  $ rosrun map_server map_saver -f map_name              //map_name は mapを作った場所、部屋名などにしておくとよい
  
  
行 39: 行 64:
  
   ターミナル7   ターミナル7
-  $ mkdir -p ~/ros_study/                               //ログデータを保存する場所を作っておく +  $ mkdir -p ~/ros_study/                              //ログデータを保存する場所を作っておく 
-  $ cd ~/ros_study/ +  $ cd ~/ros_study 
-  $ rosbag record -o log_name -a+  $ rosbag record -o log_name -a                 //log_name はlogデータを取得した場所を入れるとよい 
  
 ログデータの保存が始まったら手動でロボットを走らせる。 ログデータの保存が始まったら手動でロボットを走らせる。
行 61: 行 87:
  
   ターミナル3   ターミナル3
-  $ cd ~/ros_study2015/log +  $ cd ~/ros_study 
-  $ rosbag play --clock -r 0.3 log_name_timestamp.bag                       //0.3倍速で再生+  $ rosbag play log_name_timestamp.bag --clock
  
 ログデータの再生が終わるのを暫く待つ。 ログデータの再生が終わるのを暫く待つ。
 +スペックの低いPCを使う場合は、"$ rosbag play log_name_timestamp.bag --clock -r 0.3" のようにして、再生速度を遅くするとよい
 追記:今どきのPCならば1倍速でも問題ないが、ゆっくり再生した方が綺麗に地図が作られる。(処理が間に合っていない場合、古いscanデータを読み飛ばして、最新のscanデータのみを使って地図を作るため) 追記:今どきのPCならば1倍速でも問題ないが、ゆっくり再生した方が綺麗に地図が作られる。(処理が間に合っていない場合、古いscanデータを読み飛ばして、最新のscanデータのみを使って地図を作るため)
  
行 71: 行 97:
  
   ターミナル4   ターミナル4
-  $ mkdir -p ~/ros_study2015/map                               //地図を保存する場所を作っておく 
-  $ cd ~/ros_study2015/map 
-  $ rosrun map_server map_saver -f map_name 
- 
-~/ros_study2015/mapに生成した地図が保存されているので、ファイルを開いて見てみると良い。 
- 
- 
-===== オンラインによる地図生成 ===== 
- 
-  ターミナル1 
-  $ roscore 
      
-  ターミナル2(ロボットとPCを接続しておくこと) +  $ cd ~/ros_study 
-  ypspur-coordinator -p your_robot.param -d /dev/ttyACM0 +  $ rosrun map_server map_saver -f map_name                   //map_name は mapった場所部屋名などにしておくとよい
-   +
-  ターミナル3 +
-  $ rosrun ypspur_ros_bridge ypspur_ros_bridge +
-   +
-  ターミナル4 +
-  $ rosrun hokuyo_node hokuyo_node _port:=/dev/ttyACM1        また、    $ rosrun hokuyo_node hokuyo_node _port:=/dev/ttyACM0 _min_ang:=-2.08621382713 _max_ang:=2.08621382713 +
-   +
-  ターミナル5 +
-  $ rosrun sensor_tf_test sensor_tf_test +
-   +
-  ターミナル6 +
-  $ rosrun gmapping slam_gmapping scan:=scan +
-   +
-  ターミナル7 +
-  $ rosrun joystick_commander joystick_commander /dev/input/js0 +
-ロボット走らせる。 +
-走らせ終わった今までのターミナルを止めずくターミナルを作り、次のコマンドで地図を保存する。 +
- +
-  ターミナル8 +
-  $ mkdir -p ~/ros_study2015/map                               //地図を保存する場所を作っておく +
-  $ cd ~/ros_study2015/map +
-  $ rosrun map_server map_saver -f map_name+
  
 +~/ros_studyに生成した地図が保存されているので、ファイルを開いて見てみると良い。
  
 ===== 地図生成の様子をrvizで見る ===== ===== 地図生成の様子をrvizで見る =====
行 119: 行 113:
 下記の画面のようにして、"/map"を追加する。 下記の画面のようにして、"/map"を追加する。
  
-{{:study:ros:2015:fig4-1.png}} +{{:ros:study:fig4-1.png|}}
  
 "Fixed Flame"を"map"か"odom"にすると地図が作られていく様子が表示される。(下記の画像は、"odom"だが"map"の方がよい) "Fixed Flame"を"map"か"odom"にすると地図が作られていく様子が表示される。(下記の画像は、"odom"だが"map"の方がよい)
  
-{{:study:ros:2015:fig4-2.png}}+{{:ros:study:fig4-2.png|}}
  
 <color red>rvizを閉じる前に、設定を保存しておくこと</color> <color red>rvizを閉じる前に、設定を保存しておくこと</color>
行 136: 行 129:
   $ rosrun gmapping slam_gmapping scan:=scan _particles:=50 _map_update_interval:=1.0 _srr:=0.001 _srt:=0.002 _str:=0.001 _stt:=0.002 _sigma:=0.2 _lstep:=0.2 _astep:=0.2 _iterations:=5 _delta:=0.2 _occ_thresh:=0.15   $ rosrun gmapping slam_gmapping scan:=scan _particles:=50 _map_update_interval:=1.0 _srr:=0.001 _srt:=0.002 _str:=0.001 _stt:=0.002 _sigma:=0.2 _lstep:=0.2 _astep:=0.2 _iterations:=5 _delta:=0.2 _occ_thresh:=0.15
  
-===== gmappingがエラーで動かないときの対処法(ver.1.3.7) ===== 
- 
-Scan message must contain angles from -x to x, i.e. angle_min = -angle_max  というエラーが出る人は、 
-下記のコマンドでgmappingのリビジョンを古いのにすることで対処できる。 
- 
-  $ cd ~/catkin_ws/src 
-  $ git clone https://github.com/ros-perception/slam_gmapping.git 
-  $ cd ~/catkin_ws/src/slam_gmapping 
-  $ git reset --hard 30bab91de515984888fb96b208382ddc3dbaec96 
-  $ cd ~/catkin_ws 
-  $ catkin_make 
-  $ rosrun gmapping slam_gmapping scan:=scan  
- 
- 
-この対処法の他にurg_nodeを使って、angle_minとangle_maxのパラメータを変更することでも対応できる。 
- 
-追記:ver1.3.8でこのバグは直りました。 
  
  • ros/study/04.1484119941.txt.gz
  • 最終更新: 2017/01/11 07:32
  • by tsukuchalle