NASA använde Linux och programvara med öppen källkod i Ingenuity Mars-raketen

Representanter för NASAs rymdorganisation avslöjade i en intervju med Spectrum IEEE detaljer om insidan av den autonoma spaningshelikoptern Ingenuity, som framgångsrikt landade på Mars i går som en del av Mars 2020-uppdraget. En speciell egenskap i projektet var användningen av ett styrkort baserat på Snapdragon 801 SoC från Qualcomm, som används vid tillverkning av smartphones. Ingenuitys programvara är baserad på Linux-kärnan och flygprogramvara med öppen källkod. Det noteras att detta är den första användningen av Linux i enheter som skickas till Mars. Dessutom gör användningen av programvara med öppen källkod och allmänt tillgängliga hårdvarukomponenter det möjligt för intresserade entusiaster att montera liknande drönare på egen hand.

Detta beslut beror på att styrning av en flygande drönare kräver betydligt mer datorkraft än att styra en Marsrover, som är utrustad med specialtillverkade chip med extra strålskydd. För att upprätthålla flygning krävs till exempel en kontrollslinga som körs med 500 cykler per sekund och bildanalys med 30 bilder per sekund.

Snapdragon 801 SoC (fyrkärnig, 2.26 GHz, 2 GB RAM, 32 GB Flash) driver den centrala Linux-baserade systemmiljön, som ansvarar för högnivåoperationer som visuell navigering baserad på kamerabildanalys, datahantering, bearbetning kommandon, generering av telemetri och underhåll av en trådlös kommunikationskanal.

Processorn är ansluten med ett UART-gränssnitt till två mikrokontroller (MCU Texas Instruments TMS570LC43x, ARM Cortex-R5F, 300 MHz, 512 KB RAM, 4 MB Flash, UART, SPI, GPIO), som utför flygkontrollfunktioner. Två mikrokontroller används för redundans vid fel och tar emot identisk information från sensorerna. Endast en mikrokontroller är aktiv, och den andra används som reserv och kan i händelse av fel ta över kontrollen. MicroSemi ProASIC3L FPGA ansvarar för att överföra data från sensorerna till mikrokontrollerna och för att interagera med ställdonen som styr bladen, som också byter till en reservmikrokontroller vid fel.

NASA använde Linux och programvara med öppen källkod i Ingenuity Mars-raketen

Bland utrustningen använder drönaren en laserhöjdmätare från SparkFun Electronics, ett företag som producerar hårdvara med öppen källkod och är en av skaparna av definitionen av hårdvara med öppen källkod (OSHW). Andra typiska komponenter inkluderar gimbal stabilisator (IMU) och videokameror som används i smartphones. En VGA-kamera används för att spåra plats, riktning och hastighet genom att jämföra bildruta för bildruta. Den andra 13-megapixelfärgkameran används för att ta bilder av området.

Programvarukomponenterna för flygkontroll utvecklades vid NASA JPL (Jet Propulsion Laboratory) för små och ultrasmå konstgjorda jordsatelliter (cubesats) och har utvecklats under flera år som en del av den öppna plattformen F Prime (F´), distribuerad under Apache 2.0-licens.

F Prime tillhandahåller verktyg för snabb utveckling av flygkontrollsystem och relaterade inbyggda applikationer. Flygmjukvaran är uppdelad i individuella komponenter med väldefinierade programmeringsgränssnitt. Förutom specialiserade komponenter erbjuds ett C++-ramverk med implementering av sådana funktioner som meddelandekö och multithreading, samt modelleringsverktyg som låter dig ansluta komponenter och automatiskt generera kod.

NASA använde Linux och programvara med öppen källkod i Ingenuity Mars-raketen


Källa: opennet.ru

Lägg en kommentar