Similar presentations:
Презентация по тз
1. DCSS — Drone Control Simulation Server
• Система для тренировки и оценки навыковпилотов БВС.
• Цель: эмуляция полёта дронов, выполнение
заданий и оценка результатов.
2. Архитектура проекта
• Компоненты:• - Web-сервер (Python)
• - Quest Manager (Python)
• - Quest Evaluator (C++ ядро + Python API)
• - SITL / ArduPilot (C++)
• - Клиент Asv.Drones (C#/.NET)
• - Frontend (Vue.js / React, JS)
• - PostgreSQL (хранилище)
3. Языки программирования в проекте
• Python:- Web-сервер (Django/FastAPI)
- Quest Manager (оркестрация)
+ Быстрая разработка, экосистема, интеграция с БД
C++:
- Quest Evaluator (ядро)
- SITL (ArduPilot)
+ Высокая производительность, низкие задержки
C# (.NET):
- Плагин для Asv.Drones
+ Совместимость с клиентом, доступ к GUI API
JavaScript:
- Frontend (Vue.js/React)
+ Удобный SPA интерфейс в браузере
4. Почему несколько языков?
• Каждый язык выбран под задачу:• - Python → API, админка, бизнес-логика
• - C++ → симуляция и работа с MAVLink в
реальном времени
• - C# → интеграция с Asv.Drones
• - JS → web-интерфейс для пользователей
• Все сервисы изолированы (Docker) и общаются
по REST, TCP, MAVLink.
5. Как совместить разные языки
• 1. Каждый сервис пишется на своём языке.• 2. Упаковывается в Docker-контейнер.
• 3. Общение только через API (HTTP JSON,
WebSocket, MAVLink, БД).
• 4. Запуск всей системы — docker-compose /
Kubernetes.
• Результат: одна система, внутри которой
разные технологии работают параллельно.
6. Таблица файлов проекта
• /web/ (Python) — API, авторизация, админка• /manager/ (Python) — оркестрация заданий
• /evaluator/ (C++ + Python) — выполнение
заданий
• /sim/ (C++) — ArduPilot SITL
• /client-plugin/ (C#) — плагин Asv.Drones
• /frontend/ (JS) — интерфейс для браузера
• /infra/ (Docker, k8s) — инфраструктура и
деплой
• /docs/ — схемы, OpenAPI, инструкции
7. Взаимодействие модулей
• 1. Пользователь в браузере (Vue.js) → Webсервер (Python)• 2. Web-сервер → Quest Manager (Python)
• 3. Manager → запускает контейнер Quest
Evaluator (C++)
• 4. Evaluator ↔ SITL (C++) по MAVLink
• 5. Asv.Drones (C#) ↔ SITL по MAVLink
• 6. Evaluator → результаты в PostgreSQL
• 7. Web → отдаёт результаты пользователю
8. Этапы разработки
• 1. Проектирование архитектуры• 2. Разработка Web-сервера (Python)
• 3. Реализация Quest Manager (Python)
• 4. Реализация Quest Evaluator (C++ + Python)
• 5. Интеграция с SITL (C++)
• 6. Разработка плагина Asv.Drones (C#)
• 7. Создание фронтенда (Vue.js / React)
• 8. Контейнеризация (Docker)
• 9. Тестирование (unit, integration, e2e)
• 10. Документация и деплой
9. Безопасность
• - Все запросы только по HTTPS (TLS)• - JWT авторизация для API
• - Одноразовые ссылки (TTL)
• - Ограничение прав доступа (роли)
• - Валидация входных данных
10. Итоговый стек
• Web & API: Python (Django или FastAPI)• Quest Manager: Python
• Quest Evaluator: C++ (ядро) + Python (API)
• Client plugin: C# (.NET)
• Frontend: Vue.js / React (JS)
• Database: PostgreSQL 15+
• Infrastructure: Docker, Kubernetes