SlideShare a Scribd company logo
Быстрое прототипирование
системы управления БПЛА
Никляев Илья
Singularis Lab, Ltd.
Проект
• Задача - инспектирование лопастей и башен
ветряков
• Алгоритмы настойчиво рекомендованы
заказчиком
28 - 29.10.2016 SECR'2016, Москва 2
Проект: наша задача
28 - 29.10.2016 SECR'2016, Москва 3
Платформа: ожидания и реальность
28 - 29.10.2016 SECR'2016, Москва 4
Платформа заказчика Бюджет проекта
Как решали задачу
• Апробация и тестирование – на «живой»
аппаратной платформе
• Девелоперская платформа «напоминает»
платформу заказчика
• Около полугода работы
28 - 29.10.2016 SECR'2016, Москва 5
Инструменты
• Middleware система: ROS (Robotic Operating
System)
• Алгоритмы: различные варианты
монокулярного SLAM, motion planning
(OMPL)
28 - 29.10.2016 SECR'2016, Москва 6
И?
28 - 29.10.2016 SECR'2016, Москва 7
Проблемы
• «Рекомендованные» заказчиком алгоритмы
не подходят для решения задачи
• Тестирование затруднено, занимает огромное
количество времени
• Апробация алгоритмов занимает огромное
количество времени
• Аппаратные проблемы дополнительно
тормозят разработку софта
28 - 29.10.2016 SECR'2016, Москва 8
Осознание: шаг 0
• Переосмысление задачи: присутствует
значительная исследовательская часть
• Предложенные заказчиком решения
требуют серьезной адаптации
28 - 29.10.2016 SECR'2016, Москва 9
Осознание: шаг 1
• Время проверки гипотезы – главное
• Симулятор – наш друг
28 - 29.10.2016 SECR'2016, Москва 10
Шаг 2: быстрое прототипирование
• Быстрый прототип – это макет, он будет
«выброшен»
• Платформа для прототипа может
отличаться от конечной
28 - 29.10.2016 SECR'2016, Москва 11
Шаг 3: ROS – не OS
ROS – это фреймворк для прототипирования:
нет низкоуровневого контроля над
инфраструктурой, не лучшая стабильность, но
есть:
– инфраструктура для разработки модульных
систем
– симулятор Gazebo
– продвинутый мониторинг
– экосистема
28 - 29.10.2016 SECR'2016, Москва 12
Как изменился процесс разработки
• Репрезентативное окружение всегда под
рукой
• Дрон не мерзнет!
• Время апробации решений сократилось в
разы
28 - 29.10.2016 SECR'2016, Москва 13
Результат
• Полностью изменен подход: отказались от
SLAM в пользу более простого
эвристического распознавания
изображений, добавили датчик расстояния
• Полнофункциональный SITL-прототип с
нуля разработан за 3-4 недели
28 - 29.10.2016 SECR'2016, Москва 14
Что в итоге?
• ROS – не OS (даже не middleware), а
фреймворк для прототипирования
• Скорость разработки – главное
• Быстрое прототипирование – это хорошо!
28 - 29.10.2016 SECR'2016, Москва 15
Демонстрация
28 - 29.10.2016 SECR'2016, Москва 16
28 - 29.10.2016 SECR'2016, Москва 17
Спасибо за внимание!
Илья Никляев
• ilya.niklyaev@singularis-lab.com
https://www.singularis-lab.com/
https://www.linkedin.com/company/singularis-lab-llc
http://habrahabr.ru/company/singularis
http://vk.com/singularis_lab

More Related Content

What's hot

Микросервисы: взгляд сверху и в бок
Микросервисы: взгляд сверху и в бокМикросервисы: взгляд сверху и в бок
Микросервисы: взгляд сверху и в бок
DotNetConf
 
Как приручить реактивное программирование
Как приручить реактивное программированиеКак приручить реактивное программирование
Как приручить реактивное программирование
DotNetConf
 
Как это будет: ASP.NET Core
Как это будет: ASP.NET CoreКак это будет: ASP.NET Core
Как это будет: ASP.NET Core
DotNetConf
 
Разработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешевоРазработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешево
DotNetConf
 
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...
Iosif Itkin
 
О создании компилятора с высокоуровневого языка на компьютер с программируемо...
О создании компилятора с высокоуровневого языка на компьютер с программируемо...О создании компилятора с высокоуровневого языка на компьютер с программируемо...
О создании компилятора с высокоуровневого языка на компьютер с программируемо...
CEE-SEC(R)
 
Один за всех, или как помочь тестированию многих компонентов одной системы
Один за всех, или как помочь тестированию многих компонентов одной системыОдин за всех, или как помочь тестированию многих компонентов одной системы
Один за всех, или как помочь тестированию многих компонентов одной системы
SQALab
 
Approaches to the Fragmentation of a Paravirtualization System
Approaches to the Fragmentation of a Paravirtualization SystemApproaches to the Fragmentation of a Paravirtualization System
Approaches to the Fragmentation of a Paravirtualization System
Iosif Itkin
 
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
SQALab
 
Selenium grid on-demand
Selenium grid on-demandSelenium grid on-demand
Selenium grid on-demand
SQALab
 
Let's Talk About Junit 5
Let's Talk About Junit 5Let's Talk About Junit 5
Let's Talk About Junit 5
SQALab
 
ковалев нестандатное нт
ковалев    нестандатное нтковалев    нестандатное нт
ковалев нестандатное нтAlexei Lupan
 
Внедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной ШинеВнедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной Шине
SQALab
 
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и GrafanaВсевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
SQALab
 
Как справляться с ростом инфраструктуры сервиса — Игорь Андреев
Как справляться с ростом инфраструктуры сервиса — Игорь АндреевКак справляться с ростом инфраструктуры сервиса — Игорь Андреев
Как справляться с ростом инфраструктуры сервиса — Игорь Андреев
Yandex
 
Cтатические анализаторы систем 1с AgileDays 2015
Cтатические анализаторы систем 1с AgileDays 2015Cтатические анализаторы систем 1с AgileDays 2015
Cтатические анализаторы систем 1с AgileDays 2015
Alexey Lustin
 
Ядро автоматизации под микро-сервисную архитектуру
Ядро автоматизации под микро-сервисную архитектуруЯдро автоматизации под микро-сервисную архитектуру
Ядро автоматизации под микро-сервисную архитектуру
SQALab
 
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
Iosif Itkin
 
Иван Кожин «Saritasa Tools или ещё один подход к архитектуре приложения»
Иван Кожин «Saritasa Tools или ещё один подход к архитектуре приложения»Иван Кожин «Saritasa Tools или ещё один подход к архитектуре приложения»
Иван Кожин «Saritasa Tools или ещё один подход к архитектуре приложения»
SpbDotNet Community
 
Тестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практикТестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практик
SQALab
 

What's hot (20)

Микросервисы: взгляд сверху и в бок
Микросервисы: взгляд сверху и в бокМикросервисы: взгляд сверху и в бок
Микросервисы: взгляд сверху и в бок
 
Как приручить реактивное программирование
Как приручить реактивное программированиеКак приручить реактивное программирование
Как приручить реактивное программирование
 
Как это будет: ASP.NET Core
Как это будет: ASP.NET CoreКак это будет: ASP.NET Core
Как это будет: ASP.NET Core
 
Разработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешевоРазработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешево
 
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...
 
О создании компилятора с высокоуровневого языка на компьютер с программируемо...
О создании компилятора с высокоуровневого языка на компьютер с программируемо...О создании компилятора с высокоуровневого языка на компьютер с программируемо...
О создании компилятора с высокоуровневого языка на компьютер с программируемо...
 
Один за всех, или как помочь тестированию многих компонентов одной системы
Один за всех, или как помочь тестированию многих компонентов одной системыОдин за всех, или как помочь тестированию многих компонентов одной системы
Один за всех, или как помочь тестированию многих компонентов одной системы
 
Approaches to the Fragmentation of a Paravirtualization System
Approaches to the Fragmentation of a Paravirtualization SystemApproaches to the Fragmentation of a Paravirtualization System
Approaches to the Fragmentation of a Paravirtualization System
 
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
 
Selenium grid on-demand
Selenium grid on-demandSelenium grid on-demand
Selenium grid on-demand
 
Let's Talk About Junit 5
Let's Talk About Junit 5Let's Talk About Junit 5
Let's Talk About Junit 5
 
