Η NASA πέταξε στον Άρη χρησιμοποιώντας ανοιχτό λογισμικό LINUX

 

Το Perseverance έφτασε την ατμόσφαιρα του Άρη με ταχύτητα 19.000 χιλιόμετρα την ώρα και επτά λεπτά αργότερα, η NASA προσγείωσε απαλά και με ασφάλεια τον τελευταίο της rover. Σε απόσταση 11-λεπτών φωτός από τη Γη, δεν υπήρχε τίποτα εύκολο σε αυτό. Είναι αλήθεια ότι ο Άρης έχει μόνο το ένα τρίτο της βαρύτητας της Γης, αλλά η ατμόσφαιρα του Άρη έχει μόνο το ένα εκατοστό της πυκνότητας του αέρα της Γης.

Ένα κινητό εργαστήριο ενός τόνου και ο μικροσκοπικός σύντροφός του, το ελικόπτερο drone Ingenuity. Το Ingenuity είναι καθαρά ένα τεχνολογικό πείραμα. Δεν έχει σχεδιαστεί για να υποστηρίζει την αποστολή του Perseverance, η οποία είναι η αναζήτηση σημαδιών αρχαίας ζωής, και η συλλογή δειγμάτων από βράχους και χώμα για μεταγενέστερες αποστολές μετά την επιστροφή στη Γη. Η αποστολή του Ingenuity είναι να αποδείξει ότι είναι πιθανή η πτήση στον Άρη χρησιμοποιώντας εμπορικό υλικό off-the-shelf (COTS) και λογισμικό ανοιχτού κώδικα.

Σε μια συνέντευξη του IEEE Spectrum, ο Timothy Canham, JPL Embedded Flight Software Engineer, εξήγησε ότι η πλακέτα του επεξεργαστή του ελικοπτέρου τροφοδοτείται από ένα Qualcomm Snapdragon 801 που λειτουργεί στα 500 Hz, όχι MegaHertz, Hertz.

Αν και αυτό μπορεί να σας ακούγεται πολύ αργό, είναι πολύ πιο γρήγορο από τους επεξεργαστές του Perseverance. Αυτό συμβαίνει επειδή οι επεξεργαστές και τα chips της NASA πρέπει να πληρούν τα πρότυπα ακτινοβολίας Spaceflight Computing (HPSC) της NASA.

Όσο για το λογισμικό, ο Canham ανέφερε,

Αυτή είναι η πρώτη φορά που θα πετάξουμε με το Linux στον Άρη. Στην πραγματικότητα λειτουργούμε με λειτουργικό σύστημα Linux. Το software framework που χρησιμοποιούμε είναι αυτό που αναπτύξαμε στο JPL για CubeSats και όργανα, και το αποκτήσαμε πριν από λίγα χρόνια. Έτσι, μπορείτε να έχετε το software framework που πετά ένα ελικόπτερο στον Άρη και να το χρησιμοποιήσετε στο δικό σας project. Είναι ένα είδος νίκης του ανοιχτού κώδικα επειδή πετάμε ένα λειτουργικό σύστημα ανοιχτού κώδικα και ένα software framework πτήσης ανοιχτού κώδικα, με εμπορικά ανταλλακτικά που μπορείτε να αγοράσετε από κάποιο ράφι αν θέλετε να το κάνετε και σεις μια μέρα.

Αυτό το λογισμικό ανοιχτού κώδικα είναι F´. Είναι ένα framework που επιτρέπει την ταχεία ανάπτυξη λογισμικού διαστημικών πτήσεων. Το F´ έχει αναπτυχθεί επιτυχώς σε αρκετές διαστημικές εφαρμογές. Είναι προσαρμόσιμο αλλά δεν περιορίζεται σε συστήματα διαστημικής πτήσης μικρής κλίμακας όπως το CubeSats, το SmallSats και, τώρα, ένα ελικόπτερο που πετάει μόνο του.

Ο Διευθύνων Σύμβουλος του GitHub Nat Friedman και η ομάδα του και το πλήρωμα JPL Ingenuity εξέτασαν τον κώδικα του ελικοπτέρου και διαπίστωσαν ότι «σχεδόν 12.000 προγραμματιστές στο Github συνέβαλαν στο λογισμικό της Ingenuity, μέσω ανοιχτού κώδικα. Ωστόσο οι περισσότεροι από αυτούς τους προγραμματιστές δεν γνωρίζουν καν ότι βοήθησαν να καταστεί δυνατή η πρώτη πτήση με ελικόπτερο του Άρη«.

