Try to make Visual Inertial SLAM
| metric | value[m] |
|---|---|
| max | 0.235777 |
| mean | 0.106478 |
| median | 0.096209 |
| min | 0.010383 |
| rmse | 0.118428 |
| sse | 40.280377 |
| std | 0.051843 |
- Setup
- Test environment
- Coordinate setup
- Feature detection and tracking
- Initialization
- Bundle adjustment
- Visual-inertial odometry
- Vision frontend
- Vision backend
- Dataset
- OpenGV Memo
- Overview (drawio)
- Vision-frontend review and design (drawio)
- Vision-backend review and design (drawio)
- Camera model (drawio)
- Lie theory (drawio)
- Basalt servay (drawio)
- Keep a license of this repo as non-GPL.
- Try to use GTSAM. <= Optimization時に計算が不安定になることがあるらしい。
- Implement the VETAMIN-E feature.
- Feature tracker
- Do tests
- Evaluate things by metrics
- Perfomance metrics
- Trajectory or Pose metrics
- Use logger
- Use emacs as much as possible
- Use parameter file
- Use CI tools
- できればLocalで実行可能なCI toolにしたい
- werckerはLocalでもいけるらしい
- Jenkins, Gitlab CI, Droneなどいろいろあるぽい
- GitLab CIは有料らしいのでJenkinsかDroneがよさそう
- docker使えるなうな環境としてはDroneがいいか?
- Separate library and utilities
- Write codes and keep style as Google CPP coding style.
- Use .cpp or .cc
- Use .hpp or .h
- 開発指針としたい資料
- 評価にデータセットを使うのは大事っぽい
- SLAMは大量のHyperParameterがあるので、これを自動探索できるようになるのは大事っぽい : optuna
- SLAMは密結合なコードとなることが多いので、バグの発見が難しい
- できるだけ単体テストをする
- 自動的な統合テストをできるだけ行う
- 代数計算ツールを活用する
- SymPyが結構使えそう : co-lab link
- Mathematica使えればベスト
- テスト結果とパラメータの管理が重要 => mlflow
- 不利な状況を楽しむようにする
- 天候:雨、霧、低照度、逆光、直射日光
- 低FPS、Static仮定を破る環境(カメラの前をウロウロする人がいるとか)、はっきり結像しない環境について(草むら画像をJPEG圧縮した場合など)
- ライブハウス?レーザー飛び交う現場は一番難しそう。
- https://github.com/PaoPaoRobot/SLAMPaperReading
See Setup.
- Rollingシャッターのキャリブレーションについて
- 参考:kalibr ethz-asl/kalibr#261
- lambdaとsigmaのチューニング
- 同じ点として収束してしまった特徴点の扱い
- 特徴点密度の維持
- 特徴点検出、トラッキング手法の評価方法
- subspace gauss-newton methodの理解
- Inertial mesurementの導入
- data structure
- slamの処理に必要なグラフ、データ構造を準備する
git pullするときのURLを修正する必要あり。
eryedenのリポジトリに対する鍵はgithub-eryedenで紐付けられている。~/.ssh/config参照。
なので、[email protected]:eryeden/vi-slam.gitはgit@github-eryeden:eryeden/vi-slam.gitとして設定しなおす必要あり。
方法は以下の二通り。
- 設定済みURLをコマンドで修正
cd path/to/this/repository
git remote set-url origin git@github-eryeden:eryeden/vi-slam.gitgit clone時に修正したURLでCloneする。
git clone git@github-eryeden:eryeden/vi-slam.gitURLである[email protected]:eryeden/vi-slam.gitのgithub-eryedenの部分は実行するPCの~/.ssh/configに依存する。
違う可能性があるので注意。


