Skip to content

eryeden/vi-slam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

571 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vi-slam

Try to make Visual Inertial SLAM

v0.21 ate

metric value[m]
max 0.235777
mean 0.106478
median 0.096209
min 0.010383
rmse 0.118428
sse 40.280377
std 0.051843

Docs

Drawio docs

Policy

  1. Keep a license of this repo as non-GPL.
  2. Try to use GTSAM. <= Optimization時に計算が不安定になることがあるらしい。
  3. Implement the VETAMIN-E feature.

Roadmap

roadmap_march

Plan

  1. Feature tracker

What is important?

  • 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.

Things need discussions

  • Use .cpp or .cc
  • Use .hpp or .h

Memo

  • 開発指針としたい資料
  • 評価にデータセットを使うのは大事っぽい
  • SLAMは大量のHyperParameterがあるので、これを自動探索できるようになるのは大事っぽい : optuna
  • SLAMは密結合なコードとなることが多いので、バグの発見が難しい
    • できるだけ単体テストをする
    • 自動的な統合テストをできるだけ行う
    • 代数計算ツールを活用する
      • SymPyが結構使えそう : co-lab link
      • Mathematica使えればベスト
    • テスト結果とパラメータの管理が重要 => mlflow
  • 不利な状況を楽しむようにする
    • 天候:雨、霧、低照度、逆光、直射日光
    • 低FPS、Static仮定を破る環境(カメラの前をウロウロする人がいるとか)、はっきり結像しない環境について(草むら画像をJPEG圧縮した場合など)
    • ライブハウス?レーザー飛び交う現場は一番難しそう。
  • https://github.com/PaoPaoRobot/SLAMPaperReading

Deps

See Setup.

TODO

Calibration

  • Rollingシャッターのキャリブレーションについて
  • 参考:kalibr ethz-asl/kalibr#261

feature point detection and tracking

  • lambdaとsigmaのチューニング
  • 同じ点として収束してしまった特徴点の扱い
  • 特徴点密度の維持
  • 特徴点検出、トラッキング手法の評価方法

slam

  • subspace gauss-newton methodの理解
  • Inertial mesurementの導入
  • data structure
    • slamの処理に必要なグラフ、データ構造を準備する

SSHについて

git pullするときのURLを修正する必要あり。 eryedenのリポジトリに対する鍵はgithub-eryedenで紐付けられている。~/.ssh/config参照。 なので、[email protected]:eryeden/vi-slam.gitgit@github-eryeden:eryeden/vi-slam.gitとして設定しなおす必要あり。 方法は以下の二通り。

  1. 設定済みURLをコマンドで修正
cd path/to/this/repository
git remote set-url origin git@github-eryeden:eryeden/vi-slam.git
  1. git clone時に修正したURLでCloneする。
git clone git@github-eryeden:eryeden/vi-slam.git

注意

URLである[email protected]:eryeden/vi-slam.gitgithub-eryedenの部分は実行するPCの~/.ssh/configに依存する。 違う可能性があるので注意。

About

Try the visual inertial SLAM. See setup section.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors