差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
ros:study:04 [2017/01/11 07:38] – [オンラインによる地図生成] tsukuchalle | ros: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-map-server | + | |
+ | $ roscore | ||
| | ||
- | | + | |
- | $ sudo apt-get install ros-jade-slam-gmapping | + | $ ypspur-coordinator |
- | $ sudo apt-get install ros-jade-map-server | + | |
+ | ターミナル3 | ||
+ | $ rosrun ypspur_ros_bridge ypspur_ros_bridge | ||
+ | |||
+ | ターミナル4 | ||
+ | $ rosrun hokuyo_node hokuyo_node _port: | ||
+ | |||
+ | ターミナル5 | ||
+ | $ rosrun sensor_tf_test sensor_tf_test | ||
+ | |||
+ | ターミナル6 | ||
+ | $ rosrun | ||
+ | |||
+ | ターミナル7 | ||
+ | $ rosrun joystick_commander joystick_commander / | ||
+ | ロボットを走らせる。 | ||
+ | 走らせ終わったら、今までのターミナルを止めずに新しくターミナルを作り、次のコマンドで地図を保存する。 | ||
+ | |||
+ | ターミナル8 | ||
+ | $ mkdir -p ~/ | ||
+ | $ cd ~/ | ||
+ | $ rosrun map_server map_saver | ||
行 39: | 行 64: | ||
ターミナル7 | ターミナル7 | ||
- | $ mkdir -p ~/ | + | $ mkdir -p ~/ |
- | $ cd ~/ros_study/ | + | $ cd ~/ |
- | $ rosbag record -o log_name -a | + | $ rosbag record -o log_name -a //log_name はlogデータを取得した場所を入れるとよい |
ログデータの保存が始まったら手動でロボットを走らせる。 | ログデータの保存が始まったら手動でロボットを走らせる。 | ||
行 73: | 行 99: | ||
| | ||
$ cd ~/ros_study | $ cd ~/ros_study | ||
- | $ rosrun map_server map_saver -f map_name | + | $ rosrun map_server map_saver -f map_name |
~/ | ~/ | ||
- | |||
- | |||
- | ===== オンラインによる地図生成 ===== | ||
- | |||
- | ターミナル1 | ||
- | $ roscore | ||
- | | ||
- | ターミナル2(ロボットとPCを接続しておくこと) | ||
- | $ ypspur-coordinator -p your_robot.param -d / | ||
- | | ||
- | ターミナル3 | ||
- | $ rosrun ypspur_ros_bridge ypspur_ros_bridge | ||
- | | ||
- | ターミナル4 | ||
- | $ rosrun hokuyo_node hokuyo_node _port: | ||
- | | ||
- | ターミナル5 | ||
- | $ rosrun sensor_tf_test sensor_tf_test | ||
- | | ||
- | ターミナル6 | ||
- | $ rosrun gmapping slam_gmapping scan:=scan | ||
- | | ||
- | ターミナル7 | ||
- | $ rosrun joystick_commander joystick_commander / | ||
- | ロボットを走らせる。 | ||
- | 走らせ終わったら、今までのターミナルを止めずに新しくターミナルを作り、次のコマンドで地図を保存する。 | ||
- | |||
- | ターミナル8 | ||
- | $ mkdir -p ~/ros_study | ||
- | $ cd ~/ros_study | ||
- | $ rosrun map_server map_saver -f map_name | ||
- | |||
===== 地図生成の様子をrvizで見る ===== | ===== 地図生成の様子をrvizで見る ===== | ||
行 119: | 行 113: | ||
下記の画面のようにして、"/ | 下記の画面のようにして、"/ | ||
- | {{:study:ros:2015: | + | {{:ros:study:fig4-1.png|}} |
"Fixed Flame" | "Fixed Flame" | ||
- | {{:study:ros:2015: | + | {{:ros:study:fig4-2.png|}} |
<color red> | <color red> | ||
行 136: | 行 129: | ||
$ rosrun gmapping slam_gmapping scan:=scan _particles: | $ rosrun gmapping slam_gmapping scan:=scan _particles: | ||
- | ===== gmappingがエラーで動かないときの対処法(ver.1.3.7) ===== | ||
- | |||
- | Scan message must contain angles from -x to x, i.e. angle_min = -angle_max | ||
- | 下記のコマンドでgmappingのリビジョンを古いのにすることで対処できる。 | ||
- | |||
- | $ cd ~/ | ||
- | $ git clone https:// | ||
- | $ cd ~/ | ||
- | $ git reset --hard 30bab91de515984888fb96b208382ddc3dbaec96 | ||
- | $ cd ~/catkin_ws | ||
- | $ catkin_make | ||
- | $ rosrun gmapping slam_gmapping scan: | ||
- | |||
- | |||
- | この対処法の他にurg_nodeを使って、angle_minとangle_maxのパラメータを変更することでも対応できる。 | ||
- | |||
- | 追記:ver1.3.8でこのバグは直りました。 | ||