I en intervju med Spectrum IEEE avslöjade NASA-tjänstemän detaljer om hårdvaran i den autonoma spaningshelikoptern Ingenuity, som framgångsrikt landade på Mars igår som en del av Mars 2020-uppdraget. Projektets viktigaste funktion är användningen av ett styrkort baserat på Qualcomm Snapdragon 801 SoC, som används i smartphones. Ingenuitys programvara är baserad på kärnan Linux och öppen flygprogramvara. Det noteras att detta är den första användningen Linux I de enheter som skickas till Mars. Dessutom gör användningen av öppen källkodsprogramvara och kommersiellt tillgänglig hårdvara det möjligt för intresserade entusiaster att själva bygga liknande drönare.
Detta beslut beror på att styrning av en flygande drönare kräver betydligt mer datorkraft än styrning av en Marsrover, som är utrustad med specialtillverkade chips med extra skydd mot strålning. Till exempel kräver upprätthållande av flygning att styrslingan arbetar med en frekvens på 500 cykler per sekund, samt bildanalys med en frekvens på 30 bilder per sekund.
Snapdragon 801 SoC (fyra kärnor, 2.26 GHz, 2 GB RAM, 32 GB Flash) används för att tillhandahålla den grundläggande systemmiljön baserad på Linux, som ansvarar för att utföra operationer på hög nivå såsom visuell navigering baserad på kamerabildanalys, datahantering, kommandobehandling, telemetrigenerering och underhåll av en trådlös kommunikationskanal.
Processorn är ansluten via 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 som backup vid fel och tar emot identisk information från sensorerna. Endast en mikrokontroller är aktiv, och den andra används som backup och kan ta över kontrollen vid fel. FPGA MicroSemi ProASIC3L ansvarar för att överföra data från sensorerna till mikrokontrollerna och för att interagera med ställdonen som styr bladen, vilka också växlar till backup-mikrokontrollern vid fel.

Drönarens hårdvara inkluderar en laserhöjdmätare från SparkFun Electronics, ett företag som producerar öppen källkodshårdvara och är en av skaparna av definitionen av Open Source Hardware (OSHW). Andra typiska komponenter inkluderar en gyrostabilisator (IMU) och videokameror som används i smartphones. En VGA-kamera används för att spåra plats, riktning och hastighet genom jämförelse bild-för-bild. Den andra 13-megapixelfärgkameran används för att ta bilder av terrängen.
Programvarukomponenter för flygkontroll utvecklades vid NASA:s Jet Propulsion Laboratory (JPL) för små och ultrasmå artificiella jordsatelliter (Cubesats) och har utvecklats i flera år som en del av den öppna F Prime (F´)-plattformen, distribuerad under Apache 2.0-licensen.
F Prime tillhandahåller verktyg för snabb utveckling av flygkontrollsystem och relaterade inbyggda applikationer. Flygprogramvara är uppdelad i individuella komponenter med väldefinierade programgränssnitt. Förutom specialiserade komponenter erbjuds ett C++-ramverk med implementering av funktioner som meddelandeköbehandling och multitrådning, samt modelleringsverktyg som låter dig länka komponenter och automatiskt generera kod.

Källa: opennet.ru
