Skip to content

UnreadablePerson-wq/UAV-TECS-Simulator

Repository files navigation

🚁 Симулятор БПЛА с управлением полной энергией (TECS)

Python PyQt5 License

📋 О проекте

Реалистичный симулятор полета беспилотного летательного аппарата (БПЛА) типа Aerosonde с системой управления полной энергией (TECS). Проект разработан в рамках учебной практики по моделированию динамики полета и автоматическому управлению.

✨ Возможности

  • Реалистичная аэродинамическая модель самолета Aerosonde с учетом срыва потока
  • 3D визуализация полета в реальном времени
  • TECS контроллер для управления высотой и скоростью
  • Ручное управление рулями и дросселем
  • Моделирование ветра и турбулентности
  • Тестовые воздействия для проверки динамики
  • Интерактивная панель управления с ползунками и кнопками
  • Построение графиков всех параметров полета

🛠 Технологии

  • Python 3.8+
  • PyQt5 - графический интерфейс
  • PyQtGraph + OpenGL - 3D визуализация
  • NumPy - математические вычисления
  • SciPy - решение дифференциальных уравнений
  • Matplotlib - построение графиков

📁 Структура проекта

UAV-TECS-Simulator/
│
├── main.py # Точка входа
├── requirements.txt # Зависимости
├── README.md # Документация
├── .gitignore # Игнорируемые файлы
│
├── core/ # Основная логика
│ ├── quaternion_utils.py # Работа с кватернионами
│ ├── vehicle_state.py # Состояние БПЛА
│ ├── vehicle_dynamics.py # Динамика полета
│ └── tecs_controller.py # TECS контроллер
│
├── visualization/ # Визуализация
│ ├── viewer_3d.py # 3D отрисовка
│ └── plot_utils.py # Построение графиков
│
└── gui/ # Интерфейс
├── main_window.py # Главное окно
└── control_panel.py # Панель управления

🚀 Установка и запуск

**Клонируйте репозиторий**
git clone https://github.com/UnreadablePerson-wq/UAV-TECS-Simulator.git
cd UAV-TECS-Simulator

Создайте виртуальное окружение (рекомендуется)
python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows

Установите зависимости
pip install -r requirements.txt

Запустите симулятор
python main.py

🎮 Управление

TECS: включение/выключение, задание высоты и скорости

Ручное управление: дроссель (0-100%), элероны, руль высоты, руль направления

Ветер: настройка постоянной составляющей ветра

Тестовые кнопки: ступенчатые воздействия для проверки реакций

Слайдеры: изменение начальных условий

📊 Тестирование

В программе предусмотрены тестовые режимы:

  1. Ступенчатое изменение высоты;
  2. Ступенчатое изменение скорости;
  3. Одновременное изменение обоих параметров;
  4. Тест рулей (элероны, руль высоты, руль направления);
  5. Тест внешних моментов.

🎯 Результаты

Симулятор позволяет:

  1. Исследовать динамику полета БПЛА;
  2. Настраивать коэффициенты TECS контроллера;
  3. Анализировать переходные процессы;
  4. Визуализировать траекторию полета;
  5. Оценивать влияние ветра на управление.

📝 Примечания

Координаты NED (North-East-Down): высота отрицательная при полете вверх

Балансировочный режим: скорость 25 м/с, тангаж 4.5°, дроссель 70%

Все коэффициенты аэродинамики взяты из документации Aerosonde

📄 Лицензия

MIT License - можно использовать для обучения и портфолио

👨‍💻 Автор

Vanemy

  • GitHub: @UnreadablePerson-wq
  • Специализация: ML/AI инженер, киберфизические системы
  • Ищу работу в России, г. Санкт-Петербург

⭐ Поддержка

Если проект полезен, поставьте звездочку на GitHub!

About

Симулятор системы управления БПЛА с TECS (Total Energy Control System)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages