Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Chroniqueur Actualités

    Les codes sources du module lunaire Apollo 11 (Luminary099) et du module de commande (Comanche055)
    Les codes sources du module lunaire Apollo 11 (Luminary099) et du module de commande (Comanche055),
    sont disponibles en open source

    L'Apollo Guidance Computer (AGC) est l'ordinateur embarqué de navigation et de pilotage installé dans les vaisseaux spatiaux des missions Apollo. C'est le premier ordinateur à avoir recours aux circuits intégrés (CI). Il y avait un AGC dans le module de commande et un autre dans le module lunaire Apollo utilisé en temps réel par l'astronaute-pilote pour recueillir et fournir des informations de vol, et pour le contrôle automatique de toutes les fonctions de navigation du vaisseau spatial.

    L'AGC est un ordinateur effectuant des traitements en temps réel. Il est multitâche (jusqu'à 6 tâches exécutées en parallèle). La mémoire utilise des mots de 16 bits : elle est composée de 72 ko (36 864 mots) de mémoire morte contenant l'ensemble des programmes et de 4 ko (2 048 mots) de mémoire vive (effaçable) utilisée par les traitements. Les deux types de mémoire sont constituées de tores magnétiques : les programmes sont implantés dans l'ordinateur à la fabrication. Le processeur est constitué de plus de 5 000 portes NOR réalisées à l'aide de circuits intégrés. Il pèse environ 32 kg.

    Lors de la mission Apollo 8, première satellisation autour de la Lune, la navigation fut quasi autonome, à partir des données de la centrale inertielle et des mesures angulaires effectuées au sextant par l'équipage. Les missions suivantes firent davantage appel à des mesures de vitesse et de positions obtenues à partir d'antennes au sol.

    Chaque vol à destination de la Lune (à l'exception d'Apollo 8, qui n'a pas pris de Module Lunaire dans sa mission en orbite lunaire) avait deux AGCS, l'un dans le module de commande et l'autre dans le module lunaire. L'AGC dans le module de commande était le centre du système de guidage, de navigation et contrôle de l'engin (GNC).
    Chaque mission lunaire avait également deux autres ordinateurs :
    • Un calculateur de vol sur l'instrumentation d'anneau du lanceur Saturn V, appelé le Launch Vehicle Digital Computer (LVDC) – ordinateur de série construit par IBM Federal Systems Division ;
    • Un ordinateur secondaire dans le module lunaire, désigné Abort Guidance System (AGS), construit par TRW et destiné à être utilisé en cas d'échec de la PGNCS (Primary Guidance, Navigation and Control System). L'AGS peut être utilisé pour décoller de la Lune et assurer le rendez-vous avec le module de commande, mais pas pour l'atterrissage. Lorsqu'il est activé, il déclenche automatiquement la séparation du module de remontée (AM, Ascent Module) du LEM de celui de descente (PDM, Powered Descent Module).



    Le code source de l’AGC pour la commande et les modules lunaires

    Le code source original de l'ordinateur de guidage Apollo 11 pour le module de commande (Comanche055) et le module lunaire (Luminary099) a été numérisé par des personnes du Virtual AGC et du MIT Museum. Le but est d'être un référentiel pour le code source original d'Apollo 11. Les pull request sont les bienvenus pour tous les problèmes identifiés entre les transcriptions dans le référentiel et les scans source originaux pour Luminary 099 et Comanche 055, ainsi que pour tous les fichiers qui ont été oubliés.


    Concernant Comanche055, il s’agit de la partie du code source de Colossus 2A, le module de commande (CM) Ordinateur embarqué de navigation (AGC), pour Apollo 11. Concernant Luminary099, il s’agit de la partie du code source de Luminary 1A, le module de lunaire (LM) Ordinateur embarqué de navigation (AGC), pour Apollo 11.

    Sur le site Web, il est expliqué que le but de ce projet est de fournir des simulations informatiques des ordinateurs de guidage embarqués utilisés dans les missions lunaires du programme Apollo - mais principalement du calculateur de guidage Apollo (AGC) utilisé dans le module de commande et le module lunaire - et de vous permettre d'en savoir plus sur ces ordinateurs de guidage. Étant donné que les ressources disponibles dans ce projet ont tellement augmenté au fil des ans, son exploration pour la première fois peut être assez intimidante. Aussi, les personnes à l'origine du projet vous invitent à consulter une page d'introduction « plus douce » avant de vous plonger dans les détails présentés par la plus grande partie du site.


    En savoir plus

    Source : référentiel GitHub

    Voir aussi :

    Ludwig : le framework open source de deep learning d'Uber permet de former et tester des modèles sans écrire de code
    Facebook publie en open source Hermes, un moteur JavaScript léger optimisé pour exécuter React Native sur Android
    Mattermost lève 50 MM$ pour faire progresser son alternative à Slack et rêve d'un service de messagerie open source mainstream en entreprise
    GitHub supprime de sa plateforme les versions open source de DeepNude, l'application qui crée des images de femmes nues en quelques secondes
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre éclairé
    Quelqu'un comprend quelque chose au code ?

  3. #3
    Futur Membre du Club
    c'est pourtant simple.. franchement

    bref, c'est aussi utile que de pressurisé un habitacle spatial a l'oxygène pur....

  4. #4
    Membre extrêmement actif
    Sérieusement ? Ils avaient besoin de créer un langage encore moins compréhensible que l'assembleur ?
    J'ai fais des fautes dans mon message ? Bah ça arrive... Tout le monde fait des fautes, je ne fais pas exception. Des fois parce que j'écris trop vite, parfois parce que je suis fatiguée, parfois parce que je ne me relis pas parce que je n'ai pas le temps, ou la flemme (genre à 4h du matin).
    Alors si vous voulez me répondre sur le fond de mon message en glissant un petit "fait attention aux fautes" OK. Mais si votre message consiste juste à surligner toutes les fautes comme un maniaque, sans rien apporter à la discussion, faites-le par MP, ça évitera de polluer.
    Merci

  5. #5
    Nouveau membre du Club
    Citation Envoyé par TheLastShot Voir le message
    Sérieusement ? Ils avaient besoin de créer un langage encore moins compréhensible que l'assembleur ?
    En même temps le code date d'avant 1969...

  6. #6
    Membre extrêmement actif
    Citation Envoyé par dragonofmercy Voir le message
    En même temps le code date d'avant 1969...
    C'était une boutade.... En plus leur langage est surement un langage "assembleur" avec des instructions spécifiques à leur matériel (comme c'est plus ou moins le cas pour chaque processeur, il n'y a d'ailleurs pas qu'un seul langage assembleur).
    J'ai fais des fautes dans mon message ? Bah ça arrive... Tout le monde fait des fautes, je ne fais pas exception. Des fois parce que j'écris trop vite, parfois parce que je suis fatiguée, parfois parce que je ne me relis pas parce que je n'ai pas le temps, ou la flemme (genre à 4h du matin).
    Alors si vous voulez me répondre sur le fond de mon message en glissant un petit "fait attention aux fautes" OK. Mais si votre message consiste juste à surligner toutes les fautes comme un maniaque, sans rien apporter à la discussion, faites-le par MP, ça évitera de polluer.
    Merci

  7. #7
    Membre expérimenté
    N'ayant ni le CPU ni aucun matériel s'y rapprochant, ça n'a vraiment aucun intérêt. ou alors ils mettent a minima le CPU et le module entier en open Source. C'est comme si la pierre de rosette ne contenait que l'égyptien elle aurait perdu tout son intérêt même public. C'est qu'une fois l'égyptien décrypté que tous les hiéroglyphes ont eu un intérêt.
    Tout ce que j'écris est libre de droits (Licence CC0) et je vous incite à faire de même.

  8. #8
    Membre extrêmement actif
    Citation Envoyé par abriotde Voir le message
    N'ayant ni le CPU ni aucun matériel s'y rapprochant, ça n'a vraiment aucun intérêt. ou alors ils mettent a minima le CPU et le module entier en open Source. C'est comme si la pierre de rosette ne contenait que l'égyptien elle aurait perdu tout son intérêt même public. C'est qu'une fois l'égyptien décrypté que tous les hiéroglyphes ont eu un intérêt.
    C'est pas tant le CPU qu'il faudrait, mais le doc du CPU. Car en effet comme ça, ça ne sert à rien car on ne comprend même pas le langage. En revanche avec la doc du CPU on pourrait comprendre le fonctionnement du bousin.
    J'ai fais des fautes dans mon message ? Bah ça arrive... Tout le monde fait des fautes, je ne fais pas exception. Des fois parce que j'écris trop vite, parfois parce que je suis fatiguée, parfois parce que je ne me relis pas parce que je n'ai pas le temps, ou la flemme (genre à 4h du matin).
    Alors si vous voulez me répondre sur le fond de mon message en glissant un petit "fait attention aux fautes" OK. Mais si votre message consiste juste à surligner toutes les fautes comme un maniaque, sans rien apporter à la discussion, faites-le par MP, ça évitera de polluer.
    Merci

  9. #9
    Expert confirmé
    72ko de mémoire, à base de tores magnétiques, à 400.000km de la terre...j'imagine l'angoisse des codeurs lors d' Apollo 11.

    Quand à la motivation d' Amstrong et Aldrin, pour rentrer dans cette boite en alu, avec le recul, je trouve cela hallucinant
    «La pluralité des voix n'est pas une preuve, pour les vérités malaisées à découvrir, tant il est bien plus vraisemblable qu'un homme seul les ait rencontrées que tout un peuple.» [ René Descartes ] - Discours de la méthode

  10. #10
    Membre extrêmement actif
    Citation Envoyé par psychadelic Voir le message
    Quand à la motivation d' Amstrong et Aldrin, pour rentrer dans cette boite en alu, avec le recul, je trouve cela hallucinant
    Oui enfin les astronautes étaient sélectionnés parmi les pilotes d'essais, donc habitués à piloter des engins que personne n'avait testé avant... Donc c'était pas spécialement le courage ou la témérité qui leur faisait défaut à la base.
    J'ai fais des fautes dans mon message ? Bah ça arrive... Tout le monde fait des fautes, je ne fais pas exception. Des fois parce que j'écris trop vite, parfois parce que je suis fatiguée, parfois parce que je ne me relis pas parce que je n'ai pas le temps, ou la flemme (genre à 4h du matin).
    Alors si vous voulez me répondre sur le fond de mon message en glissant un petit "fait attention aux fautes" OK. Mais si votre message consiste juste à surligner toutes les fautes comme un maniaque, sans rien apporter à la discussion, faites-le par MP, ça évitera de polluer.
    Merci

  11. #11
    Membre expert
    Citation Envoyé par psychadelic Voir le message
    72ko de mémoire, à base de tores magnétiques, à 400.000km de la terre...j'imagine l'angoisse des codeurs lors d' Apollo 11.
    Ce qui est fou est qu'il nous faudrait une éternité pour y retourner. Quand on voit le peu de technologie qu'ils avaient comparé à aujourd'hui, j'ai du mal à comprendre pourquoi il nous faut autant de temps (et d'argent) pour retourner sur la Lune vu nos technologies actuelles. De plus la NASA n'a visiblement pas "perdu la recette" pour aller sur la Lune à en juger par ces libérations de code.

    Pourquoi est-ce donc aussi long ? À moins que...
    "Ils ne savaient pas que c'était impossible alors ils l'ont fait." Mark Twain

    Mon client Twitter Qt cross-platform Windows et Linux. (en cours de développement).

  12. #12
    Responsable 2D/3D/Jeux

    A tous ceux qui sont intéressés par cette news, je conseille cette conférence :
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.