Skip to content

Commit

Permalink
Merge pull request furo-org#3 from furo-org/issueE1
Browse files Browse the repository at this point in the history
Changed file encoding to UTF-8-BOM
  • Loading branch information
tomonoM authored Mar 27, 2018
2 parents d5ae1d4 + aa33f8f commit 5913373
Show file tree
Hide file tree
Showing 75 changed files with 1,272 additions and 1,272 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
2018-03-26 Masahiro Tomono

* syundo0730さんの提案にもとづき、*.cpp, *.h, *.mdのファイルエンコーディングをS-JISからUTF-8-BOMに変更した。
* CMakeLists.txtは、日本語コメントを削除し、ASCIIとした。
(Ubuntu14.04のcmakeでエラーが出るのを防ぐため)

6 changes: 0 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ project(LittleSLAM)

cmake_minimum_required(VERSION 2.8)

# C++11‚ðŽg‚¤
if(UNIX)
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
Expand All @@ -16,11 +15,6 @@ if(UNIX)
endif()
endif()

if(UNIX) # gcc‚ÅSHIFT-JIS‚ð“Ç‚Þ‚½‚ß
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -finput-charset=cp932")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexec-charset=cp932")
endif()

SET(CMAKE_BUILD_TYPE "Release")

add_subdirectory(cui cui)
Expand Down
98 changes: 49 additions & 49 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
# LittleSLAM
# LittleSLAM

## LittleSLAMについて
## LittleSLAMについて

LittleSLAMは、SLAM学習用プログラムです。
2Dレーザスキャナのデータ(スキャン)とオドメトリデータを格納したファイルを入力し、
ロボット位置の軌跡と2D点群地図をgnuplot上に出力します。
LittleSLAMは、SLAM学習用プログラムです。
2Dレーザスキャナのデータ(スキャン)とオドメトリデータを格納したファイルを入力し、
ロボット位置の軌跡と2D点群地図をgnuplot上に出力します。

LittleSLAMは、スキャンマッチングに基づく位置合せ、レーザスキャナとオドメトリのセンサ融合、
Graph-based SLAMに基づくループ閉じ込みなどの要素技術から構成されています。
LittleSLAMは、スキャンマッチングに基づく位置合せ、レーザスキャナとオドメトリのセンサ融合、
Graph-based SLAMに基づくループ閉じ込みなどの要素技術から構成されています。

LittleSLAMは参考書籍[1]の教材として作られたプログラムであり、
わかりやすさを優先してシンプルなアルゴリズムを採用しています。
そのため、フルスペックのSLAMプログラムと比べると性能は落ちますが、
内容の理解はしやすくなっています。
LittleSLAMは参考書籍[1]の教材として作られたプログラムであり、
わかりやすさを優先してシンプルなアルゴリズムを採用しています。
そのため、フルスペックのSLAMプログラムと比べると性能は落ちますが、
内容の理解はしやすくなっています。


## 実行環境
## 実行環境

LittleSLAMはプログラミング言語C++で記述されています。
動作を確認した実行環境は下記のものです。いずれも64ビット版です。
LittleSLAMはプログラミング言語C++で記述されています。
動作を確認した実行環境は下記のものです。いずれも64ビット版です。

| OS | C++ |
|:--:|:---:|
Expand All @@ -27,60 +27,60 @@ LittleSLAM
| Linux Ubuntu 14.04 LTS | gcc 4.8.4|
| Linux Ubuntu 16.04 LTS | gcc 5.4.0|

32ビットOSでの動作確認はしていないので、必要な場合はご自分で試してください。
32ビットOSでの動作確認はしていないので、必要な場合はご自分で試してください。


## 必要なソフトウェア
## 必要なソフトウェア

LittleSLAMの実行には、下記のソフトウェアが必要です。
LittleSLAMの実行には、下記のソフトウェアが必要です。

| ソフトウェア | 内容 | バージョン |
| ソフトウェア | 内容 | バージョン |
|:------------:|:----:|:----------:|
| Boost | C++汎用ライブラリ |1.58.0 |
| Eigen3 | 線形代数ライブラリ|3.2.4 |
| gnuplot | グラフ描画ツール |5.0 |
| CMake | ビルド支援ツール |3.2.2 |
| p2o | Graph-based SLAMソルバ|beta |
| Boost | C++汎用ライブラリ |1.58.0 |
| Eigen3 | 線形代数ライブラリ|3.2.4 |
| gnuplot | グラフ描画ツール |5.0 |
| CMake | ビルド支援ツール |3.2.2 |
| p2o | Graph-based SLAMソルバ|beta |

バージョンはLittleSLAMの開発で使用したものであり、明確な条件ではありません。
これ以上のバージョンであれば通常は動作します。
これ以下のバージョンでも動作する可能性はあります。
バージョンはLittleSLAMの開発で使用したものであり、明確な条件ではありません。
これ以上のバージョンであれば通常は動作します。
これ以下のバージョンでも動作する可能性はあります。

## 使い方
## 使い方

- Windowsでの使い方は[こちら](doc/install-win.md)
- Windowsでの使い方は[こちら](doc/install-win.md)

- Linuxでの使い方は[こちら](doc/install-linux.md)
- Linuxでの使い方は[こちら](doc/install-linux.md)

## データセット
## データセット

実験用に6個のデータファイルを用意しています。下表に一覧を示します。
[ここ](https://furo.org/software/little_slam/dataset.zip)からダウンロードできます。
実験用に6個のデータファイルを用意しています。下表に一覧を示します。
[ここ](https://furo.org/software/little_slam/dataset.zip)からダウンロードできます。


| ファイル名 | 内容 |
| ファイル名 | 内容 |
|:--------------------|:-------------|
| corridor.lsc | 廊下(単一ループ) |
| hall.lsc | 広間(単一ループ) |
| corridor-degene.lsc | 廊下(退化) |
| hall-degene.lsc | 広間(退化) |
| corridor-loops.lsc | 廊下(多重ループ) |
| hall-loops.lsc | 広間(多重ループ) |
| corridor.lsc | 廊下(単一ループ) |
| hall.lsc | 広間(単一ループ) |
| corridor-degene.lsc | 廊下(退化) |
| hall-degene.lsc | 広間(退化) |
| corridor-loops.lsc | 廊下(多重ループ) |
| hall-loops.lsc | 広間(多重ループ) |

## カスタマイズ
## カスタマイズ

LittleSLAMは学習用プログラムであり、基本形からいくつかの改良を経て
完成するようにカスタマイズできます。
詳細は[こちら](doc/customize.md)を参照してください。
LittleSLAMは学習用プログラムであり、基本形からいくつかの改良を経て
完成するようにカスタマイズできます。
詳細は[こちら](doc/customize.md)を参照してください。

## 参考書籍
## 参考書籍

下記の書籍はSLAMの解説書です。SLAMの一般的な解説をするとともに、
具体例としてLittleSLAMを教材に用い、そのソースコードの詳細を説明しています。
下記の書籍はSLAMの解説書です。SLAMの一般的な解説をするとともに、
具体例としてLittleSLAMを教材に用い、そのソースコードの詳細を説明しています。

[1] 友納正裕、「SLAM入門 -- ロボットの自己位置推定と地図構築の技術」、オーム社、2018年
[1] 友納正裕、「SLAM入門 -- ロボットの自己位置推定と地図構築の技術」、オーム社、2018年

## ライセンス
## ライセンス

- LittleSLAMは、MPL-2.0ライセンスにもとづいています。
- LittleSLAMは、MPL-2.0ライセンスにもとづいています。

Loading

0 comments on commit 5913373

Please sign in to comment.