Агентство NASA використовувало Linux та відкрите ПЗ у марсолеті Ingenuity

Представники космічного агентства NASA в інтерв'ю виданню Spectrum IEEE розкрили подробиці про начинку автономного гелікоптера-розвідника Ingenuity, який вчора успішно приземлився на Марс у складі місії Марс-2020. Особливістю проекту стало використання плати, що управляє, на базі SoC Snapdragon 801 від компанії Qualcomm, який застосовується при виробництві смартфонів. Програмне начиння Ingenuity засноване на ядрі 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, який також виконує перемикання на запасний мікроконтролер у разі збою.

Агентство NASA використовувало Linux та відкрите ПЗ у марсолеті Ingenuity

З обладнання у дроні задіяний лазерний висотомір від компанії SparkFun Electronics, що займається виробництвом відкритого апаратного забезпечення і є одним із творців визначення відкритого апаратного забезпечення (OSHW, Open-source hardware). З інших типових компонентів відзначаються гіростабілізатор (IMU) і відеокамери, що використовуються в смартфонах. Одна VGA-камера задіяна для відстеження розташування, напряму та швидкості через покадрове порівняння. Друга 13-мегапіксельна кольорова камера використана для створення знімків місцевості.

Програмні компоненти, що управляють польотом, розроблені в лабораторії NASA JPL (Jet Propulsion Laboratory) для малих і надмалих штучних супутників Землі (кубсатів) і вже кілька років розвиваються у складі відкритої платформи F Prime (F'), що розповсюджується під ліцензією Apache 2.0.

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

Агентство NASA використовувало Linux та відкрите ПЗ у марсолеті Ingenuity


Джерело: opennet.ru

Додати коментар або відгук