首先,热烈庆贺祝融号火星车成功着陆火星!小编在其中也做了一点微不足道的小工作,此刻真的无法用言语形容自己的激动。只是可惜,写文章没能赶上祝融号的热点。
不过不着急!中国火星探测的事业还有很多工作需要做!截止5月中旬,NASA的火星直升机Ingenuity已经成功进行了五次火星表面试飞,成为了第一架在地球以外的星球大气层内进行动力飞行的飞行器(第一枚地球外的无动力大气层飞行器是1985年前苏联的Vega-1金星探测器)。客观地说,我们距离美国NASA的火星探测事业,还有一段距离需要追赶。
Ingenuity部署后进行试车
不如,就从现在开始,我们一起来学习一下——
如何制作一架在火星上飞行的直升机?
毅力号火星车携带的火星直升机
——Ingenuity(灵巧号)
一、 正儿八经的设计参考
直升机大家司空见惯了,即使没坐过,也肯定在电视、报刊、网络上见过各种各样的直升机。但是,火星的直升机可不一般了,它的工作情况与地球上大相径庭。
直升机是依靠空气动力学原理进行工作的。直升机的旋翼产生升力,克服万有引力,从而带动直升机飞行。在火星的表面,其万有引力大概只有地球的1/3,直升机需要克服的万有引力很小。但是火星表面的大气密度却只有地球海平面的1/100,太过稀薄!这又大大增加了火星直升机产生升力的难度。
根据NASA科学家的计算,Ingenuity直升机在火星表面附近飞行,难度大致等同于在地球的2万7千米高空飞行——这远远超过了目前地球上所有直升机的升限!
目前直升机的飞行高度记录是由法国的SA315B型直升机创造的,为12442米。
为此,Ingenuity的机身必须做的又轻又小,降低起飞重量;桨叶必须旋转得非常快,以提供充足的动力。
但与之矛盾的是,Ingenuity需要跟随毅力号火星车一起,跨越漫长的行星际空间,并承受着陆火星过程中的危险。因此,它同样需要很高的结构强度,和足够的防辐射能力。这么一来,结构重量和防辐射保护层的重量又上去了。
Ingenuity在毅力号火星车底盘上的安装位置。火星直升机并非安装在车顶上,而是安装在车底下的。
怎样的权衡才能更好地完成火星的首次飞行任务?其实工程师和科学家们都没有明确的答案。Ingenuity这次最重要的任务,就是验证到底如何在火星飞得又稳又好。
最终,Ingenuity的起飞质量/着陆质量是1.8kg,与笔记本电脑相仿。它携带了一块273克的电池,提供35-40瓦时的电力,也与轻薄笔记本相仿。其通过两幅1.2米直径的螺旋桨驱动,螺旋桨转速达到2400rpm(地球上的直升机一般转速约300rpm),最多飞行120秒。两幅螺旋桨通过共轴反桨的方式安装以抵消角动量,并通过周期变矩实现方向控制。
共轴反桨直升机其实是俄罗斯人的看家本领。这种直升机无需尾桨来抵消主旋翼的角动量,虽然机械复杂度提升了,但恰好可以节省空间,并提升升力。周期变矩技术则是目前主流直升机通行的方向控制方法,比较复杂,就不展开讲了。
为了能在火星上飞起来,Ingenuity还需要综合飞控、导航装置、姿态传感器、地形识别匹配装置、通讯装置等等。如果读者中有玩无人机或者穿越机朋友,那大概可以理解为:飞控、姿控、导航、图传、数传。
二、 不太靠谱的实现方式
好,现在我们已经知道Ingenuity需要什么了,抛开其8千万美元的造价和其上的各种高科技材料不谈,要想通过万能的华强北和万能的某宝复现这样一架无人机,其实还是可行的。我们结合美国NASA工程师的设计方案,来规划一个我们自己的实现方案——同样,靠不靠谱是另说的。
01 它的大脑
Ingenuity直升机首先采用了一颗高通骁龙801芯片作为其主控。也就是说,它的大脑和很多朋友手中的小米NOTE,小米4,一加1,OPPO Find7等等手机的CPU是一模一样的。也就是说,Ingenuity如果硬要玩一把吃鸡,也不是不可以,就是可能会有点卡,或者有些烫。
小米4。作为一款2014年的手机,其性能放到今天可能已经不够看了。但它和火星直升机有着同样的“芯”。
工程师们在这颗芯片上部署了ARM Linux操作系统。根据小编我的硬件开发经验,2014年的ARM芯片应该部署的是32位版本的Linux-armhf系列的系统。
有了这样一个操作系统,操控Ingenuity与操控你手边的电脑并没有本质的区别——只要你会使用C语言编程,就可以开发Ingenuity的应用程序了!不知道有没有唤起各位读者大学时学习C语言的美好回忆呢?
Ingenuity首飞,升空3米,自转90度,悬停,成为了人类首个异星球空气动力飞行器。摄影师:毅力号火星车。
02 它的手脚
Ingenuity使用了两颗飞控MCU来控制桨叶,并飞行。自己组装过无人机的飞友一定不陌生——无非就是一套电机驱动和一套舵机驱动嘛~
电机驱动通过控制电流,来控制共轴反桨的转速,逆时针桨快一点,飞机就向顺时针自转;顺时针桨快一点,飞机就向逆时针自转。两幅桨的速度都快一点,飞机就往上升;两幅桨都慢一点,飞机就往下落。
Ingenuity第二次试飞,首次进行了平飞,最大空速0.5m/s,升空到4.9m高度后,向西飞行了一段距离,并在原地旋转了两圈。摄影师:毅力号火星车。
舵机驱动通过控制周期变矩器的姿态来控制Ingenuity的飞行方向。
没听懂?没关系,你只需要知道在某宝上,整套解决方案不会超过两千块钱。。。。。不需要你自己设计,买回来调试一下就好。
很便宜的。图自网络。
03 它的眼睛和耳朵
根据公开的资料,Ingenuity最重要的载荷,就是其“眼睛”——一台向下拍摄的相机。除此之外,还有惯性导航模块、姿态传感器、激光雷达高度计等等,作为它耳听八方的“耳朵”。
先说“眼睛”。Ingenuity的“眼睛”,是豪威光学的OV7251型号的CMOS图像传感器,换言之,就是照相机的感光元件——“大底”。这个大底厉不厉害呢?并不,OV7251只有7.5分之一英寸,30万像素,最高拍摄480p120帧的VGA视频!怎么样,有没有梦回20年前的感觉?现在的手机前置相机都已经1000万像素起步了,而且同样结实可靠。这个CMOS,某宝售价13元,不含镜头。
眼睛和耳朵们。左上:OV7251;右上:Garmin LIDAR-Lite V3;左下:BMI-160;右下:SCA100T。图中所示全部为民用级产品,图片来自网络。
再说一众“耳朵”们。惯性导航模块是博世的BMI-160,民用级在某宝上售价13元;姿态传感器是村田的SCA100T,某宝原装进口200元;激光雷达高度计是Garmin的LIDAR-Lite V3,某宝包邮最高1400元——你也可以用国产的替代方案,大概只需要十分之一的价格。
Ingenuity在空中拍到的毅力号火星车和火星表面。请横屏查看:
当然,还是不得不说明,宇航级的芯片和元器件都是特挑的,常常万中选一,以取得最佳的工作稳定性、稳健性(所谓鲁棒性),造价与民用级肯定不可同日而语。
04 它的电话
Ingenuity太小了,不可能搭载足够与地球通讯的大功率天线,因此它实际上是通过毅力号火星车,来上传数据和下载指令。
这个数据链也不是什么“高端”的设备——很常见,我们日常生活中充斥着这些东西,那就是Zigbee“紫蜂”网络。命名的意思,就是如同蜜蜂跳8字舞一样,在网络上实现设备间的交流。
Zigbee是当下热门的物联网应用最主要的组网方式之一,它的驱动和应用程序很多,不管是C语言还是Python,你都能在万能的度娘上搜到一大堆。
Zigbee搭起了毅力号火星车和Ingenuity直升机之间的通讯连接,是二者的电话。
05 它的神经系统
如果是一位成熟的硬件工程师,看了上述的描述,应该已经知道如何自制一台火星直升机了。但为了更广大的读者,小编我还是再多说几句。
Ingenuity第三次火星试飞,这次,它向北飞了164米,随后回到原位降落。最大空速2m/s。摄影师:毅力号火星车。
有了各种传感和伺服设备,有了主控,我们必然要搭建起他们之间沟通的桥梁——设备总线。高通骁龙801是一片SoC,自带了设备控制器,也就是说,上述传感器和伺服器是可以直连骁龙801的。
视不同的设备,USB串行总线,IIC串行总线,SPI串行总线都是可选的。
三、 完全放飞的未来展望
看上去很简单,是吧?如果你觉得难,不要慌,实际操作起来肯定比你想像得简单。
过去,我们艳羡欧美那种全民搞科学,搞科普的热情,有各种各样的电视节目,讲述他们搞发明创造。我还记得《流言终结者》、《疯狂实验室》这些节目,启发了我最初的科学兴趣。但是小的时候,那些仪器设备都很贵,也很难买到,所以也只能在电视里干看着。
Ingenuity第四次试飞。这次,毅力号火星车记录了其声音,它成为了第一枚被人类听到声音的异星球飞行器。摄影师还是毅力号火星车。
但时代变了,如今,随着国内网络的普及,这些仪器设备变得触手可及,广大的人民群众也有了一定的的财力来实现自己的想法。这不是正好就可以复现当年我们艳羡的,欧美人的科学生活吗?
回到Ingenuity的设计研发上,大家可以看到,他们用的大部分东西也并非是我们生活中无法触及的高科技产品,相反,我们很容易就能买到原装正品、或者替代品,甚或者是更高级的产品——那为什么不做做看呢?
说不定,下一架火星直升机,就是你做出来的呢!
美编:黄紫薇
校对:张崧 王海波