SpaceX究竟是如何使用“玩具”编程语言LabVIEW的?
1、背景在刚刚结束的2024年度,商业航天的领头羊公司,美国太空探索技术公司SpaceX不但成功完成了134次的商业发射;还创新性地实现了“筷子夹火箭”——成功地完成重型运载火箭“星舰”全新回收技术的实验突破,真可谓是商业与技术两开花。注:该曲线图引自知乎答主:不知者不罪而图形化编程语言LabVIEW则由于其简单易学,开发便捷的显著特点,被诸多人误解为只是一门适合测试测量工程师个人开发的“玩具”编程语言,且认为其并不适合用于大型复杂应用类程序的开发。LabVIEW也确实曾经魔改过,作为乐高(Lego)智能玩具Mindstroms的开发语言。
所以当听说SpaceX公司会使用LabVIEW作为其软件技术栈编程语言时,都会是一脸问号脸,高大上的商业航天公司怎么会用这种“玩具”语言LabVIEW呢?!2、LabVIEW借助商业航天SpaceX的软件技术栈出圈小红一把其实在2020年5月31日,SpaceX成功地利用“猎鹰9”重型回收火箭发射龙飞船,漂亮地将两名宇航员送上国际航天空间站时,关于该公司的所用的软件技术栈的文章就曾经广为流传过。
其实2020年6月中旬,国内的关于SpaceX公司中如何使用LabVIEW图形编程语言,以及其它的如C++、C#和Python等软件技术栈的应用内容,其信息来源都是来源自美国问答网站reddit的一个SpaceX软件工程师团队的2013年的自我介绍文章。
这其中SpaceX地面软件团队主开发代码语言,就是图形化编程语言LabVIEW,为此,LabVIEW借着这次SapceX的载人飞船成功所引发的对其所用软件技术栈的关注"出圈",也算是吸引了一波流量!3、深入分析LabVIEW在SpaceX中具体应用。其实,如果真的关注LabVIEW的典型应用场景的人,都会知道LabVIEW在航天有着广泛且深入的应用,早在2010年,SpaceX公司的技术人员就在NIWeek上分享过关于他们是在地面发射控制系统,以及龙飞船远程遥控系统如何使用LabVIEW 的技术演讲。
这张PPT明确表明了关于地面控制软件(Ground Control Sofeware)的具体任务需求,主要用于处理以下任务:
平板和飞行器数据的采集、操作和分析
硬件接口应用校准中央服务器
执行手动命令
执行自动序列
基于可用数据的决策制定
发射承诺标准、警告、中止和监视程序
数据保存和重复
数据被复制到其他位置,以便在其他位置的图形用户界面(GUI)监控操作
此外,关于LabVIEW在龙飞船中的应用则可以从相关飞船发射任务论文中获取到更为详细的技术信息。
知道大家都不爱看英文论文资料,于是我让人工AI软件帮大家读了一遍后,辅助生成了LabVIEW的主要用途汇总情况:
开发控制台软件:LabVIEW被用于开发Falcon 1和Falcon 9的地面控制软件。这些软件用于监控和控制发射车辆以及发射台的操作。
自动化监测和控制:通过LabVIEW开发的软件能够自动化地监测和控制发射车辆的参数,减少了操作员的手动任务,降低了因操作员疏忽而导致的错误。
图形化界面:LabVIEW的图形化编程特性使得开发具有直观图形界面的软件成为可能。这些界面帮助操作员更有效地监控和管理发射过程中的各种参数和状态.
灵活的数据分析和趋势预测:LabVIEW软件能够进行高级监测,允许在多个遥测项目上运行“组合”算法,以更好地预测趋势,并提供更灵活的趋势分析和绘图工具.
适应性和扩展性:LabVIEW软件能够适应不断变化的任务需求,并且可以与现有的硬件和软件系统集成,支持任务的扩展和升级.
通过上述这些具体实际的用途,LabVIEW在SpaceX的地面控制系统中发挥了关键作用,提高了操作的自动化程度和可靠性。
让我们再看看具体的一些SpaceX的LabVIEW应用场景图片:
4、到底能挣多少钱?
好了,知道了LabVIEW具体在SpaceX如何被使用后,我估计一些小伙伴非常好奇,作为LabVIEW工程师在公司的薪水和能力要求到底是什么样的?
这个可以从SpaceX的招聘广告中找到答案。
现在的SpaceX发展迅猛,资金雄厚,急缺各种技术工程师人才,因此LabVIEW开发工程师常年都在其公司的招聘清单中。
招聘的类型主要就是两类,初中级LabVIEW开发工程师,以及高级LabVIEW开发工程师。
4.1初中级LabVIEW开发工程师要求
地面软件工程师,LabVIEW(Falcon & Dragon)任务
作为地面软件团队的软件工程师,您将为我们的Falcon和Dragon项目开发和维护软件解决方案,以解决复杂的工程问题。我们的地面软件应用套件被操作员在整个飞行器生命周期中使用。在您的角色中,您将每天与以下团队互动:指挥我们Falcon火箭舰队的发射工程师;为乘坐Dragon的宇航员提供平稳飞行的任务控制操作员;静态点火Merlin发动机的测试工程师;以及捕获航天器和火箭并将其安全带回岸上的海上回收工程师。这些团队都依赖于您将创建和支持的地面软件用户界面和后端控制系统。
您是其他工程师可以依靠的工程师。您对每个问题都充满热情。您致力于寻求解决方案。您消除障碍,是一个自我激励者和团队合作者。您有探索未知领域并使系统正常工作的渴望。
在这里,航空航天经验并不是成功的必要条件——我们更看重聪明、有动力、善于合作的工程师,他们热爱解决问题,并希望对一项极具启发性的任务产生影响。您将拥有挑战性问题的完全所有权,与一群热情的工程师团队合作,设计推动SpaceX快速实现目标的解决方案。SpaceX的任务成功取决于您与地面软件团队生产的软件。职责:
开发新的和优化现有的软件代码库和系统,用于测试、发射、指挥和监控SpaceX的Falcon发射车辆和Dragon航天器家族。深入拥有整个软件生命周期,包括推向运营、管理/维护/升级系统,以及最终支持最终用户。配置和优化用于维护公司超过200个活跃地面软件系统的自动化测试和部署系统。在车辆发射和关键在轨活动期间,在任务控制中心提供软件技术支持。维护和升级控制发射场、测试场和回收船的DAQ/LabVIEW系统。分析需要深入调查的测试结果和错误。直接与外部客户和机构(如NASA、美国太空军、FAA)进行接口,包括管理关系和指导任务要求。
优先技能和经验(加分项):
熟悉源代码控制系统。熟悉以下系统编程语言之一:C、C++或Rust。熟悉以下脚本语言之一:Python、PowerShell或bash。有控制DAQ硬件的经验。熟悉Web开发框架。喜欢面向最终用户的角色,以支持和与跨职能团队进行接口。有在网络调试方面的经验,涵盖所有OSI层(Wireshark)。对信息安全原则有很强的把握,例如保护网络连接和加固应用程序以防止失败。能够在发射和任务操作期间快速准确地工作。
基本资格:
计算机科学、工程、数学或科学学科的学士学位;或者5年以上软件工程师的专业经验,以代替学位。3年以上LabVIEW软件开发经验。
薪酬和福利:
软件工程师/一级:年薪$120,000.00 - $145,000.00软件工程师/二级:年薪$140,000.00 - $170,000.00
4.2高级LabVIEW开发工程师要求
高级LabVIEW开发工程师主要要求和前面的中初级工程师的要求是一致的,差别主要是在基本资格方面,资深高级LabVIEW工程师需要更长的工作年限经验:基本资格:
计算机科学、工程、数学或科学学科的学士学位;或者10年以上软件工程师的专业经验,以代替学位。5年以上LabVIEW软件开发经验。
薪酬和福利:软件工程师/高级:年薪$160,000.00 - $220,000.00以上就是SpaceX公司关于招聘LabVIEW工程师的信息摘要,和该公司招聘其它编程语言C++的等级待遇是完全比肩相同的,并没有任何的薪金待遇方面的差异歧视。彩蛋时刻两年多前,我曾经写过一篇关于LabVIEW大神Stephen Loftus-Mercer的故事,最终,他为了理工男的航天梦想,去了SpaceX公司。为了追求梦想,真正的LabVIEW的编程大神离职了!而大神最近的领英LinkedIn个人账号显示,其一个月前已经从SpaceX公司离职,加入了类人机器人公司——Apptronik Roboties,祝福大神继续前行,修炼不止,再创辉煌!
页:
[1]