2025-01-01ADITYA_KOMARAVOLU
IKFoM Understanding
Understanding of IKFoM in-depth involves the following topics:
1. State Representation
- State manifold structure (state_ikfom)
- Error state concept
- Handling different state types (position, rotation, biases)
2. Filter Core Components
- Prediction step implementation
- Update step mechanics
- Covariance propagation
- Noise modeling and handling
3. Manifold Operations
- SO3 (3D rotation) operations
- S2 (unit sphere) operations
- Vector space operations
- State composition
4. Measurement Integration
- Dynamic share model concept
- Measurement updates
- LiDAR-IMU fusion specifics
- Innovation computation
5. Implementation Architecture
- Template metaprogramming usage
- Class structure and inheritance
- Memory management
- Optimization techniques
6. Initialization and Configuration
- State initialization
- Parameter setup
- Noise covariance configuration
- System calibration
State manifold structure (state_ikfom):
prefix understanding of SO3 (special orthogonal group in 3d):

A custom manifold structure could be something like this :
MTK_BUILD_MANIFOLD(state_ikfom,
((vect3, pos)) // 3D position
((SO3, rot)) // 3D rotation as SO(3)
((SO3, offset_R_L_I)) // LiDAR-to-IMU rotation
((vect3, offset_T_L_I)) // LiDAR-to-IMU translation
((vect3, vel)) // 3D velocity
((vect3, bg)) // Gyroscope bias
((vect3, ba)) // Accelerometer bias
((S2, grav)) // Gravity direction on unit sphere
);
MTK_BUILD_MANIFOLD(process_noise_ikfom,
((vect3, ng)) // Gyroscope noise
((vect3, na)) // Accelerometer noise
((vect3, nbg)) // Gyroscope bias noise
((vect3, nba)) // Accelerometer bias noise
);