Разработка программы симуляции БПЛА (квадрокоптера) (командный проект) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Добавлены критерии)
Строка 43: Строка 43:
  
 
=== Критерии оценки ===
 
=== Критерии оценки ===
Для каждой задачи будет озвучен минимальный функционал и некоторое, необходимое для повышения базовой оценки дополнительные функции.
+
Для каждой задачи будет озвучен минимальный функционал и некоторые, необходимые для повышения базовой оценки дополнительные функции.
 +
==== Системный планировщик ====
 +
'''Минимальный функционал'''
 +
* Разработать стандарный интерфейс для подключения модулей расчета физики и визуализации
 +
* Разработать инициализацию и основной цикл программы
 +
'''Дополнительные задачи'''
 +
* Разработать архитектуру системы плагинов
 +
* Разработать возможность получения плагинов с удаленного репозитария
 +
* Реализовать возможность сетевого взаимодействия нескольких симуляторов.
 +
 
 +
==== Модуль расчета физики ====
 +
'''Минимальный функционал'''
 +
* Реализовать расчет физики летательного аппарата методом Эйлера
 +
* Реализовать в отдельном потоке управление аппаратом используя PID регулятор
 +
'''Дополнительные задачи'''
 +
* Реализовать возможность выбора метода и его точности
 +
* Реализовать полунеявный метод эйлера
 +
* Реализовать метод Рунге — Кутты
 +
 
 +
 
 +
==== Модуль отображения и визуализации ====
 +
'''Минимальный функционал'''
 +
* Реализовать отображение положения аппарата, земли, теней, динамичного освещения.
 +
* Реализовать пользовательский интерфейс
 +
'''Дополнительные задачи'''
 +
* Добавить анимацию вращения винтов аппарата, в зависимости от тяги
 +
* Добавить реалистичную модель аппарата с возможностью загрузки её из obj файла
 +
* Добавить шейдер глубины резкости
 +
* Добавить расчет коллизий
 +
 
 +
 
 +
==== Модуль связи с переферийными устройствами ====
 +
'''Минимальный функционал'''
 +
* Спроектировать и разработать интерфейс для подключения к проекту дополнительных плагинов, отвечающих за сторонее оборудование
 +
* Реализовать возможность подключения джойстика
 +
'''Дополнительные задачи'''
 +
* Реализовать возможность подключения нескольких джойстиков
 +
* Реализовать возможность подключения и обработки в отдельном потоке камеры
 +
* Реализовать возможность подключения полетного контроллера PixHawk для Hardware in the Loop Simulation
  
 
=== Похожие проекты ===
 
=== Похожие проекты ===

Версия 11:23, 5 октября 2017

Компания НИУ ВШЭ
Учебный семестр Осень 2017
Учебный курс 3-й курс
Максимальное количество студентов, выбравших проект: 3-8



Что это за проект?

Приложение для универсального тестирования алгоритмов и плат автопилотов. Должна быть реализована физика аппарата в соответствии с выведенными студентами уравнениями динамики летательного аппарата (квадрокоптера). Приложение должно иметь модульную архитектуру с возможностью применения различных алгоритмов стабилизации (PID/LQR). Дополнительно будет возможность попробовать свои силы в разработке автопилота и системы компьютерного зрения.

Чему научатся студенты? Что самое интересное в проекте?

  • Численные методы
  • Теория автоматического управления
  • Работа с 3D графикой

Организация работы (Как студенты будут работать в команде?)

От одного до нескольких студентов, в зависимости от размера команды будет работать над модулем приложения. В случае работы нескольких студентов над одной и той же задачей возможно разделение модуля на подзадачи или конкурирующая разработка, когда лучший код принимается в общий проект.

Компоненеты (Из каких частей состоит проект?)

  • Модуль расчета физики
  • Модуль отображения и визуализации
  • Системный планировщик
  • Модуль связи с переферийными устройствами

Какие будут использоваться технологии?

Java, OpenGl, MatLab, OpenCV (возможно)

Какие начальные требования?

  • Знание основ ООП, желательно знание языка программирования Java.
  • Понимание физики твердого тела
  • Желание разбираться в математическом аппарате представления твердого тела в пространстве

Темы вводных занятий

  • Алгебра кватернионов
  • Основы 3D графики
  • Численные методы
  • Язык Java
  • Физика твердого тела

Критерии оценки

Для каждой задачи будет озвучен минимальный функционал и некоторые, необходимые для повышения базовой оценки дополнительные функции.

Системный планировщик

Минимальный функционал

  • Разработать стандарный интерфейс для подключения модулей расчета физики и визуализации
  • Разработать инициализацию и основной цикл программы

Дополнительные задачи

  • Разработать архитектуру системы плагинов
  • Разработать возможность получения плагинов с удаленного репозитария
  • Реализовать возможность сетевого взаимодействия нескольких симуляторов.

Модуль расчета физики

Минимальный функционал

  • Реализовать расчет физики летательного аппарата методом Эйлера
  • Реализовать в отдельном потоке управление аппаратом используя PID регулятор

Дополнительные задачи

  • Реализовать возможность выбора метода и его точности
  • Реализовать полунеявный метод эйлера
  • Реализовать метод Рунге — Кутты


Модуль отображения и визуализации

Минимальный функционал

  • Реализовать отображение положения аппарата, земли, теней, динамичного освещения.
  • Реализовать пользовательский интерфейс

Дополнительные задачи

  • Добавить анимацию вращения винтов аппарата, в зависимости от тяги
  • Добавить реалистичную модель аппарата с возможностью загрузки её из obj файла
  • Добавить шейдер глубины резкости
  • Добавить расчет коллизий


Модуль связи с переферийными устройствами

Минимальный функционал

  • Спроектировать и разработать интерфейс для подключения к проекту дополнительных плагинов, отвечающих за сторонее оборудование
  • Реализовать возможность подключения джойстика

Дополнительные задачи

  • Реализовать возможность подключения нескольких джойстиков
  • Реализовать возможность подключения и обработки в отдельном потоке камеры
  • Реализовать возможность подключения полетного контроллера PixHawk для Hardware in the Loop Simulation

Похожие проекты

  • Gazebo - симулятор робототехнических систем
  • XPlane - авиасимулятор
  • Liftoff - симулятор квадрокоптеров

Контактная информация