- C++コンパイラ(gcc)、Boost、Eigen、CMake, gnuplot
以下のコマンドで、まとめてインストールします。
$ sudo apt-get install build-essential cmake libboost-all-dev libeigen3-dev gnuplot gnuplot-x11
- p2o
p2oのGithubサイトを開きます。以下のどちらかの方法でp2oをダウンロードします。
(A) Github画面の"Clone or download"ボタンを押して、"Download ZIP"を選択し、 p2o-master.zipをダウンロードします。zipファイルの展開方法は後述します。
(B) gitを使って、リポジトリをcloneします。
-
LittleSLAMの展開
LittleSLAMのGithubサイトを開きます。 以下のどちらかの方法でLittleSLAMをダウンロードします。
(A) Github画面の"Clone or download"ボタンを押して、"Download ZIP"を選択し、 LittleSLAM-master.zipをダウンロードします。 そして、このzipファイルを適当なディレクトリに展開します。 ここでは、たとえば、"~/LittleSLAM"に展開するとします。 LittleSLAM-master.zipの中の"LittleSLAM-master"ディレクトリの下の 4個のディレクトリと3個のファイルを"~/LittleSLAM"の下にコピーします。
(B) gitを使って、リポジトリをcloneします。 -
p2oの展開
"~/LittleSLAM"の下にp2oディレクトリを作成します。
前述のp2o-master.zipの中のファイル"p2o.h"を"~/LittleSLAM/p2o"にコピーします。 -
buildディレクトリの作成
"~/LittleSLAM"の下にbuildディレクトリを作成します。
ここまでのディレクトリ構成は以下のようになります。
- CMakeの実行
コンソールで、buildディレクトリに移動し、cmakeを実行します。
~/LittleSLAM$ cd build
~/LittleSLAM/build$ cmake ..
下図にcmakeの実行例を示します。
あるいは、CMakeのGUI版をインストールして、Windowsの場合と同じように GUIでCMakeを実行することもできます。
- ビルド
コンソールで、buildディレクトリにおいてmakeを実行します。
~/LittleSLAM/build$ make
ビルドが成功すると、"~/LittleSLAM/build/cui"ディレクトリに、実行ファイルLittleSLAMが生成されます。
以下のコマンドで、LittleSLAMを実行します。
./LittleSLAM [-so] データファイル名 [開始スキャン番号]
-sオプションを指定すると、スキャンを1個ずつ描画します。各スキャン形状を確認したい場合に
使います。
-oオプションを指定すると、スキャンをオドメトリデータで並べた地図
(SLAMによる地図ではない)を生成します。
オプション指定がなければ、SLAMを実行します。
開始スキャン番号を指定すると、その番号までスキャンを読み飛ばしてから実行します。
例として、以下のコマンドでSLAMを実行します。
この例では"~/LittleSLAM/dataset"ディレクトリに"corridor.lsc"というデータファイルが置かれています。
~/LittleSLAM/build/cui$ ./LittleSLAM ~/LittleSLAM/dataset/corridor.lsc
コマンドを実行すると、LittleSLAMはファイルからデータを読み込んで地図を少しずつ
構築していきます。その様子がgnuplotに描画されます。
最終的に、下図のような地図が生成されます。
処理が終わっても、プログラムは終了せず、地図はそのまま表示されています。
プログラムを終了するにはCtrl-Cを押してください。