控制系统的一部分信息:有道理,但这篇文章应该还有个重点,控制系统的成本大大降低了
在航天圈里,有一种器件如贵族般存在:宇航级器件。
一个二极管只要上天验证成功,就可以从一个工业级十八线小明星跃升为宇航级一线大
明星,身价可以倍增上百倍甚至上万倍!
以现有载人飞船搭载的星载计算机和控制器举例,单个控制器价格为500万人民币左右
,一共14个系统,为了追求高可靠性,每个系统1+1备份,一共28个控制器,成本总计
约1.4亿人民币!
而SpaceX的龙飞船主控系统的芯片组,仅用了2.6万人民币,成本相差5384倍!
Elon Musk到底是如何做到的?
我们看以下几条重要的知识点:
SpaceX 猎鹰九号和龙飞船用的都是Intel双核的x86处理器;
操作系统用的是Linux,还有LabView和Matlab;
软件工程用的是C++,有些时候也用Python;
整个主控程序只有几十万行代码。
工业级器件小屌丝的困境:粒子翻转
航天器所有的器件要经历很苛刻很苛刻的环境。
首先发射时要禁得住剧烈的抖动和很高的温度,才能走出地球。
而真正的炼狱在入轨后才刚刚开始,面对太阳面的时候,温度迅速提升,最高到120°C
;背离太阳面的时候,温度骤减,最低到-150°C。
就这样90分钟一圈又一圈,周而复始,每圈都是270°C的温差。
而对于电子器件来说,温度不是最难熬的,最难熬的是太空中的辐射:
这些辐射有来自地球的召唤:地球磁场
也有来自太阳的问候:高能粒子
还可能有来自三体文明的问候:其他太阳系以外的粒子
而这些粒子,将引发电子器件的神经紊乱,专业名词是:粒子翻转。
它将很Surprise地告诉星载计算机和星载存储器:
“下面将是见证奇迹发生的一刻!”
“我要把1变成0,然后再把0变成1。”
有些人问了,多大点事啊,不就差个1吗?!
但是在比特界,差一位就可差之千里。
举个栗子:
如果指令20是向上爬升,指令24是停止推进,后果是难以想象的。
所以如果发生了1和0不分的情况,整个飞行器的运算结果曾导致非常大的灾难。
在1996年,阿里安501火箭,虽然没有粒子翻转,但是系统试图将一个64位的数字,放
到一个16位的地址里面去,随即发生了1/0错乱的现象。
结果在点火37秒后,火箭开始侧翻,随之爆炸,因为这个“小”问题,那次发射损失高
达3.7亿美金!
回到主题,既然粒子翻转这么恐怖,那SpaceX如何做到发现问题和解决问题的呢?
很简单:民主决策
技术名词叫:parity bits
同位位元
既然判断不了一个是否翻转,那就多放几个一样的设备,通过比较,把不一样的结果给
踢出去。
攒火箭硬件选择
上文提到,SpaceX没有选择用贵族宇航级器件,而是选择了经典厂牌Intel的X86双核处
理器,京东售价仅478元人民币(参考价为奔腾系列,赛扬更便宜):
而SpaceX也没有用双核做一件事,而是把双核拆成了两个单核,分别计算同样的数据。
每个系统配置3块芯片做冗余,也就是6个核做计算。
如果其中1个核的数据和其他5个核不同,那么主控系统会告诉这个核重新启动,再把其
他5个核的数据拷贝给重启的核,从而达到数据一直同步。
周而复始,不让一个核掉队。
据SpaceX前火箭总师John Muratore透露,龙飞船一共有18个系统,每个系统配置了3块
X86芯片,龙飞船一共有54块。
所以龙飞船主控芯片的总价约:2.6万人民币,3600美元!
而猎鹰九号一共有9个分立式发动机,每个发动机配置了3块X86芯片,加上主控系统配
置了3块,猎鹰九号一共有30块这样的芯片。
猎鹰九号主控芯片的总价约:1.4万人民币,2000美元!
我差点砸了手里的X1,是它阻拦了我攒火箭的大计!
更让SpaceX开心的事情,是Intel X86的程序员一抓一大把啊,而专业宇航级器件的程
序用的基本都是特定语言,程序员比元器件还难找。
而且硬件工程师压力也小,X86芯片随便造,烧坏了?再来1个。不不,再买一打!
可是宇航级器件仅仅是测试费,就都够再买一车X86芯片的。
攒火箭软件选择
SpaceX就用的开源Linux写的操作系统,而Linux用随便一台电脑就可以编写。
同样的,SpaceX程序员最爱的还是C++,用开源的GCC或者GDB做火箭的主控程序。
SpaceX还用LabView,一款图形化编辑语言,对于火箭程序来讲,它更容易实现可视化
和流程化,更容易做复杂的算法设计和数据分析。
SpaceX也用Matlab,在仿真和矩阵计算上,真的很好用。
而且,龙飞船,猎鹰九号,猎鹰重型,分享着同一款代码,分享着同一类迭代,分享着
同一种喜悦,多么的模块化,多么的互联网…
大数据监控和测试
2018年,SpaceX一共发射21次,一个公司占全球发射数量约20%,而SpaceX的工程师和
分析师,手里有大量的测试数据和实际数据,而且他们也被鼓励用不同的维度,去检验
飞行器的安全性,形成最新的也最实用的测试程序,从而降低实测成本。
同时,Continuous Integration,持续集成也被应用在了程序测试上。
注:持续集成
为了配合敏捷开发(相对于瀑布开发)的速度和效率而产生的一个用于编译、测试、发
布、部署的工具。
通过这种办法,可以让团队每时每刻在持续的基础上,收到反馈并进行改进,不必等到
开发周期后期才寻找和修复缺陷。
而且火箭程序不同于其他,会进行“断弦式”测试,突然关闭一台电脑,来看看发动机
到底有什么反应。
总结
航天已经经历了60年的历史,每一次阶跃其实都伴随着各类器件技术革新,比如:
1950年代的晶体管技术;
1970年代的微控制器技术;
1980年代的数字信号处理技术;
1990年代的高性能存储技术。
现在,芯片工艺从28nm,16nm,10nm到7nm,工艺的提升也增加了芯片在太空中的抗辐
射性能,让商业器件在太空中应用可行性大大提升!
伴随航天成长的是经典的:摩尔定律。
但是摩尔定律到现在在地面侧都快失效了,而在航天侧还没有开始。
比如Greg Wyler在2019年1月6号,Twitter的Oneweb的新型相控阵天线,目标定价15美
金。
比如AWS与Lockheed Martin在2018年11月发布的超小型地面站,可降低地面站80%的成
本。
北京九天微星正在研制200mW卫星物联网终端模组,目标定价5美金。
因此,航天缺少的仅仅是大胆的商业器件验证,缺少的仅仅是采用MVP快速迭代的环境
,而逐年降低的发射成本正在迅速降低试验成本,因此:
属于航天的摩尔定律才刚刚开始!
属于航天的互联网思维才刚刚开始!
属于航天的大时代才刚刚开始!
没错。后面一个网友转的英文只能一目十行地看了一些?确实好文章。尤其还是中文的,不费眼神 ✌
没有觉得你贴的不好的意思哈,就是我自己比较怕看英文评论控制系统的一部分信息:
Most launch vehicles are not controlled manually, if that is what you are asking. Conventionally, companies that develop launch vehicles have all physical "steering" done in a combination of two methods:
Electronic sensor systems that provide awareness of the vehicle's position, speed and etc. This information is then used with guidance and navigation software, which is more akin to where the vehicle knows that it "needs" to go. Now it compares the two and if the vehicle is off trajectory it will use the below.
Engines on gimbals and an attitude control system. Engines on gimbals essentially means the vehicle can alter the angle of their engines in relation to the rocket for directional changes. An attitude control system (ACS) is essentially a system of "spouts" around the vehicle (in every direction) that expel high-pressure gasses usually to make it spin in certain ways or turn harder
SpaceX has stated that the vehicle must first "turn-around" in space after the first stage engine cuts off, therefore it is unlikely that "gimbaling" an engine is their methodology.
However, if they were to have their software know that the vehicle must essentially pull a 180, it can use its ACS to flip the rocket around before engaging the engine to begin travelling back towards where it launched (or to eliminate its horizontal velocity).
Now the rocket is hurtling back to Earth, face first. In order to survive through the atmosphere at high-speeds it must do so in a way that the rocket can take the force and temperature. So now we need the vehicle to enter "bottom first".
It now likely cuts its engines once again, repeats maneuver once again to "back into" the atmosphere. From here, steering is done in combination of gimbal-ing engines when they are reactivated, using the ACS as well as using these bad boys:
SpaceX uses optimal control scheme for its landing. The goal of this scheme is to reach zero altitude with zero vertical velocity given tight constraints of landing area and fuel. This makes it a non-linear optimal control problem.
The algorithm running behind the landing is known as G-FOLD (guidance for optimal large diverts) which uses loseless convexification for converging globally optimal solution. This algorithm was co-developed by Lars Blackmore (SpaceX principal landing engineer) in JPL and was originally designed for mars rover for powered descent.
Falcon 9 uses high end GPUs for its math processing.
在航天圈里,有一种器件如贵族般存在:宇航级器件。
一个二极管只要上天验证成功,就可以从一个工业级十八线小明星跃升为宇航级一线大
明星,身价可以倍增上百倍甚至上万倍!
以现有载人飞船搭载的星载计算机和控制器举例,单个控制器价格为500万人民币左右
,一共14个系统,为了追求高可靠性,每个系统1+1备份,一共28个控制器,成本总计
约1.4亿人民币!
而SpaceX的龙飞船主控系统的芯片组,仅用了2.6万人民币,成本相差5384倍!
Elon Musk到底是如何做到的?
我们看以下几条重要的知识点:
SpaceX 猎鹰九号和龙飞船用的都是Intel双核的x86处理器;
操作系统用的是Linux,还有LabView和Matlab;
软件工程用的是C++,有些时候也用Python;
整个主控程序只有几十万行代码。
工业级器件小屌丝的困境:粒子翻转
航天器所有的器件要经历很苛刻很苛刻的环境。
首先发射时要禁得住剧烈的抖动和很高的温度,才能走出地球。
而真正的炼狱在入轨后才刚刚开始,面对太阳面的时候,温度迅速提升,最高到120°C
;背离太阳面的时候,温度骤减,最低到-150°C。
就这样90分钟一圈又一圈,周而复始,每圈都是270°C的温差。
而对于电子器件来说,温度不是最难熬的,最难熬的是太空中的辐射:
这些辐射有来自地球的召唤:地球磁场
也有来自太阳的问候:高能粒子
还可能有来自三体文明的问候:其他太阳系以外的粒子
而这些粒子,将引发电子器件的神经紊乱,专业名词是:粒子翻转。
它将很Surprise地告诉星载计算机和星载存储器:
“下面将是见证奇迹发生的一刻!”
“我要把1变成0,然后再把0变成1。”
有些人问了,多大点事啊,不就差个1吗?!
但是在比特界,差一位就可差之千里。
举个栗子:
如果指令20是向上爬升,指令24是停止推进,后果是难以想象的。
所以如果发生了1和0不分的情况,整个飞行器的运算结果曾导致非常大的灾难。
在1996年,阿里安501火箭,虽然没有粒子翻转,但是系统试图将一个64位的数字,放
到一个16位的地址里面去,随即发生了1/0错乱的现象。
结果在点火37秒后,火箭开始侧翻,随之爆炸,因为这个“小”问题,那次发射损失高
达3.7亿美金!
回到主题,既然粒子翻转这么恐怖,那SpaceX如何做到发现问题和解决问题的呢?
很简单:民主决策
技术名词叫:parity bits
同位位元
既然判断不了一个是否翻转,那就多放几个一样的设备,通过比较,把不一样的结果给
踢出去。
攒火箭硬件选择
上文提到,SpaceX没有选择用贵族宇航级器件,而是选择了经典厂牌Intel的X86双核处
理器,京东售价仅478元人民币(参考价为奔腾系列,赛扬更便宜):
而SpaceX也没有用双核做一件事,而是把双核拆成了两个单核,分别计算同样的数据。
每个系统配置3块芯片做冗余,也就是6个核做计算。
如果其中1个核的数据和其他5个核不同,那么主控系统会告诉这个核重新启动,再把其
他5个核的数据拷贝给重启的核,从而达到数据一直同步。
周而复始,不让一个核掉队。
据SpaceX前火箭总师John Muratore透露,龙飞船一共有18个系统,每个系统配置了3块
X86芯片,龙飞船一共有54块。
所以龙飞船主控芯片的总价约:2.6万人民币,3600美元!
而猎鹰九号一共有9个分立式发动机,每个发动机配置了3块X86芯片,加上主控系统配
置了3块,猎鹰九号一共有30块这样的芯片。
猎鹰九号主控芯片的总价约:1.4万人民币,2000美元!
我差点砸了手里的X1,是它阻拦了我攒火箭的大计!
更让SpaceX开心的事情,是Intel X86的程序员一抓一大把啊,而专业宇航级器件的程
序用的基本都是特定语言,程序员比元器件还难找。
而且硬件工程师压力也小,X86芯片随便造,烧坏了?再来1个。不不,再买一打!
可是宇航级器件仅仅是测试费,就都够再买一车X86芯片的。
攒火箭软件选择
SpaceX就用的开源Linux写的操作系统,而Linux用随便一台电脑就可以编写。
同样的,SpaceX程序员最爱的还是C++,用开源的GCC或者GDB做火箭的主控程序。
SpaceX还用LabView,一款图形化编辑语言,对于火箭程序来讲,它更容易实现可视化
和流程化,更容易做复杂的算法设计和数据分析。
SpaceX也用Matlab,在仿真和矩阵计算上,真的很好用。
而且,龙飞船,猎鹰九号,猎鹰重型,分享着同一款代码,分享着同一类迭代,分享着
同一种喜悦,多么的模块化,多么的互联网…
大数据监控和测试
2018年,SpaceX一共发射21次,一个公司占全球发射数量约20%,而SpaceX的工程师和
分析师,手里有大量的测试数据和实际数据,而且他们也被鼓励用不同的维度,去检验
飞行器的安全性,形成最新的也最实用的测试程序,从而降低实测成本。
同时,Continuous Integration,持续集成也被应用在了程序测试上。
注:持续集成
为了配合敏捷开发(相对于瀑布开发)的速度和效率而产生的一个用于编译、测试、发
布、部署的工具。
通过这种办法,可以让团队每时每刻在持续的基础上,收到反馈并进行改进,不必等到
开发周期后期才寻找和修复缺陷。
而且火箭程序不同于其他,会进行“断弦式”测试,突然关闭一台电脑,来看看发动机
到底有什么反应。
总结
航天已经经历了60年的历史,每一次阶跃其实都伴随着各类器件技术革新,比如:
1950年代的晶体管技术;
1970年代的微控制器技术;
1980年代的数字信号处理技术;
1990年代的高性能存储技术。
现在,芯片工艺从28nm,16nm,10nm到7nm,工艺的提升也增加了芯片在太空中的抗辐
射性能,让商业器件在太空中应用可行性大大提升!
伴随航天成长的是经典的:摩尔定律。
但是摩尔定律到现在在地面侧都快失效了,而在航天侧还没有开始。
比如Greg Wyler在2019年1月6号,Twitter的Oneweb的新型相控阵天线,目标定价15美
金。
比如AWS与Lockheed Martin在2018年11月发布的超小型地面站,可降低地面站80%的成
本。
北京九天微星正在研制200mW卫星物联网终端模组,目标定价5美金。
因此,航天缺少的仅仅是大胆的商业器件验证,缺少的仅仅是采用MVP快速迭代的环境
,而逐年降低的发射成本正在迅速降低试验成本,因此:
属于航天的摩尔定律才刚刚开始!
属于航天的互联网思维才刚刚开始!
属于航天的大时代才刚刚开始!