SDK
SDK (Software Development Kit) — это набор библиотек, документации, примеров и инструментов, который платформа дает разработчикам, чтобы они создавали на ее основе свои приложения. Свои SDK есть у мобильных операционных систем, платежных сервисов, игровых движков и облачных платформ.
В мире дронов через SDK подключают новые датчики и нагрузку, добавляют свои нейросетевые модели и сценарии полетных заданий. Так к готовой автономии добавляют, например, газоанализатор или собственную модель детекции, не разрабатывая навигацию с нуля, а производители встраивают ее в свои аппараты.
Что входит в SDK
Состав зависит от продукта, но типовые компоненты одинаковы.
Что обычно входит в SDK:
- Библиотеки — готовый код, через который программа получает телеметрию, отдает команды и читает датчики
- Документация — описание всех функций и форматов данных
- Примеры — как подключить датчик, запустить свою модель или написать сценарий задания
- Инструменты — симулятор, отладка и запись данных
- Правила версий — что меняется между версиями и как сохранить совместимость

SDK и API: в чем разница
API — интерфейс, через который программы обмениваются данными и командами; SDK — инструментарий, который делает работу с этим API удобной: готовые функции, примеры, отладка. Можно работать с API без SDK, но SDK сокращает разработку с недель до дней.
Что разрабатывают на SDK бортового ПО
Модули восприятия с собственными моделями YOLO под отраслевые дефекты, драйверы нестандартной нагрузки — газоанализаторов, магнитометров, спектрометров, — сценарии заданий для специфических объектов, обработку данных на борту и выгрузку в формате заказчика, интеграцию с корпоративными системами.
Каким должен быть SDK для разработчика
Хороший SDK экономит команде месяцы разработки. При выборе стоит проверить несколько вещей:
- Документация и примеры — по ним можно собрать первый модуль без помощи разработчика платформы
- Поддержка нужных плат и языков — SDK работает на том бортовом компьютере и с тем языком, которые использует команда
- Симулятор — модуль сначала проверяют на компьютере, а не на летящем дроне
- Стабильные версии — обновление SDK не заставляет переписывать уже готовый код
- Лицензия — понятно, можно ли продавать продукт, сделанный на SDK
- Техподдержка — есть к кому обратиться, если что-то не работает

— Нужен ли SDK, если есть API?
Не обязательно, но SDK с библиотеками и примерами ускоряет разработку и снижает число ошибок интеграции.
— Можно ли подключить к бортовому ПО собственный датчик?
Да, через SDK пишется драйвер и обработка данных датчика, которые встраиваются в полетное задание и выгрузку.
Связанные термины: API, ПО для дронов, Полетный стек