НАСА: в марсолете 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 дает возможность быстро разрабатывать и разворачивать системы управления полетом и связанных элементов ПО. При этом полетное ПО разделяется на отдельные компоненты с хорошо определенными программными интерфейсами. Кроме того, разработчики получают в свое распоряжение С++ фреймворк для обработки очередей сообщений, организации многопоточности, плюс инструменты моделирования, которые позволяют связывать компоненты и автоматически генерировать код.

Источник: https://habr.com/ru/company/selectel/blog/543630/


Интересные статьи

Интересные статьи

SWAP (своп) — это механизм виртуальной памяти, при котором часть данных из оперативной памяти (ОЗУ) перемещается на хранение на HDD (жёсткий диск), SSD (твёрдотельный накоп...
Linux или Unix приятно отличаются от многих других операционных систем тем, что Linux-программы часто выдают сообщения, которые записываются в какой-нибудь журнал. А многие команды даже м...
Иногда я берусь за различные задачи по настройке серверов. Некоторое время назад ко мне обратился владелец небольшой хостинговой компании, с интересной проблемой. Он хотел бы на своих сервера...
«Битрикс» — кошмар на костылях. Эта популярная характеристика системы среди разработчиков и продвиженцев ныне утратила свою актуальность.
Увидел публикацию о том, что PVS таки научился анализировать под Линуксами, и решил попробовать на своих проектах. И вот что из этого получилось.