How je310/eskf works
This repository is an Error State Kalman Filter pose estimator: inertial readings drive a 6DOF state estimate, which can be corrected with motion-capture or other absolute-position measurements. The visible application replays parsed data through filter instances and publishes pose transforms; the README also describes intended embedded-device use. The filter implementation and parser internals were not sampled, so their detailed internal call wiring is omitted. Eigen is included as the numerical layer, but its internal algorithms are not mapped in detail.
Main entry points: ESKF.cpp ESKF implementation · main.cpp Replay application · parseDataFiles.cpp Data-file parser · ESKF.h ESKF interface
Components 12
Data ingestion
- Replay application
src/main.cpp - Data-file parser
src/parseDataFiles.cpp
State estimation
- ESKF interface
include/ESKF.h - ESKF implementation
src/ESKF.cpp - Inertial propagation
src/ESKF.cpp - Absolute correction
src/ESKF.cpp - Covariance propagation
include/unrolledFPFt.h
Numerical foundation
- Matrix and vector core
eigen/Core.h - Rotation and transforms
eigen/Geometry.h
Pose output
- Pose broadcasting
src/main.cpp
Other components
- IMU and absolute data
- ROS transform system
Connections 11
- IMU and absolute data → Data-file parser: provides files
- Data-file parser → Replay application: returns readings
- Replay application → ESKF interface: feeds measurements
- ESKF interface → ESKF implementation: implemented by
- ESKF implementation → Inertial propagation: estimates motion
- ESKF implementation → Absolute correction: applies updates
- ESKF implementation → Covariance propagation: propagates covariance
- Replay application → Pose broadcasting: requests pose output
- Pose broadcasting → ROS transform system: publishes transforms
- ESKF implementation → Matrix and vector core: uses
- ESKF implementation → Rotation and transforms: uses