├── .gitignore ├── README.md ├── docs ├── assets │ └── images │ │ ├── frontend_status.png │ │ ├── grounded.jpg │ │ ├── manual.jpg │ │ └── ungrounded.jpg ├── css │ └── custom.css ├── dependencies.md ├── extend.md ├── faq.md ├── index.md ├── initialization.md ├── installation.md ├── params_brief.md ├── params_detail.md ├── quickstart.md ├── unsupported.md └── viewers.md └── mkdocs.yml /.gitignore: -------------------------------------------------------------------------------- 1 | site/* -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | https://koide3.github.io/glil_pubdoc/ 2 | -------------------------------------------------------------------------------- /docs/assets/images/frontend_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koide3/glil_pubdoc/901367d73b4de79d8ec06153e5a475760886379d/docs/assets/images/frontend_status.png -------------------------------------------------------------------------------- /docs/assets/images/grounded.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koide3/glil_pubdoc/901367d73b4de79d8ec06153e5a475760886379d/docs/assets/images/grounded.jpg -------------------------------------------------------------------------------- /docs/assets/images/manual.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koide3/glil_pubdoc/901367d73b4de79d8ec06153e5a475760886379d/docs/assets/images/manual.jpg -------------------------------------------------------------------------------- /docs/assets/images/ungrounded.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koide3/glil_pubdoc/901367d73b4de79d8ec06153e5a475760886379d/docs/assets/images/ungrounded.jpg -------------------------------------------------------------------------------- /docs/css/custom.css: -------------------------------------------------------------------------------- 1 | .youtube { 2 | position: relative; 3 | display: block; 4 | height: 0; 5 | padding: 0; 6 | overflow: hidden; 7 | padding-bottom: 56.25%; 8 | } 9 | .youtube > iframe { 10 | position: absolute; 11 | top: 0; 12 | bottom: 0; 13 | left: 0; 14 | width: 100%; 15 | height: 100%; 16 | border: 0; 17 | } 18 | 19 | .md-header__ellipsis { 20 | display: none; 21 | } -------------------------------------------------------------------------------- /docs/dependencies.md: -------------------------------------------------------------------------------- 1 | # Dependencies 2 | 3 | GLIL は以下のライブラリに依存する. 4 | 5 | - [Eigen3](https://eigen.tuxfamily.org/index.php) ([MPL2](https://eigen.tuxfamily.org/index.php)) 6 | - [OpenCV](https://opencv.org/) ([Apache2](https://opencv.org/)) 7 | - [GTSAM](https://gtsam.org/) ([BSD](https://github.com/borglab/gtsam/blob/develop/LICENSE.BSD)) 8 | - [Iridescence](https://github.com/koide3/iridescence) ([MIT](https://github.com/koide3/iridescence/blob/master/LICENSE)) 9 | - [nanoflann](https://github.com/nlohmann/json) ([MIT](https://github.com/jlblancoc/nanoflann)) 10 | - [nlohmann/json](https://github.com/jlblancoc/nanoflann) ([BSD](https://github.com/nlohmann/json/blob/develop/LICENSE.MIT)) 11 | - [spdlog](https://github.com/gabime/spdlog) ([MIT](https://github.com/gabime/spdlog/blob/v1.x/LICENSE)) 12 | - [PCL](https://pointclouds.org/) ([BSD](https://github.com/PointCloudLibrary/pcl/blob/master/LICENSE.txt)) 13 | - [ROS1/ROS2](https://www.ros.org/) ([BSD](http://osrf.github.io/www.ros.org/)) 14 | - [OpenMP](https://www.openmp.org/) ([Apache2](https://github.com/llvm-mirror/openmp/blob/master/LICENSE.txt)) 15 | - [CUDA](https://developer.nvidia.com/cuda-toolkit) ([CUDA EULA](https://docs.nvidia.com/cuda/eula/index.html)) 16 | -------------------------------------------------------------------------------- /docs/extend.md: -------------------------------------------------------------------------------- 1 | # Extending GLIL 2 | 3 | !!!warn 4 | Details of this section are revealed for only closed-source users. 5 | 6 | ## Notation 7 | 8 | ## Variables 9 | 10 | ## Variables in GLIL 11 | 12 | ## Global callback slot 13 | 14 | ## Extension module 15 | 16 | ### ROS2 Extension module 17 | 18 | ### GLIL Extension module 19 | -------------------------------------------------------------------------------- /docs/faq.md: -------------------------------------------------------------------------------- 1 | # FAQ 2 | 3 | ## Debugモード 4 | 5 | 解決不能な問題が生じたときはデバッグのために ROS param で ```debug=true``` に設定し,ロギングレベルを変更する.細かい粒度のログが表示されるようになるのと同時に ```/tmp/glil_log.txt``` にログファイルが生成されるため,これを症状のレポートと併せてご提出ください. 6 | 7 | ## IMU関連 8 | 9 | 角速度が生じるたびに推定が遅くなる・ズレる場合,重力方向に推定が飛んでいく場合などは IMU のセンサ設定が適切になされていない可能性がある.[glim_ext](https://github.com/koide3/glim_ext) の [imu_validator](https://github.com/koide3/glim_ext/tree/master/modules/frontend/imu_validator) モジュールを有効にすることで,IMUの設定が妥当かどうか検証することができる. 10 | 11 | imu_validator モジュールを有効にすると標準ビューワ上に推定値を基にIMU加速度値を世界座標系に変換した値がプロットされるため,これが [0, 0, +g] から大きく移動する場合は LiDAR-IMU 相対姿勢設定が誤っている可能性がある.同様にオドメトリ推定によって得られた角速度とIMUで観測された角速度がプロットされるため,これらがおおよそ一致していない場合も相対姿勢設定に誤りがある可能性が高い. 12 | 13 | !!!tip 14 | imu_validator を有効にするには glim_ext をビルドし, ```"libimu_validator.so``` を ```config_ros.json``` 内の ```"glim_ros/extension_modules"``` に追加する. 15 | 16 |
17 | 18 |
19 | 20 | また,標準ビューワ上の ```Status``` ボタンを押して表示される推定結果のIMU速度と実際の運動量に大きな齟齬がある場合や,IMUバイアスが大きすぎる場合 (> 0.5) もIMU設定に問題がある可能性が高い. 21 | 22 | ![frontend_status](assets/images/frontend_status.png) -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | ## :fontawesome-solid-exclamation: Warning 4 | 5 | 本ドキュメントは産総研で開発された**Closed-source 点群自己位置推定パッケージ**に関するドキュメントです. 有償知財開示に興味のある方は [k.koide@aist.go.jp](k.koide@aist.go.jp) までご連絡ください. 6 | なお,ベースとなる地図生成パッケージがOSSとして公開されています : https://github.com/koide3/glim. 7 | 8 | This documentation is about a closed-source point-cloud-based localization package. The package is managed under a strict proprietary license, and **code disclosure requires a formal paid contract. Licensing for individuals is not allowed.** Note that a mapping package, which shares the same base algorithm with this package, is available as open source : https://github.com/koide3/glim. 9 | 10 | ## :fontawesome-solid-location-crosshairs: GLIL: Robust Localization on a 3D Prior Map 11 | 12 | ***GLIL*** は LiDAR-IMU タイトカップリングに基づく三次元既知地図上でのセンサ姿勢推定パッケージである.GPUを利用した高速な点群マッチングをベースに構築されており,従来手法に対して以下のような特徴を持つ. 13 | 14 | - LiDAR制約とIMU制約の同時最適化によって急激な動きに対して頑強 15 | - 自己運動量推定と地図とのマッチングを同時に行うことで,地図の欠損や変化に対して頑強 16 | - 点群とIMUが計測可能なほぼすべてのセンサで利用可能 17 | - モジュール間通信 (Global callback slots) によって,追加センサ制約などを容易に追加可能 18 | 19 | また,サポートは限定的であるが実験的機能として以下の機能を有する. 20 | 21 | - CPUのみを使った自己位置推定 (GPU版と比較して若干低可搬性) 22 | - 初期化・自己位置再認識のための大域姿勢推定機能 23 | 24 | 25 | ## :material-ubuntu: Supported environments 26 | 27 | GLIL は Ubuntu 20.04 (ROS galactic/noetic) 以降でビルド可能であるが,重点的にテストを行っている Ubuntu 22.04 (ROS humble) での利用を推奨する.また, CUDA 12.0 以降の利用を推奨する. 28 | 29 | ## :fontawesome-solid-video: Video 30 | 31 |
32 | 33 |
34 | 35 |
36 | 37 |
38 | 39 |
40 | 41 | ## :material-file-document: Documentation 42 | 43 | - [Doxygen generated API (Available for only closed-source users)](https://not_available) 44 | 45 | 46 | !!!tip 47 | API リストの最新版は glil_ros のソースコードから doxygen を利用して生成できる. 48 | ```bash 49 | cd glil_ros 50 | doxygen Doxyfile 51 | ``` 52 | 53 | !!!tip 54 | 本ドキュメントの最新版は glil_ros のソースコードから mkdocs を利用して閲覧することができる. 55 | 56 | 1. mkdocs のインストール 57 | 58 | ```bash 59 | pip install mkdocs mkdocs_material 60 | ``` 61 | 62 | 2. mkdocs server の起動 63 | 64 | ```bash 65 | cd glil_ros 66 | mkdocs serve 67 | ``` 68 | 69 | 3. ブラウザで ```127.0.0.1:8000``` にアクセスする. 70 | 71 | 72 | ## :simple-googlescholar: Related work 73 | 74 | - 小出健司, 大石修士, 横塚将志, 阪野貴彦, "点群・IMU制約のウィンドウ最適化に基づく既知地図上での6DoF姿勢推定", ROBOMECH2023 [:fontawesome-solid-file-pdf:](https://staff.aist.go.jp/k.koide/assets/pdf/robomech2023.pdf) 75 | - Kenji Koide, Shuji Oishi, Masashi Yokozuka, and Atsuhiko Banno, "Tightly Coupled Range Inertial Localization on a 3D Prior Map Based on Sliding Window Factor Graph Optimization", ICRA2024 [:fontawesome-solid-file-pdf:](https://staff.aist.go.jp/k.koide/assets/pdf/icra2024_02.pdf) 76 | - Kenji Koide, Masashi Yokozuka, Shuji Oishi, and Atsuhiko Banno, "Globally Consistent and Tightly Coupled 3D LiDAR Inertial Mapping", ICRA2022 [:fontawesome-solid-file-pdf:](https://staff.aist.go.jp/k.koide/assets/pdf/icra2022.pdf) 77 | 78 | ## :fontawesome-solid-envelope: Contact 79 | 80 | Kenji Koide [:material-home:](https://staff.aist.go.jp/k.koide/) [:material-mail:](mailto:k.koide@aist.go.jp) [:material-twitter:](https://twitter.com/k_koide3) 81 | National Institute of Advanced Industrial Science and Technology (AIST), Japan -------------------------------------------------------------------------------- /docs/initialization.md: -------------------------------------------------------------------------------- 1 | # Initialization proceduce 2 | 3 | 4 | !!!warn 5 | Details of this section are revealed for only closed-source users. 6 | 7 | 8 | ## Initial pose with respect to the prior map 9 | 10 | 地図に対するセンサ姿勢は以下の方法で与えることができる. 11 | 12 | ### 1. ROS param 13 | 14 | ROS param で ```init_by_params=True``` と設定した場合,```init_T_world_imu```を地図に対する初期姿勢とし,Grounded状態で推定を開始する.```init_T_world_imu``` には ```tx,ty,tz,qx,qy,qz,qw``` の姿勢を表す文字列を設定する (数字の間にはカンマのみを置き,スペースを入れてはならない). 15 | 16 | !!!tip 17 | ```init_T_world_imu```はIMU座標における三次元点```p_imu```を対応する地図座標の点```p_world```に移動する変換である (```p_world = init_T_world_imu * p_imu```).姿勢形式の変換 (e.g., 4x4 matrix → [trans,quat]) には [Matrix Converter](https://staff.aist.go.jp/k.koide/workspace/matrix_converter/matrix_converter.html) を使用すると良い. 18 | 19 | ### 2. ROS topics 20 | 21 | ```/initialpose``` トピック (```geometry_msgs/msg/PoseWithCovarianceStamped```) に初期姿勢として,地図上におけるIMU姿勢を与えることができる.与えられた姿勢から地図に対するスキャンマッチングを行って修正された姿勢が初期姿勢として使用される.同様に ```/initialpose_noalign``` トピックに姿勢を与えた場合はスキャンマッチングを行わず,与えられた姿勢をそのまま初期姿勢として用いる. 22 | 23 | !!!tip 24 | Rviz 上の ```2D Pose Estimate``` ウィジェットを使うことで ```/initialpose``` トピックに姿勢を publish することができる. 25 | 26 | ### 3. Manual alignment 27 | 28 | Standard viewer の ```Manual align``` ボタンを押すことで手動初期姿勢設定モーダルを表示することができる.モーダル上のGizmoを操作することで姿勢を更新し,```align``` ボタンを押すとその姿勢からスキャンマッチングを実行する.得られた姿勢がうまく地図にフィットしていれば ```OK``` ボタンを押すと姿勢推定器が Grounding される. 29 | 30 | !!!tip 31 | 手動姿勢設定モーダル下部の ```T_world_imu``` 現在の地図上でのIMU姿勢を表すため,これを Ctrl + C でコピーして ROS param による初期姿勢の設定などに利用することができる. 32 | 33 | ![manual alignment](assets/images/manual.jpg) 34 | 手動姿勢設定モーダル 35 | -------------------------------------------------------------------------------- /docs/installation.md: -------------------------------------------------------------------------------- 1 | # Installation 2 | 3 | ## Install from source 4 | 5 | GLILは Ubuntu20.04 (ROS galactic/noetic) 以降でビルド可能であるが,重点的にテストを行っている Ubuntu 22.04 (ROS humble) での利用を推奨する.また, CUDA 12.0 以降の利用を推奨する. 6 | 7 | 8 | !!!warn 9 | Details of this section are revealed for only closed-source users. 10 | 11 | -------------------------------------------------------------------------------- /docs/params_brief.md: -------------------------------------------------------------------------------- 1 | # Important parameters 2 | 3 | 特に調整が必要となるパラメータを抜粋して説明する.[Detailed parameters](params_detail.md)を併せて参照すること. 4 | 5 | ## Config files & ROS params 6 | 7 | GLIL では一度設定した後は頻繁には変更しないパラメータ (e.g., センサ設定,推定パラメータ設定) の設定にはConfigファイルを使用し, オペレーション毎に変更しうるパラメータ (e.g., 地図ファイル,初期姿勢) の設定にはROS paramを使用する. 8 | 9 | !!!tip 10 | 起点ファイルはROS paramの```config_path```を設定することで変更できる (```config_path + "/config.json"```が起点ファイルとなる).```config_path```の最初の位置文字が ```/```(スラッシュ) から始まる場合は絶対パスとして解釈され,それ以外の場合は```glil_ros```のパッケージパスに対する相対パスとして解釈される. 11 | 12 | !!!tip 13 | ROS2の仕様上,Configファイルは```ros2_ws/install/glil_ros/share/glil_ros/config```以下に配置する必要があるため,```glil_ros/config```以下のファイルへの変更を適用するためには```colcon build```を実行する必要がある. 14 | 15 | ## ROS params (glil_ros.launch.py) 16 | 17 | | Parameter | Description | 18 | | ----------------- | ----------- | 19 | | map_load_mode | 地図読み込みモード (```POINTCLOUD``` or ```BINARY```). | 20 | | map_path | 地図データパス | 21 | | init_by_params | ```true```の場合,初期姿勢をROS paramから与える.```false```の場合,地図に対してGroundingされていない状態で推定を開始する. | 22 | | init_T_world_imu | 地図に対する初期IMU姿勢 (```tx,ty,tz,qx,qy,qz,qw```).※数字の間にスペースを入れてはならない. | 23 | 24 | 25 | ## Config files 26 | 27 | !!!warn 28 | Details of this section are revealed for only closed-source users. 29 | 30 | 31 | ### ROS関連 (config_ros.json) 32 | 33 | ### センサ設定 (config_sensors.json) 34 | 35 | ### 点群前処理設定 (config_preprocess.json) 36 | 37 | ### GPUベースオドメトリ推定設定 (config_frontend_gpu.json) 38 | 39 | ### グローバルマップ前処理設定 (config_globalmap.json) 40 | -------------------------------------------------------------------------------- /docs/params_detail.md: -------------------------------------------------------------------------------- 1 | # Detailed parameters 2 | 3 | !!!warn 4 | Details of this section are revealed for only closed-source users. 5 | -------------------------------------------------------------------------------- /docs/quickstart.md: -------------------------------------------------------------------------------- 1 | # Getting started 2 | 3 | ## Prerequisite 4 | 5 | 1. [Installation](installation.md) に従い, GLIL のインストールを行う. 6 | 2. [テストデータ (rosbag)](https://zenodo.org/record/7233945)をダウンロードする. 7 | ROS1: [os1_128_01_downsampled.bag (515MB)](https://zenodo.org/record/7233945/files/os1_128_01_downsampled.bag?download=1) or [os1_128_01.bag (7.3GB)](https://zenodo.org/record/7233945/files/os1_128_01.bag?download=1) 8 | ROS2: [os1_128_01_downsampled.tar.gz (426MB)](https://zenodo.org/record/7233945/files/os1_128_01_downsampled.tar.gz?download=1) or [os1_128_01.tar.gz (3.2GB)](https://zenodo.org/record/7233945/files/os1_128_01.tar.gz?download=1) 9 | 3. [地図データ (PLY or PCD)](https://zenodo.org/record/7961649)をダウンロードする. 10 | PLY: [os1_128.ply](https://zenodo.org/record/7961649/files/os1_128.ply?download=1) 11 | PCD: [os1_128.pcd](https://zenodo.org/record/7961649/files/os1_128.pcd?download=1) 12 | 13 | ## Try it! 14 | 15 | 1. ```launch/glil_ros.launch.py``` 内の地図データファイルパスと初期姿勢パラメータを以下のように設定する. 16 | 17 | ```python 18 | parameters=[ 19 | { 20 | ... 21 | 'map_load_mode': 'POINTCLOUD', 22 | 'map_path': '/path/to/os1_128.ply', 23 | ... 24 | 'init_by_params': True, 25 | 'init_T_world_imu': '0.011,-0.033,0.078,0.109,-0.042,-0.006,0.993' 26 | } 27 | ] 28 | ``` 29 | 30 | 2. GLIL を起動する.地図の読み込み処理が終了し,ビューワ上に地図点群が表示されるのを待つ. 31 | 32 | ```bash 33 | cd glil_ros/launch 34 | ros2 launch ros2 launch glil_ros.launch.py 35 | ``` 36 | 37 | !!!tip 38 | 地図データに点群ファイル(PLY or PCD)を設定した場合には,点の共分散推定とボクセルマップ生成の処理に時間がかかる.```save_binary_map```に```True```をセットしておくと前処理後の地図が```binary_map_save_path```に保存されるため,以降は```map_load_mode```を```BINARY```に変更し,```map_path```を保存したバイナリ地図データパスに設定することで起動時間を短縮することができる. 39 | 40 | 41 | 3. 別のコンソールでテストデータを再生する. 42 | 43 | ```bash 44 | ros2 bag play os1_128_01 45 | ``` 46 | 47 |
48 | 49 |
50 | 51 | 4. Rviz2 で表示する. 52 | 53 | ```bash 54 | cd glil_ros/rviz 55 | rviz2 -d glil_ros2.rviz 56 | ``` 57 | 58 |
59 | 60 |
61 | 62 | 63 | ## Localization on a severely cropped map 64 | 65 | PLY: [os1_128_cropped.ply](https://zenodo.org/record/7972321/files/os1_128_cropped.ply?download=1) 66 | 67 |
68 | 69 |
-------------------------------------------------------------------------------- /docs/unsupported.md: -------------------------------------------------------------------------------- 1 | # Unsupported functions 2 | 3 | 本説で記述する機能は実験的機能として限定的サポートのもとで提供する.特定のセンサ以外では動作が不安定になる可能性があるので留意すること. 4 | 5 | ## CPUベース姿勢推定 6 | 7 | !!!warn 8 | Details of this section are revealed for only closed-source users. 9 | 10 | ## 大域姿勢推定 11 | 12 | !!!warn 13 | Details of this section are revealed for only closed-source users. 14 | 15 | ### ROS service 16 | 17 | | Service name | Type | Description | 18 | | ------------ | ---- | ----------- | 19 | | ~relocalize | std_srvs/srv/Trigger | 大域姿勢推定を実行する | 20 | 21 |
22 | 23 |
24 | -------------------------------------------------------------------------------- /docs/viewers.md: -------------------------------------------------------------------------------- 1 | # Viewers and ROS interface 2 | 3 | GLIL では二種類のビューワ (標準ビューワとRvizビューワ) を提供する.いずれも ```config_ros.json``` の ```extension_modules``` 内の対応するモジュール名を追加/削除することで有効化/無効化することができる. 4 | 5 | ## Standard viewer 6 | 7 | 標準ビューワは GLIL の起動と同時に立ち上がり,推定状態の確認や地図に対する姿勢の設定を行うことができる. 8 | 9 | ### 高さクリッピング 10 | 11 | ```clip_by_z``` チェックボックスを有効にすると,地図点群を高さに応じてフィルタリングして表示する.表示範囲は ```z_range``` スライダーによって変更する. 12 | 13 | ### 推定状態表示 14 | 15 | ```Status``` ボタンを押すことで推定状態表示ウィンドウが表示され,以下の情報が表示される. 16 | 17 | | Label | Description | 18 | | -------- | ------------ | 19 | | frame ID | 最新フレームのID [int] | 20 | | stamp | 最新フレームのタイムスタンプ [s] | 21 | | points | 最新フレームの点数 | 22 | | T_w_i | IMU姿勢 (```T_world_imu = [tx, ty, tz, qx, qy, qz, qw]```) | 23 | | v_w_i | IMU速度 (```v_world_imu = [vx, vy, vz]```) | 24 | | bias | IMUバイアス (```bias = [ax, ay, az, wx, wy, wz]```) | 25 | 26 | ### 手動初期姿勢設定 27 | 28 | ```Manual align``` ボタンを押すことで手動姿勢設定モーダルを表示する. 29 | 30 | ### 動画 31 | 32 |
33 | 34 |
35 | 36 | ## Rviz viewer 37 | 38 | Rviz viewer は推定結果を基に各種のROSメッセージを publish/subscribe する. 39 | 40 | ### ROS params 41 | 42 | | Name | Description | 43 | | -------- | ------------ | 44 | | map_frame | 地図フレームID (Grounded 状態の時のフレームID) | 45 | | odom_frame | オドメトリフレームID (Ungrounded 状態の時のフレームID) | 46 | | imu_frame | IMUフレームID | 47 | | publish_tf | `True` の場合,map_frame -> imu_frame のTFフレームを出力する. | 48 | 49 | ### Published topics 50 | 51 | | Topic | Type | Description | 52 | | -------- | ---- | ------------ | 53 | | ~global_map | PointCloud2 | 地図点群 | 54 | | ~imu_pose | PoseStamped | 推定IMU姿勢 | 55 | | ~imu_pose_with_cov | PoseWithCovarianceStamped | 推定IMU姿勢 + 共分散行列 | 56 | | ~marginalized_imu_pose | PoseStamped | 周辺化されたIMU姿勢 (最適化ウィンドウから出た姿勢変数) | 57 | | ~twist | TwistStamped | 推定IMU速度 | 58 | | ~points | PointCloud2 | 前処理されたLiDAR点群 | 59 | | ~aligned_points | PointCloud2 | 地図座標に変換されたLiDAR点群 | 60 | 61 | ### Subscribed topics 62 | 63 | ※ [Initialization proceduce: 2. ROS topics](initialization.md) も参照 64 | 65 | | Topic | Type | Description | 66 | | -------- | ---- | ------------ | 67 | | ~initialpose | PoseWithCovarianceStamped | 地図に対するIMU姿勢 (共分散は使用しない).与えられた姿勢から地図に対してスキャンマッチングした結果を入力姿勢として利用する. | 68 | | ~initialpose_noalign | PoseWithCovarianceStamped | 地図に対するIMU姿勢 (共分散は使用しない.スキャンマッチングを行わない.) | 69 | 70 | ### 動画 71 | 72 |
73 | 74 |
75 | -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- 1 | site_name: "GLIL" 2 | site_author: k.koide 3 | repo_url: https://github.com/koide3/glil_pubdoc 4 | site_description: "GLIL: Robust 3D Localization on a Prior Environmental Map" 5 | 6 | markdown_extensions: 7 | - meta 8 | - attr_list 9 | - admonition 10 | - pymdownx.highlight: 11 | anchor_linenums: true 12 | - pymdownx.inlinehilite 13 | - pymdownx.snippets 14 | - pymdownx.superfences 15 | - pymdownx.emoji: 16 | emoji_index: !!python/name:material.extensions.emoji.twemoji 17 | emoji_generator: !!python/name:material.extensions.emoji.to_svg 18 | 19 | 20 | theme: 21 | name: material 22 | palette: 23 | primary: indigo 24 | front: 25 | text: Roboto 26 | 27 | use_directory_urls: false 28 | 29 | 30 | copyright: Copyright © 2021 - 2022 Kenji Koide 31 | extra: 32 | social: 33 | - icon: material/home 34 | link: https://staff.aist.go.jp/k.koide/ 35 | - icon: fontawesome/brands/github 36 | link: https://github.com/koide3/glil_pubdoc 37 | - icon: fontawesome/brands/twitter 38 | link: https://twitter.com/k_koide3 39 | 40 | extra_css: 41 | - "css/custom.css" 42 | - "https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css" 43 | 44 | nav: 45 | - 'index.md' 46 | - 'dependencies.md' 47 | - 'installation.md' 48 | - 'quickstart.md' 49 | - 'initialization.md' 50 | - 'viewers.md' 51 | - 'params_brief.md' 52 | - 'params_detail.md' 53 | - 'extend.md' 54 | - 'unsupported.md' 55 | - 'faq.md' 56 | --------------------------------------------------------------------------------