ковалев нестандатное нт
ковалев    нестандатное нтковалев    нестандатное нт
ковалев нестандатное нт
 
Внедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной ШинеВнедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной Шине
 
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и GrafanaВсевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
 
Как справляться с ростом инфраструктуры сервиса — Игорь Андреев
Как справляться с ростом инфраструктуры сервиса — Игорь АндреевКак справляться с ростом инфраструктуры сервиса — Игорь Андреев
Как справляться с ростом инфраструктуры сервиса — Игорь Андреев
 
Cтатические анализаторы систем 1с AgileDays 2015
Cтатические анализаторы систем 1с AgileDays 2015Cтатические анализаторы систем 1с AgileDays 2015
Cтатические анализаторы систем 1с AgileDays 2015
 
Ядро автоматизации под микро-сервисную архитектуру
Ядро автоматизации под микро-сервисную архитектуруЯдро автоматизации под микро-сервисную архитектуру
Ядро автоматизации под микро-сервисную архитектуру
 
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
 
Иван Кожин «Saritasa Tools или ещё один подход к архитектуре приложения»
Иван Кожин «Saritasa Tools или ещё один подход к архитектуре приложения»Иван Кожин «Saritasa Tools или ещё один подход к архитектуре приложения»
Иван Кожин «Saritasa Tools или ещё один подход к архитектуре приложения»
 
Тестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практикТестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практик
 

Similar to Быстрое прототипирование системы управления БПЛА

SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
SECON
 
Развертывание алгоритмов на ПЛИС
Развертывание алгоритмов на ПЛИСРазвертывание алгоритмов на ПЛИС
Развертывание алгоритмов на ПЛИС
MATLAB
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
Alexey Krivitsky
 
Тестовая инфраструктура в облаке
Тестовая инфраструктура в облакеТестовая инфраструктура в облаке
Тестовая инфраструктура в облаке
SQALab
 
Модернизация казначейской системы Российской Федерации
Модернизация казначейской системы Российской ФедерацииМодернизация казначейской системы Российской Федерации
Модернизация казначейской системы Российской Федерации
SE Infosystem
 
Особенности тестирования сloud-приложений
Особенности тестирования сloud-приложенийОсобенности тестирования сloud-приложений
Особенности тестирования сloud-приложений
SQALab
 
Scrum Wars
Scrum WarsScrum Wars
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
SQALab
 
Опыт работы с фреймворком ASP.NET MVC
Опыт работы с фреймворком ASP.NET MVCОпыт работы с фреймворком ASP.NET MVC
Опыт работы с фреймворком ASP.NET MVC
Даниил Силантьев
 
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
IT-Portfolio
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
CEE-SEC(R)
 
Проектирование радиолокационных систем
Проектирование радиолокационных систем Проектирование радиолокационных систем
Проектирование радиолокационных систем
MATLAB
 
Крыша 2.0
Крыша 2.0Крыша 2.0
Лучшие практики исполнения проекта в соответствии с методологией IBM Rational
Лучшие практики исполнения проекта в соответствии с методологией IBM RationalЛучшие практики исполнения проекта в соответствии с методологией IBM Rational
Лучшие практики исполнения проекта в соответствии с методологией IBM Rational
LuxoftTraining
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...
CEE-SEC(R)
 
Построение и переход на новую аналитическую платформу. Цели, вызовы, решения....
Построение и переход на новую аналитическую платформу. Цели, вызовы, решения....Построение и переход на новую аналитическую платформу. Цели, вызовы, решения....
Построение и переход на новую аналитическую платформу. Цели, вызовы, решения....
HOWWEDOIT
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Vadim Martynov
 
Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...
Yurii Kadirov
 
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
Mail.ru Group
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииGleb Rybalko
 

Similar to Быстрое прототипирование системы управления БПЛА (20)

SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
 
Развертывание алгоритмов на ПЛИС
Развертывание алгоритмов на ПЛИСРазвертывание алгоритмов на ПЛИС
Развертывание алгоритмов на ПЛИС
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
 
Тестовая инфраструктура в облаке
Тестовая инфраструктура в облакеТестовая инфраструктура в облаке
Тестовая инфраструктура в облаке
 
