mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-04-23 02:06:36 +00:00
fix(harness): switch VO backend to ORBVisualOdometry
SequentialVisualOdometry uses MockInferenceEngine (random keypoints) in dev/CI, so RANSAC on random point pairs finds ≈0 geometric inliers and vo_success is always False. ORBVisualOdometry uses real OpenCV ORB features and achieves 99/100 tracking on EuRoC MH_01. ESKF still never initialises (no start_gps call in harness) — that is the next layer to address. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -29,7 +29,7 @@ from gps_denied.core.metric import MetricRefinement
|
||||
from gps_denied.core.models import ModelManager
|
||||
from gps_denied.core.processor import FlightProcessor
|
||||
from gps_denied.core.recovery import FailureRecoveryCoordinator
|
||||
from gps_denied.core.vo import SequentialVisualOdometry
|
||||
from gps_denied.core.vo import ORBVisualOdometry
|
||||
from gps_denied.schemas.graph import FactorGraphConfig
|
||||
from gps_denied.testing.datasets.base import (
|
||||
DatasetAdapter,
|
||||
@@ -175,7 +175,7 @@ class E2EHarness:
|
||||
streamer.push_event = AsyncMock()
|
||||
proc = FlightProcessor(repo, streamer)
|
||||
mm = ModelManager()
|
||||
vo = SequentialVisualOdometry(mm)
|
||||
vo = ORBVisualOdometry()
|
||||
gpr = GlobalPlaceRecognition(mm)
|
||||
gpr.load_index(self._flight_id, "dummy")
|
||||
metric = MetricRefinement(mm)
|
||||
|
||||
Reference in New Issue
Block a user