GICI-LIBは、GNSS、INS(慣性航法システム)、カメラを統合したナビゲーションのためのオープンソースソフトウェアです。本ライブラリを用いて、高精度測位チャレンジ2024向けのデータ処理およびアルゴリズム実験が可能です。
以下の構成では、東京および名古屋のデータセットを使用した各種設定ファイルについて説明し、インストールから実行までの手順を詳述します。
- Ubuntu 20.04(推奨)
- Ubuntu 18.04 または 22.04 でも動作確認済み
-
Eigen
- バージョン: 3.3 以上
- 線形代数用のC++テンプレートライブラリ。
- Eigen公式ページ
-
OpenCV
- バージョン: 4.2.0 以上
- コンピュータビジョンライブラリ。
- OpenCV公式ページ
-
Yaml-cpp
- バージョン: 0.6.0 以上
- YAML形式のデコード/エンコードライブラリ。
- Yaml-cpp公式ページ
-
Glog と Gflags
- バージョン: 0.6.0 以上
- ロギング制御ライブラリ。
- Glog公式ページ
- Gflags公式ページ
-
Ceres-Solver
- バージョン: 2.1.0 以上
- 非線形最適化ライブラリ。
- Ceres-Solver公式ページ
cd <gici-root-directory>
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j8
GICI-LIBを実行するには以下のコマンドを使用してください。
./build/gici_main <gici-config-file>
以下の設定ファイルを使用して各地域のデータを処理できます。
-
東京
option/tc.yaml
:trainのtokyo1 の設定ファイルoption/tc1.yaml
:testのtokyo1 の設定ファイルoption/tc2.yaml
:testのtokyo2 の設定ファイルoption/tc3.yaml
:testのtokyo3 の設定ファイル
-
名古屋
option/nagoya_tc.yaml
:trainのnagoya1 の設定ファイルoption/nagoya1_tc.yaml
:testのnagoya1 の設定ファイルoption/nagoya2_tc.yaml
:testのnagoya2 の設定ファイルoption/nagoya3_tc.yaml
:testのnagoya3 の設定ファイル
-
設定ファイルを指定してGICI-LIBを実行します。
./build/gici_main ./option/tc1.yaml
-
必要に応じて他の設定ファイル(例:
tc2.yaml
,tc3.yaml
)を使用してください。
-
設定ファイルを指定してGICI-LIBを実行します。
./build/gici_main ./option/nagoya1_tc.yaml
-
必要に応じて他の設定ファイル(例:
nagoya2_tc.yaml
,nagoya3_tc.yaml
)を使用してください。
高精度測位チャレンジ用データセットは以下からダウンロード可能です。
[PPC-Dataset ]
以下はでRTKLIBを用いた可視化の例です。 RTKLIBで可視化ができるのでconfig内のポートに接続してください。
GICI-LIBはGPL v3のもとで配布されています。改変および配布は自由ですが、GPL v3の条件を満たす必要があります。
GICI-LIBはDockerを使用して簡単に実行することができます。環境構築の手間を省き、どのプラットフォームでも同じ結果を得ることができます。
リポジトリをクローンした後、以下のコマンドでDockerイメージをビルドします:
docker build -t gici-lib .
ビルドには環境によって10〜20分程度かかることがあります。
注意:/path/to/dataset
は実際のデータセットのパスに置き換えてください。
このリポジトリにはGitHub Actionsの設定ファイル(.github/workflows/docker-build.yml
)が含まれています。forppc2024
またはmain
ブランチへのプッシュ時に自動的にDockerイメージがビルドされ、GitHub Container Registryに公開されます。
公開されたイメージを利用する場合:
# カレントディレクトリのデータセットをマウントしてbashシェルを起動
docker run -it --rm -v ${pwd}:/app -w /app gici-lib /bin/bash
# カレントディレクトリのデータセットをマウントしてbashシェルを起動
docker run -it --rm -v ${PWD}:/app -w /app gici-lib /bin/bash