NASA kasutas Ingenuity Marsi raketis Linuxit ja avatud lähtekoodiga tarkvara

NASA kosmoseagentuuri esindajad avaldasid intervjuus Spectrum IEEE-le üksikasju autonoomse luurehelikopteri Ingenuity sisemuse kohta, mis maandus eile Marss 2020 missiooni raames edukalt Marsile. Projekti eripäraks oli Qualcommi Snapdragon 801 SoC-l põhineva juhtplaadi kasutamine, mida kasutatakse nutitelefonide tootmisel. Ingenuity tarkvara põhineb Linuxi tuumal ja avatud lähtekoodiga lennutarkvaral. Märgitakse, et see on esimene Linuxi kasutus Marsile saadetud seadmetes. Veelgi enam, avatud lähtekoodiga tarkvara ja laialdaselt kättesaadavate riistvarakomponentide kasutamine võimaldab huvilistel sarnaseid droone iseseisvalt kokku panna.

Selline otsus on tingitud sellest, et lendava drooni juhtimine nõuab oluliselt rohkem arvutusvõimsust kui Marsi kulguri juhtimine, mis on varustatud spetsiaalselt valmistatud täiendava kiirguskaitsega kiipidega. Näiteks lennu säilitamiseks on vaja juhtimisahelat, mis töötab 500 tsüklit sekundis ja kujutise analüüsi kiirusega 30 kaadrit sekundis.

Snapdragon 801 SoC (neljatuumaline, 2.26 GHz, 2 GB muutmälu, 32 GB välkmälu) toidab Linuxi põhilist süsteemikeskkonda, mis vastutab kõrgetasemeliste toimingute eest, nagu kaamera kujutise analüüsil põhinev visuaalne navigeerimine, andmehaldus, töötlemine käsud, telemeetria genereerimine ja traadita sidekanali haldamine.

Protsessor on UART liidese abil ühendatud kahe mikrokontrolleriga (MCU Texas Instruments TMS570LC43x, ARM Cortex-R5F, 300 MHz, 512 KB RAM, 4 MB Flash, UART, SPI, GPIO), mis täidavad lennujuhtimise funktsioone. Kahte mikrokontrollerit kasutatakse tõrke korral koondamiseks ja need saavad anduritelt identset teavet. Ainult üks mikrokontroller on aktiivne ja teist kasutatakse tagavarana ja tõrke korral suudab juhtimine üle võtta. MicroSemi ProASIC3L FPGA vastutab andmete edastamise eest anduritelt mikrokontrolleritele ja suhtlemise eest labasid juhtivate täiturmehhanismidega, mis lülitub rikke korral ka varumikrokontrollerile.

NASA kasutas Ingenuity Marsi raketis Linuxit ja avatud lähtekoodiga tarkvara

Varustustest kasutab droon avatud lähtekoodiga riistvara tootva ja avatud lähtekoodiga riistvara (OSHW) definitsiooni üheks loojaks oleva ettevõtte SparkFun Electronicsi laserkõrgusmõõtjat. Muud tüüpilised komponendid hõlmavad gimbal-stabilisaatorit (IMU) ja nutitelefonides kasutatavaid videokaameraid. Ühte VGA-kaamerat kasutatakse asukoha, suuna ja kiiruse jälgimiseks kaadripõhise võrdluse kaudu. Piirkonna pildistamiseks kasutatakse teist 13-megapikslist värvikaamerat.

Lennujuhtimise tarkvara komponendid töötati välja NASA JPL-is (Jet Propulsion Laboratory) väikeste ja üliväikeste kunstlike Maa tehissatelliitide (cubesats) jaoks ning neid on mitu aastat arendatud avatud platvormi F Prime (F´) osana, mida levitatakse Apache 2.0 litsents.

F Prime pakub tööriistu lennujuhtimissüsteemide ja nendega seotud manustatud rakenduste kiireks arendamiseks. Lennutarkvara on jagatud üksikuteks komponentideks, millel on täpselt määratletud programmeerimisliidesed. Lisaks spetsialiseeritud komponentidele pakutakse C++ raamistikku, kus on juurutatud sellised funktsioonid nagu sõnumijärjekorra ja mitme lõimega töötlemine, aga ka modelleerimistööriistad, mis võimaldavad komponente ühendada ja koodi automaatselt genereerida.

NASA kasutas Ingenuity Marsi raketis Linuxit ja avatud lähtekoodiga tarkvara


Allikas: opennet.ru

Lisa kommentaar