pose graph optimization
**Pose graph optimization** is the **SLAM backend method that adjusts only pose nodes using relative motion constraints to achieve globally consistent trajectories** - it provides fast large-scale drift correction, especially after loop closure detection.
**What Is Pose Graph Optimization?**
- **Definition**: Graph-based optimization where nodes are poses and edges are relative transform constraints.
- **Constraint Sources**: Odometry, visual/lidar registration, loop closures, and inertial factors.
- **Optimization Target**: Minimize inconsistency across all pairwise constraints.
- **Difference from BA**: Does not optimize landmark coordinates directly.
**Why Pose Graph Optimization Matters**
- **Scalability**: Cheaper than full bundle adjustment for long trajectories.
- **Loop Closure Correction**: Efficiently redistributes accumulated drift across full path.
- **Backend Stability**: Provides global consistency updates in real time or near real time.
- **Map Integrity**: Keeps trajectory and keyframe topology coherent.
- **System Practicality**: Standard choice in production SLAM stacks.
**Pose Graph Elements**
**Pose Nodes**:
- Represent robot or camera states at keyframes.
- Store position and orientation estimates.
**Constraint Edges**:
- Encode relative transforms with uncertainty.
- Include loop closure links for global correction.
**Nonlinear Solver**:
- Optimizes graph objective with robust kernels.
- Handles outlier constraints gracefully.
**How It Works**
**Step 1**:
- Build or update pose graph from front-end odometry and detected loop closures.
**Step 2**:
- Optimize node poses to minimize edge residuals and update global trajectory.
Pose graph optimization is **the efficient global-correction engine that keeps long SLAM trajectories geometrically consistent** - it is the workhorse backend for loop-closure-aware localization systems.