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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Новая страница, с помощью формы Новый_командный_проект)
 
(Добавлены баллы)
 
(не показано 6 промежуточных версии 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 балла)
  
 
=== Похожие проекты ===
 
=== Похожие проекты ===
[http://wiki.ros.org/gazebo Gazebo] - симулятор робототехнических систем
+
* [http://wiki.ros.org/gazebo Gazebo] - симулятор робототехнических систем
[http://www.x-plane.com XPlane] - авиасимулятор
+
* [http://www.x-plane.com XPlane] - авиасимулятор
[http://store.steampowered.com/app/410340/Liftoff/ Liftoff] - симулятор квадрокоптеров
+
* [http://store.steampowered.com/app/410340/Liftoff/ Liftoff] - симулятор квадрокоптеров
  
 
=== Контактная информация ===
 
=== Контактная информация ===
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

Текущая версия на 12: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 - симулятор квадрокоптеров

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