Ο Friedman έγραψε: «Σήμερα, θέλουμε να κάνουμε το αόρατο ορατό. Έτσι, συνεργαστήκαμε με την JPL για να τοποθετήσουμε ένα νέο σήμα Mars 2020 Helicopter Mission στο προφίλ GitHub σε κάθε προγραμματιστή που συνέβαλε στις συγκεκριμένες εκδόσεις οποιωνδήποτε έργων ανοιχτού κώδικα και βιβλιοθηκών που χρησιμοποιούνται από το Integenuity. »

Η λίστα προγραμματιστών δημιουργήθηκε από την JPL παρέχοντας στο GitHub μια ολοκληρωμένη λίστα με κάθε έκδοση κάθε έργου ανοιχτού κώδικα που χρησιμοποιεί το Ingenuity. Το GitHub θα μπορούσε τότε να προσδιορίσει όλους τους συνεισφέροντες που έκαναν αυτά τα έργα και τις εξαρτήσεις τους

Μερικοί από αυτούς που τιμήθηκαν, όπως ο δημιουργός του Linux Linus Torvalds, είναι διάσημοι προγραμματιστές. Πολλοί άλλοι εργάζονται σε αφάνεια – αλλά τώρα αναγνωρίζεται το έργο τους. Όπως εξήγησε ο διευθυντής των σχέσεων προγραμματιστών του GitHub, Martin Woodward: «Πολλοί από τους ανθρώπους που πήραν ένα σήμα πιθανώς δεν έχουν ιδέα ότι το λογισμικό τους χρησιμοποιείται για να πετάξει ένα ελικόπτερο σε ένα άλλο πλανήτη «

Ο Woodward συνέχισε: «Αυτό που βρίσκουμε είναι ότι υπάρχει μια ιεραρχία εξαρτήσεων. Ένα μεμονωμένο έργο μπορεί να έχει 10 ή λιγότερες εξαρτήσεις, αλλά κάθε εξάρτηση βασίζεται σε κάτι άλλο. Και με αυτόν τον τρόπο ένας απίστευτα μεγάλο αριθμός ατόμων έχουν συνεισφέρει σε ένα έργο.»

Ενώ το αποτέλεσμα, σε αυτήν την περίπτωση, είναι εξαιρετικό, σχεδόν όλο το λογισμικό αποστολής σήμερα βασίζεται σε εξαρτήματα ανοιχτού κώδικα. Ο Carol Willing, βασικός συντελεστής της Python, πρόσθεσε: «Μοιάζει πολύ με την πτώση ενός βότσαλου σε μια λίμνη, η μικρή συνεισφορά σας στη συνέχεια κυματίζει για να έχει πολύ μεγαλύτερο αντίκτυπο. Αυτή είναι μια από τις ομορφιές του ανοιχτού κώδικα, κάποιος άλλος μπορεί να πάρει την καλή δουλειά σας και να το κάνουμε ακόμα πιο δυνατό και νόημα.»

Για πολλούς συνεισφέροντες, είναι υπέροχο να βλέπουν το αφηρημένο έργο τους να μετατρέπεται σε κάτι τόσο απτό όσο ένα μικρό ελικόπτερο που πετά στον Άρη. «Αφού ξοδεύουμε πολύ χρόνο για διορθώσεις σφαλμάτων και συντήρηση, είναι αναζωογονητικό να ακούμε για όλα τα ωραία πράγματα που επιτρέπει η Python», λέει ο Benjamin Peterson, ένας άλλος βασικός συντηρητής της Python και ο δημιουργός της βιβλιοθήκης Six της Python .

Οι προγραμματιστές JPL έχουν από καιρό χρησιμοποιήσει και συνεισφέρουν σε έργα ανοιχτού κώδικα. Όμως, με το F ‘, για πρώτη φορά, η JPL ξεκίνησε το δικό της έργο ανοιχτού κώδικα. Αυτό συμβαίνει επειδή, σύμφωνα με τον Jeff Levison, επιβλέποντα της JPL της ομάδας λογισμικού πτήσης μικρής κλίμακας, υπήρχαν λίγες εφαρμογές για το λογισμικό πτήσης της JPL εκτός της NASA. «Δεν είχε νόημα στο παρελθόν, επειδή το λογισμικό μας συνδυάζονταν με πολύ συγκεκριμένο και προσαρμοσμένο υλικό», εξηγεί ο Levison. «Δεν υπήρχε πραγματική ανάγκη ή όφελος στην κυκλοφορία του στο κοινό.»

Όταν το πρώτο ρομποτικό Starship του Elon Musk, Heart of Gold θα πετάξει στον Άρη αργότερα αυτή τη δεκαετία, θα καθοδηγείται επίσης από το Linux και το λογισμικό θα είναι ανοιχτού κώδικα.

Πηγή: greek-tech-gr.blogspot.com