Программное обеспечение определяет, как беспилотная авиационная система выполняет задачу, взаимодействует с полезной нагрузкой, обрабатывает данные и передаёт состояние на наземный контур.
AERIS разрабатывает специализированное ПО для новых и существующих БАС: бортовые сервисы, миссионную логику, средства управления полезной нагрузкой, обработку данных, наземные приложения и интерфейсы интеграции.
Бортовое программное обеспечение
Бортовой программный контур связывает полётный контроллер, вычислительные модули, сенсоры, полезную нагрузку, связь и другие системы аппарата.
В зависимости от проекта разработка может включать:
- сервисы обмена данными между бортовыми компонентами;
- управление полезной нагрузкой;
- контроль состояния оборудования;
- сбор и синхронизацию телеметрии;
- обработку данных непосредственно на борту;
- управление режимами работы отдельных подсистем;
- диагностику и регистрацию событий.
Миссионное ПО
Миссионный уровень определяет последовательность действий системы в рамках конкретной прикладной задачи. Здесь учитываются маршрут, этапы выполнения работ, состояние полезной нагрузки, доступные ресурсы и события, возникающие во время полёта.
Для специализированных проектов AERIS разрабатывает миссионную логику под конкретный сценарий эксплуатации.
- выполнение заданных этапов миссии;
- управление режимами полезной нагрузки;
- обработка событий и условий перехода между этапами;
- контроль выполнения прикладной задачи;
- регистрация результатов и состояния системы;
- взаимодействие с наземным программным обеспечением.
Управление полезной нагрузкой
Камеры, тепловизионные системы, лидары, измерительные приборы, дозирующее оборудование и другие модули требуют собственной логики управления и обмена данными.
Программный контур определяет режимы работы полезной нагрузки, синхронизацию с состоянием аппарата, запись результатов и передачу информации другим компонентам БАС.
При необходимости реализуются автоматические сценарии запуска, остановки, переключения режимов и контроля состояния оборудования в зависимости от этапа миссии.
Обработка данных на борту
Передача полного объёма данных на землю доступна далеко не во всех конфигурациях. Высокое разрешение камер, несколько сенсорных каналов и ограниченная пропускная способность связи делают бортовую обработку самостоятельной частью архитектуры.
В зависимости от задачи на борту могут выполняться:
- предварительная фильтрация данных;
- выделение значимых событий;
- анализ изображений и видеопотока;
- обработка результатов измерений;
- формирование сокращённых наборов данных для передачи;
- локальное хранение информации до завершения миссии.
Компьютерное зрение и AI
Для задач, связанных с анализом окружающей среды, бортовое ПО может использовать алгоритмы компьютерного зрения и машинного обучения.
Их применение определяется требованиями проекта: обнаружение объектов, анализ сцены, классификация наблюдений, оценка состояния среды или подготовка данных для дальнейшего решения миссионной задачи.
Вычислительная архитектура подбирается с учётом требуемой производительности, задержки обработки, энергопотребления и доступных ресурсов платформы.
Наземное программное обеспечение
Наземный контур предоставляет доступ к состоянию БАС, параметрам миссии, полезной нагрузке и результатам работы.
AERIS разрабатывает специализированные интерфейсы оператора и сервисные приложения для задач, где возможностей стандартного программного обеспечения платформы недостаточно.
Функциональность может включать:
- подготовку и загрузку миссий;
- отображение состояния аппарата;
- контроль полезной нагрузки;
- работу с телеметрией;
- просмотр и экспорт результатов;
- диагностику оборудования;
- ведение журналов полётов и событий;
- управление конфигурациями системы.
Интеграция с автопилотом
Специализированное ПО часто работает совместно с существующим полётным контроллером. Для этого определяется набор доступных данных, управляющих команд и условий взаимодействия между миссионным уровнем и системой стабилизации полёта.
В рамках проекта могут разрабатываться интерфейсы обмена с автопилотом, модули управления режимами, обработчики телеметрии и средства синхронизации с внешними бортовыми компонентами.
Интерфейсы и протоколы
БАС обычно включает оборудование нескольких производителей с различными аппаратными и программными интерфейсами. Для их совместной работы создаются программные адаптеры, драйверы и сервисы обмена данными.
В зависимости от конфигурации проект может включать работу с:
- CAN и CAN FD;
- Ethernet;
- UART и последовательными интерфейсами;
- USB;
- сетевыми API;
- протоколами телеметрии;
- проприетарными интерфейсами оборудования при наличии документации и доступа производителя.
Телеметрия и журналирование
Для эксплуатации, диагностики и испытаний важно сохранять историю работы системы. Программное обеспечение может регистрировать параметры полёта, состояние вычислительных модулей, работу полезной нагрузки, ошибки и значимые события.
Состав журналируемых данных определяется задачей проекта и возможностями используемого оборудования. Для испытательных систем дополнительно может применяться расширенная регистрация синхронизированных потоков для последующего анализа.
Надёжность программного контура
Бортовое ПО работает в условиях ограниченного вычислительного ресурса, нестабильной связи, изменения доступности отдельных устройств и жёстких требований к времени реакции.
При проектировании учитываются:
- контроль состояния программных компонентов;
- обработка отказов оборудования;
- ограничение влияния второстепенных функций на критические процессы;
- восстановление после перезапуска отдельных сервисов;
- контроль версий и конфигураций;
- регистрация ошибок для последующей диагностики.
Разработка под существующую платформу
Специализированное ПО может создаваться для уже эксплуатируемого БАС. В этом случае сначала анализируются доступные интерфейсы платформы, возможности автопилота, вычислительные ресурсы и ограничения производителя.
После определения доступного уровня интеграции формируется программная архитектура, совместимая с существующей системой и требуемой полезной нагрузкой.
Разработка для платформ AERIS
Для собственных платформ AERIS программное обеспечение развивается совместно с аппаратной архитектурой. Это позволяет учитывать вычислительные ресурсы, размещение сенсоров, энергетические ограничения и миссионные режимы на уровне исходной конфигурации БАС.
Программный контур конкретной платформы определяется её назначением и стадией разработки. Часть технологий и внутренних механизмов AERIS относится к собственной исследовательской базе компании и в рамках открытого описания услуг не раскрывается.
Испытания программного обеспечения
Проверка начинается с отдельных компонентов и интерфейсов. Далее программные модули объединяются в целевую конфигурацию и проверяются совместно с оборудованием.
В зависимости от проекта программа может включать:
- модульные и интеграционные проверки;
- работу с имитаторами и записанными потоками данных;
- Hardware-in-the-Loop испытания;
- стендовые проверки с целевым оборудованием;
- испытания на наземной платформе;
- лётную проверку функций, зависящих от реального режима БАС.
Что получает заказчик
Состав результата фиксируется на этапе постановки задачи и зависит от уровня разработки.
В проект могут входить:
- исходный программный код в согласованном объёме;
- собранные программные компоненты;
- описание архитектуры и интерфейсов;
- конфигурационные файлы;
- инструкции по развёртыванию;
- материалы по эксплуатации и диагностике;
- результаты проведённых проверок;
- последующее сопровождение и развитие программного комплекса.
Подход AERIS
Программное обеспечение БАС проектируется с учётом физической архитектуры аппарата, возможностей оборудования и условий конкретной миссии. Это позволяет связать программные функции с реальными ограничениями платформы уже на этапе проектирования.
Для каждого проекта определяются границы ответственности программных компонентов, требования к данным, критические интерфейсы и порядок проверки. Такая структура упрощает дальнейшее развитие системы, замену оборудования и диагностику в эксплуатации.