Hoe Nasa een Mars-helikopter ontwierp (video’s)

Afgelopen donderdagavond heeft iedereen kunnen zien hoe de Perseverance Rover succesvol landde op Mars. Wat nog te bezien valt, is hoe de Ingenuity gaat presteren. De Amerikanen zijn namelijk van plan om als eersten met een kleine automatische helikopter rond te vliegen in de zeer koude en ijle Mars-atmosfeer.

Ingenuity is zo groot als een doos tissues, weegt 1,8 kilo, en hangt met zijn vier spichtige poten onder een paar koolstofvezelrotors van 1,2 meter lengte. De helikopter hoeft niets ingewikkelds te doen, omdat alles aan de Mars-helikopter zelf al inherent gecompliceerd is. Het vliegen met een helikopter op Mars is om een ​​aantal redenen ongelooflijk uitdagend, waaronder de zeer dunne atmosfeer (slechts 1% van de dichtheid van de aarde), de genadeloze stroombeperkingen en de communicatiebeperkingen. Ingenuity moet een reeks vluchten van 90 seconden proberen uit te voeren, terwijl hij 10 lichtminuten van de aarde verwijderd is. Wat betekent dat realtime communicatie of controle onmogelijk is.

Om te begrijpen hoe Nasa dit mogelijk maakt, sprak ingenieursvereniging IEEE met Tim Canham, hoofd Mars Helicopter Operations bij Nasa’s Jet Propulsion Laboratory (JPL). Canham hielp bij het ontwikkelen van de softwarearchitectuur waarop Ingenuity draait.

IEEE Spectrum: Wat kunt u ons vertellen over de hardware van Ingenuity?

Canham: Aangezien Ingenuity is geclassificeerd als een technologiedemo, is JPL bereid meer risico te nemen. De belangrijkste onbemande projecten, zoals rovers en verkenners van de ruimte, zijn zogenaamde klasse B-missies, waarin veel mensen jarenlang aan robuuste hardware en software werken. Met een technologiedemo is JPL bereid om nieuwe manieren te proberen om dingen te doen. Dus we gingen er in wezen op uit en gebruikten veel standaard hardware voor consumenten.

Er zijn enkele elektronische componenten die erg taai en stralingsbestendig zijn, maar veel van de technologie is van commerciële kwaliteit. Het processorbord dat we hebben gebruikt, is bijvoorbeeld een Snapdragon 801, die is gemaakt door Qualcomm. Het is in wezen een processor van de gsm-klasse en het bord is erg klein. Maar ironisch genoeg, omdat het relatief moderne technologie is, is het veel krachtiger dan de processors die op de rover vliegen. We hebben eigenlijk een paar ordes van grootte meer rekenkracht dan de rover, omdat we die nodig hebben. Onze geleidingslussen draaien op 500 Hz om de controle te behouden in de atmosfeer waarin we vliegen. Bovendien maken we beelden en analyseren we functies en volgen we ze van frame tot frame met 30 Hz, en zo daar is behoorlijk serieuze rekenkracht voor nodig. En geen van de vliegtuigelektronica waarmee NASA momenteel vliegt, is nergens krachtig genoeg. In sommige gevallen hebben we letterlijk onderdelen besteld bij SparkFun [Electronics]. Onze filosofie was: "dit is commerciële hardware, maar we zullen het testen, en als het goed werkt, zullen we het gebruiken."

ingenuityArtist impression, Nasa

Kun je beschrijven welke sensoren Ingenuity gebruikt voor navigatie?

We gebruiken een IMU voor mobiele telefoons, een laserhoogtemeter (van SparkFun) en een naar beneden gerichte VGA-camera voor het volgen van monoculaire functies. Enkele tientallen features worden frame tegen frame vergeleken om de relatieve positie te volgen om de richting en snelheid te bepalen, en dat is hoe de helikopter navigeert. Het wordt allemaal gedaan door positie-inschattingen, in tegenstelling tot het onthouden van elementen of het maken van een kaart.

We hebben ook een inclinometer die we gebruiken om de kanteling van de grond net tijdens het opstijgen vast te stellen, en we hebben een 13 megapixel kleurencamera van gsm-kwaliteit die niet wordt gebruikt voor navigatie, maar we gaan proberen om wat mooie foto’s te maken. terwijl we vliegen. Het heet de RTE, omdat alles een acroniem moet hebben. Er was een idee om al vroeg gevaarherkenning in het systeem in te voeren, maar we hadden niet de planning om dat te doen.


 

Bekijk hier hoe je je eigen Mars Perseverance Rover kunt 3D-printen


 

In welke zin opereert de helikopter autonoom?

Je kunt de helikopter in sommige opzichten bijna zien als een traditioneel JPL-ruimtevaartuig. Het heeft een sequencing-engine aan boord en we schrijven een reeks sequenties, een reeks commando’s, en we uploaden dat bestand naar de helikopter en het voert die commando’s uit. We plannen het begeleidingsgedeelte van de vluchten op de grond in simulatie als een reeks waypoints, en die waypoints zijn de reeks opdrachten die we naar de begeleidingssoftware sturen. Als we willen dat de helikopter vliegt, zeggen we dat hij moet gaan, en de begeleidingssoftware neemt het over en begint met opstijgen, doorkruisen naar de verschillende waypoints en dan landen.

Dit betekent dat de vluchten heel specifiek worden gepland. Er is geen echte autonomie, in de zin dat we Ingenuity geen doelen en regels hebben gegeven en dat het niet op hoog niveau redeneert. Het is een soort van halve autonomie. De brute kracht zou een mens zijn die daar zit en hem rondvliegt met joysticks, en dat kan natuurlijk niet op Mars. Er was echter geen tijd om een volledige autonomie te ontwikkelen, dus we vertellen de helikopter van tevoren het vluchtplan en hij voert dat traject uit. Terwijl hij vliegt, probeert hij autonoom te zorgen dat hij op zijn traject blijft ondanks windstoten en andere invloeden uit de omgeving.

Is er een situatie waarin iets ertoe kan leiden dat de helikopter besluit af te wijken van het vooraf geplande traject?

De geleidingssoftware zorgt er altijd voor dat alle sensoren gezond zijn en goede gegevens produceren. Als een sensor wankel wordt, heeft de helikopter echt één reactie, namelijk om de laatste gepropageerde staat te nemen en gewoon te proberen te landen en ons dan te vertellen wat er is gebeurd en te wachten wat wij ermee doen. De helikopter zal niet proberen zijn vlucht voort te zetten als een sensor defect raakt. Alle drie de sensoren die we tijdens de vlucht gebruiken, zijn nodig om de vlucht te voltooien vanwege de manier waarop hun gegevens met elkaar zijn versmolten.

Hoe beslist u waar u naartoe wilt vliegen?

Op basis van de rotsigheid, de helling en zelfs hoe gestructureerd het gebied is voor het volgen van objecten, zullen we een locatie selecteren waar de helikopter kan opereren. Er zijn enkele afwegingen, want het veiligste oppervlak is er een die geen kenmerken heeft, zonder rotsen, maar dat is ook het slechtste oppervlak om feature-tracking op te doen, dus we moeten een balans vinden die een aantal kleine rotsen kan bevatten die goede features zijn om te volgen, maar geen grote rotsen die het moeilijker maken om te landen.

Is er nog iets dat u met ons kunt delen dat ingenieurs misschien bijzonder interessant vinden?

Dit is de eerste keer dat we met Linux op Mars vliegen. We draaien eigenlijk op een Linux-besturingssysteem. Het softwareframework dat we gebruiken, is er een dat we bij JPL hebben ontwikkeld voor cubesats en instrumenten, en we hebben het een paar jaar geleden open source gemaakt. Dus iedereen kan het softwareframework krijgen dat op de Mars-helikopter vliegt en het voor zijn eigen project gebruiken. Het is een soort opensource-overwinning, want we vliegen met een open-source-besturingssysteem en een open-source-vluchtsoftwareframework en vliegende commerciële onderdelen die je standaard kunt kopen als je dit ooit zelf zou willen doen. Dit is iets nieuws voor JPL omdat ze geneigd zijn te houden van wat erg veilig en bewezen is, maar veel mensen zijn er erg enthousiast over en we kijken er echt naar uit om het te doen.

Hieronder volgen 2 video’s.

Eerst een animatie van de Ingenuity: En de beelden van de Mars-landing op 18 februari 2021: