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

Материал из Wiki - Факультет компьютерных наук
Перейти к навигации Перейти к поиску
Добавлено оформление в виде списка
Добавлены баллы
 
(не показано 5 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{Карточка_командного_проекта
{{Карточка_командного_проекта
|name=Разработка программы симуляции БПЛА (квадрокоптера)
|name=Разработка программы симуляции БПЛА (квадрокоптера)
|company=
|company=НИУ ВШЭ
|semester=Осень 2017
|semester=Осень 2017
|course=3
|course=3
Строка 43: Строка 43:


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


=== Похожие проекты ===
=== Похожие проекты ===
Строка 51: Строка 90:


=== Контактная информация ===
=== Контактная информация ===
Email: [mailto:alexander.semion@gmail.com alexander.semion@gmail.com]
* Email: [mailto:alexander.semion@gmail.com alexander.semion@gmail.com]
Телефон: +7 916 068 36 99
* [https://vk.com/spin7ion https://vk.com/spin7ion]
* [http://spin7ion.ru http://spin7ion.ru]
* Телефон: +7 916 068 36 99

Текущая версия от 09:34, 9 октября 2017

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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