feat: stage6 — Image Pipeline (F05) and Rotation Manager (F06)

This commit is contained in:
Yuzviak
2026-03-22 22:51:00 +02:00
parent a2fb9ab404
commit 9ef046d623
9 changed files with 653 additions and 26 deletions
+8 -6
View File
@@ -8,12 +8,14 @@
| Підсистема | Технології та реалізація |
|-----------|------------|
| API | FastAPI + Pydantic v2 |
| Стрім подій (SSE) | sse-starlette, asyncio.Queue, pub/sub для real-time трансляції поза |
| Репозиторій (БД) | SQLite + SQLAlchemy 2 + AsyncIO + Alembic. Підтримка Cascade Deletes |
| Супутникові тайли | httpx, diskcache, інтеграція з Google Maps (Web Mercator) |
| Трансформація координат | ENU Origin, конвертація WGS84 ↔ Local ENU ↔ Pixels |
| Граф поз (VO/GPR) | GTSAM (Python) - очікується |
| **Core API** | FastAPI + Pydantic v2 (REST endpoints `POST /flights`, `POST /flights/{id}/images/batch`) |
| **Real-time стрім (SSE)** | `sse-starlette`, `asyncio.Queue` (Pub/Sub для live-трансляції уточнених поз на наземну станцію) |
| **Репозиторій (БД)** | `SQLite` + `SQLAlchemy 2` + `AsyncIO` + `Alembic`. Скеровує каскадні видалення та зберігає waypoint-результати. |
| **Супутникові тайли (F04)** | `httpx`, `diskcache`, інтеграція з Google Maps Static Tiles + утиліти Web Mercator |
| **Трансформація координат (F13)** | Зберігання локального ENU Origin, конвертація WGS84 ↔ Local ENU ↔ Pixels |
| **Вхідний пайплайн (F05)** | `cv2`, `asyncio.Queue`. Керує FIFO чергою батчів кадрів з БПЛА, здійснює базову валідацію послідовностей та збереження фотографій на диск. |
| **Менеджер ротацій (F06)** | Оберти 360° блоками по 30° для підбору орієнтації; трекінг історії курсу з виявленням різких поворотів (>45°). |
| **Граф поз (VO/GPR)** | GTSAM (Python) - очікується в наступних етапах |
## Швидкий старт