How claritylab-org/jetson-orb-slam3 works
Jetson-ORB-SLAM3 is a GPU-accelerated visual/inertial SLAM system. Sensor or dataset frames enter through System and Tracking; feature extraction and matching support pose tracking and initialization, then local mapping maintains the map while loop closing detects revisits and corrects it. Optimization and camera geometry support these stages, and the system can display results and export trajectories. The README also documents CPU extraction, overlapped feature extraction, and optional TensorRT/CNN place recognition. The tree and excerpts support the principal modules, but do not establish every internal call; uncertain wiring is omitted.
Main entry points: Tracking.cc Frame Tracking · LocalMapping.cc Local Mapping · LoopClosing.cc Loop Closing · System.cc SLAM System
Components 26
Tracking Front End
- SLAM System
src/System.cc - Frame Tracking
src/Tracking.cc - Frame State
src/Frame.cc - ORB Extractor
src/ORBextractor.cc - CUDA ORB
src/cuda/orb_gpu.cpp - Pipelined Features
src/ORBextractor_gpu.cpp - Feature Matching
src/ORBmatcher.cc - Two-View Init
src/TwoViewReconstruction.cc
Mapping and Closure
- Local Mapping
src/LocalMapping.cc - Atlas
src/Atlas.cc - Map State
src/Map.cc - Keyframes
src/KeyFrame.cc - Map Points
src/MapPoint.cc - Keyframe Index
src/KeyFrameDatabase.cc - Loop Closing
src/LoopClosing.cc - ORB Vocabulary
Thirdparty/DBoW2/DBoW2/TemplatedVocabulary.h - CNN Place Recognition
src/CNNLoopDetector.cpp
Geometry and Optimization
- Camera Models
src/CameraModels/KannalaBrandt8.cpp - Graph Optimizer
src/Optimizer.cc - g2o Solver
Thirdparty/g2o/g2o/core/sparse_optimizer.h
Results and Interfaces
- Viewer
src/Viewer.cc - Map Display
src/MapDrawer.cc - Trajectory Files
Other components
- Camera / IMU
- Display
- TensorRT Engine
Connections 24
- Camera / IMU → SLAM System: supplies frames
- SLAM System → Frame Tracking: dispatches tracking
- Frame Tracking → Frame State: builds frame state
- Frame Tracking → ORB Extractor: extracts features
- ORB Extractor → CUDA ORB: runs CUDA kernels
- Frame Tracking → Pipelined Features: overlaps extraction
- Frame Tracking → Feature Matching: matches features
- Frame Tracking → Two-View Init: initializes map
- Frame Tracking → Camera Models: projects observations
- Frame Tracking → Atlas: updates atlas
- Local Mapping → Map State: updates map
- Local Mapping → Keyframes: adds keyframes
- Local Mapping → Map Points: adds landmarks
- Local Mapping → Graph Optimizer: optimizes map
- Loop Closing → Keyframe Index: queries candidates
- Loop Closing → CNN Place Recognition: retrieves places
- Loop Closing → TensorRT Engine: loads engine
- Loop Closing → Graph Optimizer: corrects map
- Keyframe Index → ORB Vocabulary: scores words
- Graph Optimizer → g2o Solver: solves graph
- SLAM System → Viewer: starts viewer
- Viewer → Map Display: renders map
- Viewer → Display: shows view
- SLAM System → Trajectory Files: writes trajectory