SLAMのお勉強②−2 ~GMapping の環境設定

ということで,実際に ROS GMapping の解剖実験をするにあたって,環境を整えます.ROSのモジュールとして「ROSラッパー」「アルゴコア」の両方がきちんと管理されているので,そのまま catkin のパッケージとして落としてくれば,あとは catkin_make でビルドが通ると思うのですが,catkin で全部ビルドすると時間がかかるような気がしているのと,いろいろとうまいことやってくれるので全体像が見えづらくなってしまうかな...とおもい,アルゴコアは catkin の枠組みに頼らず,普通にライブラリとしてコンパイルし,そのライブラリを ROSラッパーから見に行くようにしました.

0.既存パッケージの削除

このステップは必ずしも必要ないかもしれないですが,解剖実験でソフトを変更した時に,既存パッケージのヘッダファイルを参照してしまうといろいろとうまく行かなくなってしまうので,いちおう削除しておきます.

sudo apt-get purge ros-kinetic-slam-gmapping
sudo apt-get purge ros-kinetic-gmapping
sudo apt-get purge ros-kinetic-openslam-gmapping

上記のコマンドで,gmapping 関連の必須モジュールは削除できるかと思います.

1.アルゴコア/ROSラッパーのFork

GIT-HUBで管理されている下記のリポジトリをGIT-HUBにフォークしました.どうしてもコードを読むだけだとイマイチ頭に入ってこないので,ソースリファクタしたり,printfデバッグしたりしようとおもっているんですが,これを保存しておきたく.
アルゴコア
github.com

ROSラッパー
github.com

2.catkin を使わずに,アルゴコアのビルド

catkinを使わずにビルドしたいので,CMakeLists.txt を書き換えます.
github.com

上の変更は下記のフォルダ構成前提になってます.

top_directory
 - install
 - build
 - openslam_gmapping 

で,後は

cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../install ../openslam_gmapping/
make -j32
make install

コンパイルすると,installディレクトリに各種ヘッダとライブラリが install ディレクトリ配下に生成されます.

3.ROSラッパーを catkin_ws/src配下にダウンロードし,コンパイルする.

ROSのソースディレクトリ”catkin_ws/src”配下にROSラッパーをダウンロードします.つまり...
catkin_ws/src配下で,,,

git clone https://github.com/ros-perception/slam_gmapping.git

で,openslam_gmappingを catkin のフレームワークを使わずにコンパイルしたので,CMakeLists.txt を少し変更します.

ひとまずここまでくれば,マイ gmapping 環境の出来上がりです.次のエントリでは解剖した内容を少しずつ書いていきます.