НАСА: в марсолете Ingenuity используется открытое ПО и Linux

Агентство НАСА на днях раскрыло подробности работы марсолета Ingenuity, который опустился на поверхность Красной планеты вместе с марсоходом. Вскоре марсолет попробует освоить воздушное пространство Марса, а пока что НАСА рассказывает о подробностях этого путешествия.

Так вот, «железо» марсолета базируется на плате с SoC Snapdragon 801 от компании Qualcomm. Программное обеспечение — Linux и открытое ПО. По словам агентства, программное обеспечение на основе Linux впервые используется в системах, отправленных на Марс. Использование же открытых и доступных элементов, как «железа», так и ПО, дает возможность энтузиастам повторить конструкцию или сделать нечто свое.

Аппаратное обеспечение обеспечивает высокую производительность, которая нужна марсолету. Дело в том, что для нормального полета необходима работа контура управления с частотой 500 циклов в секунду, плюс анализ изображения с частотой 30 кадров в секунду.

SoC Snapdragon 801 (четыре ядра, 2.26 GHz, 2 ГБ ОЗУ, 32 ГБ Flash) отвечает за работу базового системного окружения на базе Linux. Именно оно выполняет высокоуровневые операции, включая:

• Визуальную навигацию на основе анализа изображений с камеры.
• Управление данными.
• Обработка команд.
• Формирование телеметрии.
• Поддержание канала беспроводной связи.

Посредством интерфейса UART процессор соединяется с двумя микроконтроллерами, это MCU Texas Instruments TMS570LC43x, ARM Cortex-R5F, 300 MHz, 512 КБ ОЗУ, 4 МБ Flash, UART, SPI, GPIO. Они отвечают для различных функций управления полета. Кроме того, они же используются для резервирования на случай сбоя, так что информация, которая к ним поступает, дублируется.

Задействуется лишь один из микроконтроллеров, но если что-то идет не так, то вступает в работу второй, который способен сразу же перехватить основные функции, заменив проблемного «коллегу». Ну а за передачу информации от датчиков к микроконтроллеров, а также за взаимодействие с актуаторами, которые управляют лопастями винтокрылого летуна, отвечает FPGA MicroSemi ProASIC3L. Он же выполняет переключение на запасной микроконтроллер в случае сбоя.

В предыдущей нашей статье говорилось, что научного оборудования в этом устройстве нет. Но, конечно, это не просто летающая «болванка». Марсолет оснащен лазерным высотомером от компании SparkFun Electronics. Она специализируется на разработке открытого ПО, кроме того, она же и один из создателей самого термина OSHW, Open-source hardware. Кроме того, марсолет оснащен такими компонентами, как гиростабилизатор (IMU) и видеокамеры.

Камер две. Одна из них, VGA, используется в качестве навигационной, отвечает за определение местоположения, направления движения и скорости посредством покадрового сравнения. А вот вторая камера, цветная, 13 МП, будет использоваться для фотографирования местности. Аэрофотосъемка на Марсе — мы живем в будущем!

Большая часть систем марсолета разработана специалистами НАСА, а именно — в лаборатории NASA JPL (Jet Propulsion Laboratory). При этом компоненты, которые применены в конструкции, не уникальные, а типовые, они созданы специально для малых и сверхмалых искусственных спутников Земли (кубсатов) и уже несколько лет развиваются в составе открытой платформы F Prime (F´), распространяемой под лицензией Apache 2.0.

F Prime дает возможность быстро разрабатывать и разворачивать системы управления полетом и связанных элементов ПО. При этом полетное ПО разделяется на отдельные компоненты с хорошо определенными программными интерфейсами. Кроме того, разработчики получают в свое распоряжение С++ фреймворк для обработки очередей сообщений, организации многопоточности, плюс инструменты моделирования, которые позволяют связывать компоненты и автоматически генерировать код.

 

Источник

Ingenuity, Марс, марсолет

Читайте также