mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-06-23 14:41:13 +00:00
feat(01-03): move ORB + SequentialVO into components/vio/orbslam_backend.py
- Extract SequentialVisualOdometry and ORBVisualOdometry from core/vo.py into a dedicated pure-Python OpenCV backend module. - Module deliberately does NOT import cuvslam — keeps optional-SDK isolation from the cuvslam backend (Plan 01-03 Task 1). - Both classes inherit from the components.vio.protocol.ISequentialVisualOdometry Protocol alias (Plan 01-02 surface). - Barrel-export both classes from components/vio/__init__.py. - core/vo.py is unchanged in this commit; the shim wires up in Task 4.
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
"""VIO component (ARCH-01).
|
||||
|
||||
Public surface for visual-inertial odometry adapters. Phase-1 split of
|
||||
the legacy ``core/vo.py`` monolith into per-backend modules:
|
||||
|
||||
- protocol.py — VisualOdometry Protocol (alias ISequentialVisualOdometry)
|
||||
- orbslam_backend.py — pure-Python OpenCV: SequentialVisualOdometry + ORBVisualOdometry
|
||||
- cuvslam_backend.py — Jetson cuVSLAM SDK bridge: CuVSLAMVisualOdometry + CuVSLAMMonoDepthVisualOdometry
|
||||
- factory.py — create_vo_backend env-aware DI seed
|
||||
- native/ — placeholder for future cuvslam SDK native glue
|
||||
|
||||
The legacy ``gps_denied.core.vo`` import path is preserved as a thin
|
||||
re-export shim for one phase; tests still import from there.
|
||||
"""
|
||||
from gps_denied.components.vio.protocol import (
|
||||
ISequentialVisualOdometry,
|
||||
VisualOdometry,
|
||||
)
|
||||
from gps_denied.components.vio.orbslam_backend import (
|
||||
ORBVisualOdometry,
|
||||
SequentialVisualOdometry,
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
"VisualOdometry",
|
||||
"ISequentialVisualOdometry",
|
||||
"ORBVisualOdometry",
|
||||
"SequentialVisualOdometry",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user