НАСА използва Linux и софтуер с отворен код в ракетата Ingenuity Mars

Представители на космическата агенция НАСА в интервю за Spectrum IEEE разкриха подробности за вътрешните устройства на автономния разузнавателен хеликоптер Ingenuity, който успешно кацна на Марс вчера като част от мисията Mars 2020. Особеност на проекта беше използването на контролна платка, базирана на Snapdragon 801 SoC от Qualcomm, която се използва в производството на смартфони. Софтуерът на Ingenuity е базиран на ядрото на Linux и софтуер за полети с отворен код. Отбелязва се, че това е първото използване на Linux в устройства, изпратени на Марс. Освен това използването на софтуер с отворен код и широко достъпни хардуерни компоненти позволява на заинтересованите ентусиасти да сглобяват сами подобни дронове.

Това решение се дължи на факта, че управлението на летящ дрон изисква значително повече изчислителна мощност от управлението на марсоход, който е оборудван със специално произведени чипове с допълнителна радиационна защита. Например, поддържането на полета изисква контролна верига, работеща с 500 цикъла в секунда и анализ на изображението с 30 кадъра в секунда.

Snapdragon 801 SoC (четириядрен, 2.26 GHz, 2 GB RAM, 32 GB Flash) захранва основната Linux-базирана системна среда, която е отговорна за операции на високо ниво като визуална навигация, базирана на анализ на изображения от камерата, управление на данни, обработка команди, генериране на телеметрия и поддържане на безжичен комуникационен канал.

Процесорът е свързан чрез UART интерфейс към два микроконтролера (MCU Texas Instruments TMS570LC43x, ARM Cortex-R5F, 300 MHz, 512 KB RAM, 4 MB Flash, UART, SPI, GPIO), които изпълняват функции за управление на полета. Два микроконтролера се използват за резервиране в случай на повреда и получават идентична информация от сензорите. Активен е само един микроконтролер, а вторият се използва като резервен и при повреда може да поеме управлението. MicroSemi ProASIC3L FPGA е отговорен за предаването на данни от сензорите към микроконтролерите и за взаимодействието със задвижващите механизми, които управляват лопатките, които също превключват към резервен микроконтролер в случай на повреда.

НАСА използва Linux и софтуер с отворен код в ракетата Ingenuity Mars

Сред оборудването дронът използва лазерен алтиметър от SparkFun Electronics, компания, която произвежда хардуер с отворен код и е един от създателите на определението за хардуер с отворен код (OSHW). Други типични компоненти включват карданния стабилизатор (IMU) и видеокамерите, използвани в смартфоните. Една VGA камера се използва за проследяване на местоположение, посока и скорост чрез сравнение кадър по кадър. Втората 13-мегапикселова цветна камера се използва за снимки на района.

Софтуерните компоненти за управление на полета са разработени в NASA JPL (Лаборатория за реактивни двигатели) за малки и свръхмалки изкуствени спътници на Земята (cubesats) и са разработени от няколко години като част от отворената платформа F Prime (F´), разпространявана под Apache 2.0 лиценз.

F Prime предоставя инструменти за бързо разработване на системи за контрол на полета и свързани с тях вградени приложения. Полетният софтуер е разделен на отделни компоненти с добре дефинирани интерфейси за програмиране. В допълнение към специализираните компоненти се предлага C++ рамка с внедряване на такива функции като опашка за съобщения и многопоточност, както и инструменти за моделиране, които ви позволяват да свързвате компоненти и автоматично да генерирате код.

НАСА използва Linux и софтуер с отворен код в ракетата Ingenuity Mars


Източник: opennet.ru

Добавяне на нов коментар