Feature/eskf landmark valve#666
Closed
AntTra wants to merge 54 commits into
Closed
Conversation
…ses msg imu/data_raw and /orca/pose as the dvl info
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
idk Anders told me to
for more information, see https://pre-commit.ci
Signed-off-by: Christopher Strøm <detoxte@gmail.com>
…, added local visual egomotion anchoring, reset VO anchor on measurement gaps, fuse VO as relative pose measurement'
…exntnu/vortex-auv into feature/eskf-landmark-valve
… from YAML. ESKF changes: anchor transform, velocity update from consecutive VO measurements, smart anchor reset, NIS rejections for VO, quaternion error using log map, measurement noise floors, tuned values
…truct, builds VoConf struct from params, vo_update to landmark_update, renamed several other variable names, fixed landmark callback to use LandmarkArray, removed unused params
…xplanatory, adjusted huber and gate weights for sliding window under movement
vortexuser
requested changes
Feb 11, 2026
vortexuser
left a comment
Contributor
There was a problem hiding this comment.
You messed up your commits so now it looks like you did everything baka
Comment on lines
+24
to
+26
| pos_floor: 0.05 | ||
| att_floor: 0.02 | ||
| vel_floor: 0.2 |
Contributor
There was a problem hiding this comment.
TODO: Update aruco-detector to not only give out identity-matrix https://github.com/vortexntnu/vortex-aruco-detection/tree/main
Comment on lines
+31
to
+36
| # Sliding-window smoother | ||
| use_sw: true | ||
| window_size: 20 | ||
| max_age: 15.0 | ||
| huber_deg: 20.0 | ||
| gate_deg: 60.0 |
Contributor
There was a problem hiding this comment.
TODO: Needs tuning way too high boss
| auto it = std::min_element(markers.begin(), markers.end(), | ||
| [](const auto* a, const auto* b) { return a->subtype < b->subtype; }); | ||
| const auto* chosen = *it; | ||
| uint16_t chosen_id = chosen->subtype; |
|
|
||
| ament_export_targets(export_${LIB_NAME}) | ||
|
|
||
| # --- THE FIX: INSTALL THE EXECUTABLE --- |
Removed commented section about installing the executable.
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.
Visual egomotion feature in ESKF
The current ESKF struggles with drift over time during the mission, especially when the DVL loses bottom lock when the AUV is pitched to look at the bottom valve with the front camera. This project aims to use landmark-based visual odometry as an additional measurement to be fused to the ESKF as 6-dof pose and derived velocity measurements alongside the IMU and DVL.
It works by placing an anchor on the first valid landmark detection and calculates the relative positioning, computing a transform from the VO frame to the navigation frame. All subsequent marker measurements are mapped through this anchor to produce position and orientation in the navigation frame. Velocity is derived from consecutive position measurements. NIS gating on both pose and velocity updates are based on chi-squared thresholds.
Features:
For testing:
colcon build --symlink-install --packages-select eskf aruco_detector source install/setup.bashIn one terminal run
and in another
together with the simulator and direct the AUV towards an ArUco-marker.
Test anchor reset on marker dropout, when the marker ID gets switched, and the performance during movement.
Note: Another important test would be to test the performance of the sliding window as the ESKF already acts as a filter for outliers