GitHub分享阿波罗登月计划所用计算机开源项目
【摘要】 That's one small step for man, one giant leap for mankind.——Armstrong
这是一个人的一小步,确是人类的一大步。——阿姆斯特朗
阿波罗11号的宇航员阿姆斯特朗,在人类第一次踏上月球之后说的第一句话。
阿波罗计划,是美国1961年至1972年期间,实施的一系列的载人登月活动。
在1960年代末和197...
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。
月球舱只有一个DSKY,位于两名宇航员之间,任何一名宇航员都可以操作它。命令模块实际上有两个DSKY。CM的一个DSKY只是主控制面板,而另一个则位于用于标记恒星或其他地标位置的光学设备附近。
该GitHub项目与虚拟AGC项目的网站关联,项目提供一个虚拟机,用于模拟AGC、DSKY和导航系统的其他部分。换句话说,如果我们称之为yaAGC的虚拟机被赋予了最初由真实的AGC运行的相同软件,并且在阿波罗任务期间反馈真实的ACG遇到的相同输入信号,那么它将以与真实的ACG相同的方式响应。
当前版本的虚拟AGC软件设计用于Linux、Windows XP/Vista/7和Mac OS X 10.3或更高版本(但最好是10.5或更高版本)。它至少在一些版本的FreeBSD中也能工作。作者主要发力的是Linux版本,因此有感兴趣的小伙伴,可以尽量选择Linux版本。
运行起来大概是这样子的——
GitHub地址:https://github.com/virtualagc/virtualagc
文章来源: handsome-man.blog.csdn.net,作者:不脱发的程序猿,版权归原作者所有,如需转载,请联系作者。
原文链接:handsome-man.blog.csdn.net/article/details/86751068
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)