Restore Fusion (Madgwick) AHRS as default alongside VQF#394
Merged
JanuszBedkowski merged 3 commits intoMapsHD:mainfrom Mar 9, 2026
Merged
Restore Fusion (Madgwick) AHRS as default alongside VQF#394JanuszBedkowski merged 3 commits intoMapsHD:mainfrom
JanuszBedkowski merged 3 commits intoMapsHD:mainfrom
Conversation
Re-add Fusion library that was removed in PR MapsHD#391 (VQF migration). Fusion is now the default AHRS (use_vqf=false), with VQF available as an alternative via GUI toggle or TOML parameter. - Add use_vqf bool and fusion_gain params to LidarOdometryParams - Dual AHRS path in calculate_trajectory() and alternative_approach() - GUI: conditional display of Fusion/VQF params based on toggle - TOML: backward compatible (missing keys use struct defaults) - Re-activate Fusion submodule and CMake integration
Per-worker orientation estimation now uses Fusion or VQF based on use_vqf toggle, instead of always using VQF. - Rename enum: *_vqf_vel -> *_ahrs_vel (int values 5-7 unchanged) - Add use_vqf, fusion_gain, fusion_convention to IntegrationParams - Add Fusion include/link to core CMakeLists
- Seed Fusion AHRS with initial orientation from trajectory (no cold start) - Pass gyro bias estimated from stationary samples to per-worker Fusion - Add gyro_bias_dps to IntegrationParams and estimated_gyro_bias_dps to LidarOdometryParams (runtime only, not saved to TOML) - VQF per-worker unchanged (kept original behavior)
Jakubach
added a commit
to Jakubach/HDMapping
that referenced
this pull request
Mar 9, 2026
PR MapsHD#394 added #include <Fusion.h> to lidar_odometry_utils.h, but targets like concatenate_multi_livox and mandeye_raw_data_viewer don't have Fusion in their CMake include paths, causing build failures. Move #include <Fusion.h> to lidar_odometry.cpp (which actually uses Fusion types) and add Fusion include/link to mandeye_raw_data_viewer CMakeLists.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
use_vqftoggle in GUI or TOML configuse_vqf/fusion_gainload correctly with struct defaults (Fusion enabled, gain=0.5)Changes
3rdparty/Fusionsubmodule re-activatedCMakeLists.txt: Fusion subdirectory addedlidar_odometry_utils.h:use_vqf(default false) andfusion_gain(default 0.5) paramslidar_odometry.cpp: dual AHRS path incalculate_trajectory()lidar_odometry_gui.cpp+precision_forestry.cpp: conditional GUI for Fusion/VQF paramstoml_io.h: new params registered in POINTERS and CATEGORIESlidar_odometry_step_1,precision_forestry) compile and link correctlyTest plan