Модернизация казначейской системы Российской Федерации
Модернизация казначейской системы Российской ФедерацииМодернизация казначейской системы Российской Федерации
Модернизация казначейской системы Российской Федерации
 
Особенности тестирования сloud-приложений
Особенности тестирования сloud-приложенийОсобенности тестирования сloud-приложений
Особенности тестирования сloud-приложений
 
Scrum Wars
Scrum WarsScrum Wars
Scrum Wars
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
 
Опыт работы с фреймворком ASP.NET MVC
Опыт работы с фреймворком ASP.NET MVCОпыт работы с фреймворком ASP.NET MVC
Опыт работы с фреймворком ASP.NET MVC
 
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
 
Проектирование радиолокационных систем
Проектирование радиолокационных систем Проектирование радиолокационных систем
Проектирование радиолокационных систем
 
Крыша 2.0
Крыша 2.0Крыша 2.0
Крыша 2.0
 
Лучшие практики исполнения проекта в соответствии с методологией IBM Rational
Лучшие практики исполнения проекта в соответствии с методологией IBM RationalЛучшие практики исполнения проекта в соответствии с методологией IBM Rational
Лучшие практики исполнения проекта в соответствии с методологией IBM Rational
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...
 
Построение и переход на новую аналитическую платформу. Цели, вызовы, решения....
Построение и переход на новую аналитическую платформу. Цели, вызовы, решения....Построение и переход на новую аналитическую платформу. Цели, вызовы, решения....
Построение и переход на новую аналитическую платформу. Цели, вызовы, решения....
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
 
Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...
 
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действии
 

More from CEE-SEC(R)

Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...
CEE-SEC(R)
 
Проектный офис и аналитик
Проектный офис и аналитикПроектный офис и аналитик
Проектный офис и аналитик
CEE-SEC(R)
 
Онлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсамОнлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсам
CEE-SEC(R)
 
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
CEE-SEC(R)
 
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
CEE-SEC(R)
 
«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентами«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентами
CEE-SEC(R)
 
Машинное обучение на каждый день
Машинное обучение на каждый деньМашинное обучение на каждый день
Машинное обучение на каждый день
CEE-SEC(R)
 
Process и Case Management в информационной системе:
Process и Case Management в информационной системе: Process и Case Management в информационной системе:
Process и Case Management в информационной системе:
CEE-SEC(R)
 
Проблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестированияПроблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестирования
CEE-SEC(R)
 
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
CEE-SEC(R)
 
Ай-трекинг в UX исследованиях
Ай-трекинг в UX исследованияхАй-трекинг в UX исследованиях
Ай-трекинг в UX исследованиях
CEE-SEC(R)
 
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
CEE-SEC(R)
 
Технологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследованияТехнологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследования
CEE-SEC(R)
 
Субъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятияхСубъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятиях
CEE-SEC(R)
 
Шаблоны контейнеров в Virtuozzo
Шаблоны контейнеров в VirtuozzoШаблоны контейнеров в Virtuozzo
Шаблоны контейнеров в Virtuozzo
CEE-SEC(R)
 
Apache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииApache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализации
CEE-SEC(R)
 
Семантическое ядро рунета
Семантическое ядро рунетаСемантическое ядро рунета
Семантическое ядро рунета
CEE-SEC(R)
 
Разработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательствРазработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательств
CEE-SEC(R)
 
IT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартаповIT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартапов
CEE-SEC(R)
 
Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»
CEE-SEC(R)
 

More from CEE-SEC(R) (20)

Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...
 
Проектный офис и аналитик
Проектный офис и аналитикПроектный офис и аналитик
Проектный офис и аналитик
 
Онлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсамОнлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсам
 
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
 
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
 
«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентами«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентами
 
Машинное обучение на каждый день
Машинное обучение на каждый деньМашинное обучение на каждый день
Машинное обучение на каждый день
 
Process и Case Management в информационной системе:
Process и Case Management в информационной системе: Process и Case Management в информационной системе:
Process и Case Management в информационной системе:
 
Проблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестированияПроблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестирования
 
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
 
Ай-трекинг в UX исследованиях
Ай-трекинг в UX исследованияхАй-трекинг в UX исследованиях
Ай-трекинг в UX исследованиях
 
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
 
Технологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследованияТехнологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследования
 
Субъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятияхСубъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятиях
 
Шаблоны контейнеров в Virtuozzo
Шаблоны контейнеров в VirtuozzoШаблоны контейнеров в Virtuozzo
Шаблоны контейнеров в Virtuozzo
 
Apache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииApache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализации
 
Семантическое ядро рунета
Семантическое ядро рунетаСемантическое ядро рунета
Семантическое ядро рунета
 
Разработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательствРазработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательств
 
IT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартаповIT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартапов
 
Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»
 

Быстрое прототипирование системы управления БПЛА

  • 1. Быстрое прототипирование системы управления БПЛА Никляев Илья Singularis Lab, Ltd.
  • 2. Проект • Задача - инспектирование лопастей и башен ветряков • Алгоритмы настойчиво рекомендованы заказчиком 28 - 29.10.2016 SECR'2016, Москва 2
  • 3. Проект: наша задача 28 - 29.10.2016 SECR'2016, Москва 3
  • 4. Платформа: ожидания и реальность 28 - 29.10.2016 SECR'2016, Москва 4 Платформа заказчика Бюджет проекта
  • 5. Как решали задачу • Апробация и тестирование – на «живой» аппаратной платформе • Девелоперская платформа «напоминает» платформу заказчика • Около полугода работы 28 - 29.10.2016 SECR'2016, Москва 5
  • 6. Инструменты • Middleware система: ROS (Robotic Operating System) • Алгоритмы: различные варианты монокулярного SLAM, motion planning (OMPL) 28 - 29.10.2016 SECR'2016, Москва 6
  • 7. И? 28 - 29.10.2016 SECR'2016, Москва 7
  • 8. Проблемы • «Рекомендованные» заказчиком алгоритмы не подходят для решения задачи • Тестирование затруднено, занимает огромное количество времени • Апробация алгоритмов занимает огромное количество времени • Аппаратные проблемы дополнительно тормозят разработку софта 28 - 29.10.2016 SECR'2016, Москва 8
  • 9. Осознание: шаг 0 • Переосмысление задачи: присутствует значительная исследовательская часть • Предложенные заказчиком решения требуют серьезной адаптации 28 - 29.10.2016 SECR'2016, Москва 9
  • 10. Осознание: шаг 1 • Время проверки гипотезы – главное • Симулятор – наш друг 28 - 29.10.2016 SECR'2016, Москва 10
  • 11. Шаг 2: быстрое прототипирование • Быстрый прототип – это макет, он будет «выброшен» • Платформа для прототипа может отличаться от конечной 28 - 29.10.2016 SECR'2016, Москва 11
  • 12. Шаг 3: ROS – не OS ROS – это фреймворк для прототипирования: нет низкоуровневого контроля над инфраструктурой, не лучшая стабильность, но есть: – инфраструктура для разработки модульных систем – симулятор Gazebo – продвинутый мониторинг – экосистема 28 - 29.10.2016 SECR'2016, Москва 12
  • 13. Как изменился процесс разработки • Репрезентативное окружение всегда под рукой • Дрон не мерзнет! • Время апробации решений сократилось в разы 28 - 29.10.2016 SECR'2016, Москва 13
  • 14. Результат • Полностью изменен подход: отказались от SLAM в пользу более простого эвристического распознавания изображений, добавили датчик расстояния • Полнофункциональный SITL-прототип с нуля разработан за 3-4 недели 28 - 29.10.2016 SECR'2016, Москва 14
  • 15. Что в итоге? • ROS – не OS (даже не middleware), а фреймворк для прототипирования • Скорость разработки – главное • Быстрое прототипирование – это хорошо! 28 - 29.10.2016 SECR'2016, Москва 15
  • 16. Демонстрация 28 - 29.10.2016 SECR'2016, Москва 16
  • 17. 28 - 29.10.2016 SECR'2016, Москва 17 Спасибо за внимание! Илья Никляев • ilya.niklyaev@singularis-lab.com https://www.singularis-lab.com/ https://www.linkedin.com/company/singularis-lab-llc http://habrahabr.ru/company/singularis http://vk.com/singularis_lab

Editor's Notes

  1. Суть в том, чтобы «не бросаться на амбразуру» - не пытаться решить параллельно все задачи (сложные алгоритмические и хардварные)