NASA „Ingenuity Mars“ raketoje naudojo „Linux“ ir atvirojo kodo programinę įrangą

NASA kosmoso agentūros atstovai interviu su „Spectrum IEEE“ atskleidė detales apie autonominio žvalgybinio sraigtasparnio „Ingenuity“, kuris vakar sėkmingai nusileido Marse, vykdydamas misiją „Mars 2020“, vidines dalis. Ypatinga projekto savybė buvo išmaniųjų telefonų gamyboje naudojamos „Qualcomm“ „Snapdragon 801 SoC“ pagrindu sukurtos valdymo plokštės. „Ingenuity“ programinė įranga yra pagrįsta „Linux“ branduoliu ir atvirojo kodo skrydžio programine įranga. Pažymima, kad tai pirmasis „Linux“ panaudojimas įrenginiuose, siunčiamuose į Marsą. Be to, atvirojo kodo programinės įrangos ir plačiai prieinamų aparatinės įrangos komponentų naudojimas suteikia galimybę suinteresuotiems entuziastams patiems surinkti panašius dronus.

Tokį sprendimą lėmė tai, kad norint valdyti skraidantį droną reikia žymiai daugiau skaičiavimo galių nei valdyti marsaeigį, kuriame sumontuoti specialiai pagaminti lustai su papildoma radiacine apsauga. Pavyzdžiui, norint išlaikyti skrydį, reikia valdymo kilpos, veikiančios 500 ciklų per sekundę, ir vaizdo analizės 30 kadrų per sekundę greičiu.

„Snapdragon 801 SoC“ (keturių branduolių, 2.26 GHz, 2 GB RAM, 32 GB „Flash“) maitina pagrindinę „Linux“ sistemos aplinką, kuri yra atsakinga už aukšto lygio operacijas, tokias kaip vaizdo navigacija, pagrįsta kameros vaizdo analize, duomenų valdymu, apdorojimu. komandas, generuoti telemetriją ir palaikyti belaidžio ryšio kanalą.

Procesorius UART sąsaja sujungtas su dviem mikrovaldikliais (MCU Texas Instruments TMS570LC43x, ARM Cortex-R5F, 300 MHz, 512 KB RAM, 4 MB Flash, UART, SPI, GPIO), kurie atlieka skrydžio valdymo funkcijas. Du mikrovaldikliai naudojami dubliavimui gedimo atveju ir iš jutiklių gauna identišką informaciją. Tik vienas mikrovaldiklis yra aktyvus, o antrasis naudojamas kaip atsarginis ir gedimo atveju gali perimti valdymą. MicroSemi ProASIC3L FPGA yra atsakingas už duomenų perdavimą iš jutiklių į mikrovaldiklius ir už sąveiką su mentes valdančiomis pavaromis, kurios gedimo atveju taip pat persijungia į atsarginį mikrovaldiklį.

NASA „Ingenuity Mars“ raketoje naudojo „Linux“ ir atvirojo kodo programinę įrangą

Be įrangos, drone naudojamas lazerinis aukščiamatis iš „SparkFun Electronics“, įmonės, gaminančios atvirojo kodo aparatinę įrangą ir kuri yra viena iš atvirojo kodo aparatinės įrangos (OSHW) apibrėžimo kūrėjų. Kiti tipiški komponentai yra gimbalinis stabilizatorius (IMU) ir vaizdo kameros, naudojamos išmaniuosiuose telefonuose. Viena VGA kamera naudojama vietai, krypčiai ir greičiui sekti lyginant kiekvieną kadrą. Antroji 13 megapikselių spalvota kamera naudojama teritorijai fotografuoti.

Skrydžio valdymo programinės įrangos komponentai buvo sukurti NASA JPL (Jet Propulsion Laboratory), skirti mažiems ir ypač mažiems dirbtiniams Žemės palydovams (kubatams) ir buvo kuriami keletą metų kaip atviros platformos F Prime (F'), platinamos pagal Apache 2.0 licencija.

„F Prime“ teikia įrankius greitam skrydžių valdymo sistemų ir susijusių įterptųjų programų kūrimui. Skrydžio programinė įranga yra padalinta į atskirus komponentus su aiškiai apibrėžtomis programavimo sąsajomis. Be specializuotų komponentų, siūlomas C++ karkasas su įdiegtomis tokiomis funkcijomis kaip pranešimų eiliškumas ir kelių gijų sudarymas, taip pat modeliavimo įrankiai, leidžiantys sujungti komponentus ir automatiškai generuoti kodą.

NASA „Ingenuity Mars“ raketoje naudojo „Linux“ ir atvirojo kodo programinę įrangą


Šaltinis: opennet.ru

Добавить комментарий