厉害了我的“猿”!程序员手工建造波音 737 模拟驾驶舱,几乎模拟全部功能

简介: 厉害了我的“猿”!程序员手工建造波音 737 模拟驾驶舱,几乎模拟全部功能

image.jpeg

当一个程序员有了航天梦就不是为了爱好买个飞机模型那么简单了,他可能会自己动手做一个飞机模拟驾驶舱。

浙江杭州的程序员曹林是航空航天的狂热爱好者,今年疫情期间他自己建造了一个波音 737 客机的模拟驾驶舱,几乎完全模拟了驾驶舱的全部功能



自学 3D 建模,零件全部自制

曹林今年 34 岁,是一名网络工程师,他从小就对航空航天非常感兴趣,今年疫情期间有了更多的空闲时间,他就想利用这些时间实现自己的“飞天”梦。

做一个模拟驾驶舱可没有做个飞机模型那么简单,为了做到 1:1 还原,曹林自学了 3D 建模,还购买了 3D 打印机。因为普通人很难拿到飞机驾驶舱各个零件的具体参数,就连一个按键的大小都是曹林打印了 20 多个一个一个试出来的。

image.jpeg

整个驾驶舱中的面板、油门、显示屏,还有 27 个模块和 120 多个按键都出自曹林之手。

曹林说:“我重新思考了人生,觉得应该去实现一些人生梦想,生命是短暂的。我发现市面上很难买到成型的东西,又想去把这些东西做得尽量逼真,还原得真实,怎么办?就只能去学 3D 建模,学 3D 建模以后 3D 打印。”

yy.png


书本和实践结合完成组装,软件测试过程问题重

制作零件的难关已经闯过去了,接下来就是组装,这个过程中曹林再次遇到了困难,因为飞机的整个结构和运作过程是很难了解的,即使通过书本和影像资料去做了解也很难完全掌握。

于是曹林又开始自学空气动力学、流体力学、航空电子仪表等知识,除了书本上的东西,曹林还专程驱车上百公里去请教专业的飞行员,模拟驾驶舱终于顺利组装完成了。

yy.png

然而到了原本是作为程序员最擅长的软件测试阶段,曹林又遇到了令他措手不及的问题。测试刹车系统的时候,它总会自己收起来,为了找到问题的根源,曹林挨个测试了 27 个设备和 100 多个按键。最后证实了是一个灯光的开关联动了刹车,把灯光关上刹车就能动了。

虽然这只是个小 Bug,但却花了曹林很长时间,最后他用了半年多的时间终于建造出了可以正常运行的波音 737 模拟驾驶舱。

yy.png


电影给了你想象的翅膀,程序员给了你落地的方法。

其实这个飞机模拟驾驶舱并不是曹林的第一个航天飞行器作品,2018 年的云栖大会上,那艘停在空中的“大飞艇”也是曹林的作品。他出人意料的把物联网基站放在了飞艇上,这样就可以覆盖更大的面积。曹林的同事说:“他从不会在过程中抱怨,也不说出要中途放弃的话。”

曹林的下一个目标是在近几年的时间里建造一个 C919 模拟机,他说:“电影给了你想象的翅膀,程序员给了你落地的方法。”


相关文章
|
前端开发 rax Python
Open3d系列 | 2. Open3d实现点云数据增强
Open3d系列 | 2. Open3d实现点云数据增强
3471 1
Open3d系列 | 2. Open3d实现点云数据增强
|
Java
【IntelliJ IDEA】中文乱码问题 ( 代码乱码 | 编译乱码 | 控制台乱码 )
【IntelliJ IDEA】中文乱码问题 ( 代码乱码 | 编译乱码 | 控制台乱码 )
2431 0
【IntelliJ IDEA】中文乱码问题 ( 代码乱码 | 编译乱码 | 控制台乱码 )
|
网络协议 Shell 网络安全
etcd3.4集群安装并设置开机自启动
--permanent永久生效,没有此参数重启后失效,防火墙打开2379和2380端口,同时刷新防火墙 firewall-cmd --zone=public --add-port=2379/tcp --permanentfirewall-cmd --zone=public --add-port=2.
4783 0
|
10月前
|
编解码 算法 索引
基于simulink的模拟锁相环和数字锁相环建模与对比仿真
本研究利用Simulink对模拟锁相环(PLL)和数字锁相环(DPLL)进行建模,通过对比两者的收敛曲线及锁定频率值,分析其性能差异。系统采用MATLAB2022a版本,详细介绍了PLL和DPLL的工作原理,涵盖鉴相器、滤波器及振荡器等关键组件的功能与数学描述。
|
Kubernetes Java 编译器
解锁极致性能:Quarkus如何让JVM应用调优变得前所未有的简单与高效!
Quarkus是一款专为GraalVM和OpenJDK设计的Kubernetes Native Java框架,采用AOT编译技术将Java应用转化为本地代码,大幅提升启动速度与运行效率。它简化了性能调优流程,如自动优化垃圾回收、类加载、内存管理及线程管理等,使开发者无需深入理解JVM细节即可轻松提升应用性能。与传统JVM应用相比,Quarkus显著降低了性能调优的复杂度。
302 2
|
10月前
|
前端开发 C++
Marp 教程:使用 VSCode 编写专业 PPT
Marp 是一款基于 Markdown 的幻灯片制作工具,结合 VSCode 的强大编辑功能,可让你高效地创建专业 PPT。本教程将指导你如何在 VSCode 中安装 Marp 插件、配置主题和样式,并使用 Markdown 语法创建和美化幻灯片。内容包括基本结构、布局、图片与图表插入、表格制作,以及高级功能如动画效果、数学公式和代码高亮。最后,你将学会如何预览和导出幻灯片。
1085 0
|
12月前
|
存储
如何使用指针数组来实现动态二维数组
指针数组可以用来实现动态二维数组。首先,定义一个指向指针的指针变量,并使用 `malloc` 为它分配内存,然后为每个子数组分配内存。通过这种方式,可以灵活地创建和管理不同大小的二维数组。
|
存储 Ubuntu Linux
linux中的find 命令详细用法
本文介绍了如何将 `find` 命令与 `exec` 结合使用,通过具体示例展示了多种应用场景,如显示文件属性、重命名文件、收集文件大小、删除特定文件、执行工具、更改文件所有权和权限、收集 MD5 值等。文章还探讨了 `{} \;` 和 `{} +` 的区别,并演示了如何结合 `grep` 命令进行内容搜索。最后,介绍了如何在一个 `find` 命令中使用多个 `exec` 命令。这为 Linux 用户提供了强大的文件管理和自动化工具。
|
机器学习/深度学习 人工智能 文字识别
Python常用验证码标注和识别(需求分析和实现思路)
Python常用验证码标注和识别(需求分析和实现思路)
245 0
时序图----购买商品的时序图画法
这篇文章介绍了如何绘制购买商品的时序图,包括用户(商家、顾客)与在线购物系统以及在线购物系统与第三方支付系统之间的交互过程。
时序图----购买商品的时序图画法