GitHub分享阿波罗登月计划所用计算机开源项目

网友投稿 703 2022-05-29

That's one small step for man, one giant leap for mankind.——Armstrong

这是一个人的一小步,确是人类的一大步。——阿姆斯特朗

阿波罗11号的宇航员阿姆斯特朗,在人类第一次踏上月球之后说的第一句话。

阿波罗计划,是美国1961年至1972年期间,实施的一系列的载人登月活动。

在1960年代末和1970年代初用于月球任务的阿波罗飞船实际上是两种不同的航天器,即指挥舱(CM)和月球舱(LM)。

CM被用来把三名宇航员送上月球,然后再返回。CM带着一名宇航员在月球轨道上运行的时候,LM被用来将另外两名宇航员送上月球。

每一个航天器都需要能够在宇航员的帮助下在太空中航行,因此需要有一个“导航系统”。导航系统是由麻省理工学院的仪器实验室开发的,该实验室现在是一家名为查尔斯·斯塔克·德雷珀实验室的独立公司。

导航系统的一个重要组成部分是阿波罗导航计算机,简称“AGC”。在任何给定的阿波罗任务中,都有两个自动增益控制系统,一个用于指挥模块,另一个用于月球模块。

这两个自动增益控制系统是相同和可互换的,但它们运行不同的软件,因为航天器必须执行的任务是不同的。

此外,由AGC运行的软件随着时间的推移而不断发展,因此在阿波罗17号等后续任务中使用的AGC软件与阿波罗8号等早期任务略有不同。

AGC在现代标准下可以被视为一台严重低能的计算机。

偶尔会有人开玩笑,说AGC更像是一个计算器,而不是一台计算机。但要说这是严重低估了AGC的复杂性。例如,AGC是多任务的,因此它看起来可以同时运行多个程序。

导航系统的另一个重要部分是显示器/键盘单元,或者简称为“DSKY”。自动增益控制系统本身就是一个带有电气连接的盒子,没有任何内置方式供宇航员进入。DSKY为宇航员提供了一个接口,通过该接口可以访问AGC。

GitHub分享阿波罗登月计划所用计算机开源项目

月球舱只有一个DSKY,位于两名宇航员之间,任何一名宇航员都可以操作它。命令模块实际上有两个DSKY。CM的一个DSKY只是主控制面板,而另一个则位于用于标记恒星或其他地标位置的光学设备附近。

Github项目与虚拟AGC项目的网站关联,项目提供一个虚拟机,用于模拟AGC、DSKY和导航系统的其他部分。换句话说,如果我们称之为yaAGC的虚拟机被赋予了最初由真实的AGC运行的相同软件,并且在阿波罗任务期间反馈真实的ACG遇到的相同输入信号,那么它将以与真实的ACG相同的方式响应。

运行起来大概是这样子的——

GitHub地址:https://github.com/virtualagc/virtualagc

Git GitHub

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:计算机组成原理 — 冯诺依曼体系结构
下一篇:PhpStorm中如何使用Xdebug工具,入门级操作方法
相关文章