本帖最后由 追猎永恒 于 2019-3-22 01:40 编辑
喜欢的朋友可以专注微信公众号:FYCYC-CreativeHouse
也可直接扫描二维码关注~
雷达图,在大家心中的印象,一般是这样的:
而今天,我们要介绍一个飞机上的雷达图:
飞机上可以监测周围天气情况的系统叫气象雷达WXR(Weather Radar)
气象雷达,是探测320海里内,前向80°,垂直15°内的气象数据,并可将结果显示到ND上(Navigation Display)。气象雷达的作用主要是为飞行员提供天气预警,减少颠簸、遇到风切变的概率,提升乘客舒适度。一个典型的显示图如下图所示:
从A350手册图中可以看到,黑色区域为降水强度最低,绿色次之,最强为红色。目前,飞机的飞行路径将通过降水最强的区域,因此,飞行员应该采取措施进行绕飞。
在ND显示器上,还有可能出现一张类似的图:
与上面的气象雷达图不同,这张737手册图上显示的是地形。有些机场坐落于山谷之中,通过在ND上主动开启地形功能,飞行员可以观察飞机周围地形地貌。而当触发地形警告时,地形功能被动触发,警示飞行员应进行操控避免撞击。
现在,让我们到真机驾驶舱中再看一下真实的气象雷达图和地形雷达图吧!
酷酷的感觉有没有~小屋都有点心痒痒了,好想尝试一把!正巧手中有个新到货的激光雷达,有没有可能实现一下类似的功能呢~
该款激光雷达使用串口进行通讯,可检测直径24米的范围,测量频率高达8000赫兹,且价格低廉,怪不得实验室购买了一个让大家自由发挥
该传感器的使用非常简单,只要通过串口发送A5 20两个字节即可开始检测,再通过发送A5 25两个字节即可停止,非常简单有木有~
运行后,你会接收到如下的字符数组,有点眼花缭乱了,不过在阅读官网提供的通讯协议后,一切就都明朗起来~
通过解析可以看到,传感器不断的在回传角度及距离信息,代表了周遭的环境情况。基于此,小屋编写了个程序,可以检测并记录到文件中,为下一步可视化做准备~
要实现飞机上ND显示屏上的图像并不容易,但是做一点简化呢?把地图看成是一个棋盘,每个方块如果有物体存在就标为白色,如果没有就用黑色表示,如此一来,便可以体现周围的情况了~小屋用Python+OpenCV编写了个读数据+可视化的小程序:
在这个图中,显示了小屋所处地点的地形图(暴露啦暴露啦!)由于放置的高度较低,且放置的角度有些歪,右上角的墙变成了倾斜的,左侧的墙也变成了凹凸不平。此外,图中颜色非常单调,根本没有飞机图上那么炫酷,那该怎么办呢==
当当当当~小屋对代码稍作更改,有没有感觉一下子酷炫了呢~
对该图做一下说明:
图正中间的红点是传感器所处位置。
红色代表10次检测中有8次以上有效检测,黄色代表4-7次,绿色代表1-3次~
注意对比一下上下两幅图,会发现红点的正下方多出来了一块,这是什么呢?嘻嘻,这是小屋的影像~这次传感器放置位置较高,因而小屋只有站起来才能在传感器中看到~
总结一下,本次小屋采用激光传感器尝试了一下飞机ND显示器的雷达图/地形图功能。然而,激光传感器靠的是遮挡关系,即激光接触物体后反射,一部分进入传感器因而可以检测,该检测方法穿透物体能力极弱,因而所看到的反射面仅能是单层的。所以,要想做到跟ND上一样的显示,还得更换传感器啊~(此外,飞机地形其实是有数据库的,可以直接显示==)
最后提一句,小屋的通信部分采用C#编写,显示部分采用Python编写,原因是,该传感器不知为何,只要使用python连接,电机会停转,无法扫描,而通过C++,C#编写,一切正常。小屋还在思索中。。。
|