Проекты*

Разработка и создание приложения для калибровки камеры под квадрокоптер «Клевер»

Работа призёра открытой городской научно-практической конференции «Инженеры будущего» в секции «Интеллектуальные робототехнические системы, беспилотные аппараты» среди работ учащихся 10−11 классов

Направление работы: Программирование
Авторы работы: ГБОУ Инженерная школа № 1581
Предметы: Информатика
Классы: 10 класс
Мероприятия: Открытая городская научно-практическая конференция «Инженеры будущего» 18−20 апреля 2019 года

Цель

Разработка и написание программного кода, предназначенного для калибровки камеры на платформе квадрокоптера «Клевер». Продукт должен получиться интуитивно понятным и удобным в использовании, обладать гибким функционалом и быть доступным для рядового пользователя.

Задачи

1. Изучить алгоритмы калибровки камеры, выбрать из них оптимальный.

2. Изучить аналоги.

3. Найти инструменты решения.

4. На основе выбранного алгоритма разработать собственное решение.

5. Протестировать первоначальное решение и доработать его по результатам тестов.

6. Устранить ошибки.

Описание

Квадрокоптер «Клевер» от компании ООО «Коптер Экспресс Технологии» – один из самых распространённых свободно программируемых квадрокоптеров. На его базе развернуты различные системы, в том числе использующие компьютерное зрение.

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

От компании ООО «Коптер Экспресс Технологии» было получено техническое задание на разработку и создание программы для калибровки камеры под квадрокоптер «Клевер». Выбрав оптимальный алгоритм, на его основе была разработана и написана программа. Основной язык, на котором написана программа, – Python. Для написания калибровочного функционала была использована библиотека OpenCV, в которую уже встроено большинство требуемых функций и которая может взаимодействовать со всеми камерами.

Взаимодействие с пользователем реализовано через Web-интерфейс, написанный при помощи framework Flask и Bootstrap. Использование подобного формата позволяет пользователю не скачивать приложение, а использовать встроенный в операционную систему «Клевера» сервер.

Результат

Разработано и создано серверное приложение для калибровки камеры под квадрокоптер «Клевер», разработан сопутствующий Python-модуль, программа протестирована и принята заказчиком.

Оснащение и оборудование

  • Квадрокоптер «Клевер»
  • Калибровочные мишени разных размеров
  • Одноплатный компьютер Raspberry Pi 3

Перспективы использования результатов работы

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