プログラミング(コア)
- C++: OOP、モダンC++、データ構造とアルゴリズム、コンパイラ、CMake/Makefile/Ninja、デザインパターン、OpenCV C++
- C
- Git/GitHub
- OpenCV (opencv-python)
- Python: 深層学習、グラフ描画、システムスクリプト
- Bash/Linux: ssh、CLIテキストエディタ/Vim/tmux
- 数学ライブラリ: Eigen、Ceres-solver/GTSAM/g2o
- C++/Python相互運用: PyBind11、nanobind
- ROS/ROS2
- Docker
プログラミング(任意 — SLAM関連職に役立つエンジニアリングスキル)
- 並行処理: SIMD-SSE/AVX/Neon、OpenMP、CUDA
- エッジデプロイ: 学習済みフロントエンドのTensorRT/ONNXエクスポート、Jetsonでのベンチマーク
- モバイル: Android(Java/Kotlin)、iOS(Objective-C/Swift)
- C#: Unity AR、Microsoft HoloLens
- CI/CD: GitHub Actions
- シミュレーション: Gazebo、Isaac Sim
画像処理
ローカル特徴マッチング
グローバル特徴マッチング
特徴点追跡
多視点幾何学
外れ値除去
- RANSAC、PROSAC、M-Estimator、MAXCON、凸緩和
- ロバストなポーズグラフ最適化: 切替可能制約(Switchable constraints)、動的共分散スケーリング(DCS)、ペアワイズ整合性最大化(PCM)
証明可能な最適アルゴリズム
| システム | 著者/年 | キーコンセプト |
|---|---|---|
| SE-Sync | Rosen 2019 | SDP+リーマン最適化による証明可能なポーズグラフ最適化(arXiv 2016、IJRR 2019) |
| TEASER++ | Yang 2020 | 点群レジストレーション、90%以上の外れ値にロバスト、TLS+最大クリーク(T-RO/RSS 2020) |
| GNC | Yang 2020 | Graduated Non-Convexity、凸関数からロバストコストへの連続変形 |
| QUASAR | Yang 2019 | 証明可能な最適回転探索(外れ値を含むWahba問題)、クォータニオンQCQP+SDP緩和 |
最小二乗最適化
- 再投影誤差、バンドル調整
- 非線形最適化、リー代数
- リー群: SO(3)、SE(3)
- ガウス・ニュートン法、レーベンバーグ・マルカート法
- ポーズグラフ最適化
- シュア補行列・疎性
運動モデル
- 内部センサー(プロプリオセプティブセンサー): IMU、車輪
- オドメトリ (姿勢)
観測モデル
- 外部センサー(エクステロセプティブセンサー): カメラ、LiDAR
- ランドマーク (地図)
- 同時最適化、最尤推定(MLE)と最大事後確率推定(MAP)
ファクターグラフ最適化
- ファクターグラフ: SLAMを変数(姿勢、ランドマーク)とファクター(観測)からなる二部グラフとして表現する
- 疎な非線形最小二乗としてのMAP推定;変数消去とベイズ木
- インクリメンタルスムージング: iSAM / iSAM2
- マージナライゼーション(周辺化) と固定ラグスムージング
- 参考文献: Dellaert & Kaess, Factor Graphs for Robot Perception (2017); GTSAMチュートリアル
ガウス信念伝播
| システム | 著者/年 | キーコンセプト |
|---|---|---|
| FutureMapping 1 | Davison 2018 | Spatial AIの計算構造、SLAMのためのGBP |
| FutureMapping 2 | Davison 2019 | Spatial AIの中核プリミティブとしてのGBP、GBPへの視覚的な入門 |
| BA on Graph Processor | Ortiz 2020 | Graphcore IPU上でのバンドル調整、タイルベースの並列処理 |
| DANCeRS | Patwardhan 2025 | GBPベースのロボット群における分散合意形成 |
マッピング
センサー
- カメラデバイス: 広角/テレセントリックレンズ、レンズMTF、CCD/CMOS、ローリング/グローバルシャッター、露出/ISO、ステレオビジョン、RGB-D、ストラクチャードライト、アクティブIR/ToF
- LiDAR → Visual-LiDAR融合
- IMU → VIO
- RADAR → センサー融合、拡張カルマンフィルタ
- ソナー
- マルチセンサーキャリブレーション: Camera-IMU、Camera-LiDAR(Kalibr)
評価
- 評価指標: ATE(絶対軌跡誤差)、RPE(相対姿勢誤差)
- 一貫性: NEES(正規化推定誤差平方)
- データセット: KITTI、TUM RGB-D、EuRoC、TartanAir、TUM-VI、4Seasons、Hilti SLAM Challenge、Newer College、Project Aria
- ツール: evo (軌跡評価)