ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

无人机风速风向仪:从运动平台解算真实大气的原理与工程实践

无人机风速风向仪:从运动平台解算真实大气的原理与工程实践 这几年做无人机气象载荷测试被问得最多的一个问题是无人机风速风向仪到底是什么是不是就是把气象站上那个风速杯拆下来绑到机身上就行每次听到这个说法我都得解释半天——绑上去用很简单测出来能用是另一回事。无人机自己在飞机体一直在动你怎么把“飞机的运动速度”从“空气相对飞机的速度”里摘干净才是这东西的核心。无人机风速风向仪本质上是一套以机载传感器为核心的气象探测系统用来获取特定高度、特定位置的真实大气风速和风向。它既不是单纯的传感器也不是简单的记录仪而是传感器、惯性导航、卫星定位和姿态解算的综合体。这篇文章我从原理、选型到实测踩坑讲一遍适合无人机工程师、气象观测人员和风电场勘测的朋友参考也适合那些想给自己的飞机加装测风载荷的折腾党。1. 无人机风速风向仪到底是什么一套把“飞机速度”从“空气速度”里摘出来的解算系统很多人以为风速风向仪就是一个传感器装上去就出数据。实际工程里的逻辑完全不是这样。无人机风速风向仪要解决的真正问题不是“测空气”而是“从运动平台上测出静止大气的运动”。1.1 一分钟看懂基本构成传感器、惯导和那一堆连接线一套完整的机载测风载荷通常包含这样几部分风速风向传感器皮托管或者超声波探头、惯性测量单元IMU、GPS或RTK定位模块、温湿压传感器、数据解算板和数传链路。缺哪个都别扭但最关键的是IMU和定位模块。为什么因为无人机自己是运动的传感器直接测到的其实是“空气相对无人机的速度矢量”这个量在航空上叫“相对风”或者“空速”。要得到真实的风速风向必须把无人机自身的运动速度矢量给扣掉。打个比方你在跑步机上跑步手里拿个风速计测出来的是迎面风。但这个“风”来自你自己跑出来的不是大气真在吹。无人机测风也一样它自己往前飞传感器一定会有读数。想要知道“大气本身”的风就得知道飞机在往哪飞、飞多快、机身姿态什么样然后做矢量减法。所以无人机风速风向仪这套东西真正的技术含量不在传感器探头本身而在后面的姿态与速度解算。1.2 为什么不能直接把风速计绑无人机上旋翼气流和坐标系才是关键有人可能会说那我用那种轻便的三杯风速计或者超声波风速计绑在无人机脚架上四个旋翼上面吹下来的气流是不是也能测实测告诉你悬停状态下旋翼下洗气流的速度能达到每秒七八米甚至更高直接测出来的结果就是“大风天”实际上外面根本没风。这就是平台自身干扰。固定翼飞机也一样机翼上表面气流加速机身表面有边界层探头放在不同位置测出来的相对风差别很大。再一个难点是坐标系。无人机测到的空速是在机体坐标系里的也就是“前、右、下”三个方向而真实风的表达需要在地面坐标系里通常是北、东、下。机身一倾斜机体坐标和地面坐标之间就差着一个欧拉角旋转。要把传感器读数转到地面坐标系至少需要准确的横滚角、俯仰角和航向角。如果IMU没校准姿态角偏个两三度风速解算结果就可能偏出每秒1米以上。这套坐标转换逻辑才是无人机风速风向仪和普通气象站风速计之间最大的分水岭。2. 主流技术路线与选型对比皮托管、超声波、多孔探针一次说清机载测风传感器的技术路线主要有三条皮托管空速管方案、超声波方案、多孔探针方案。每条路线都有自己的脾气选错了平台后期数据处理能让怀疑人生。2.1 皮托管或空速管方案最成熟但修正环节不能省皮托管是航空器测空速的经典方案基本原理是测量气流的总压和静压差用伯努利方程算速度。公式也不复杂空速等于根号下两倍压差除以空气密度。这里的空气密度由温湿压模块实时计算温度、气压一起来避免高温或高海拔时测速偏差过大。皮托管装在无人机上有两个好处。第一响应快几乎实时输出第二结构简单固态气压传感器直接可以读到压差数据稳定。但它有个明显的毛病它对气流方向很敏感。气流基本平行于探头轴线时测量才准如果飞机大迎角飞行或者侧滑压差读数会严重失真。所以固定翼无人机用皮托管测风时通常要搭配迎角传感器和侧滑角传感器来修正或者只在小角度机动时用。另外皮托管的小孔很容易被灰尘、水汽甚至小飞虫堵住堵住之后读数就会异常偏高或干脆不变。这在实际作业里是个很闹心的问题。2.2 超声波风速仪没有活动件却怕气流遮挡和雨水超声波风速仪在气象站里见得多它的原理是测量超声波在顺风和逆风方向传播的时间差。顺风时声波传播得快逆风时慢两个方向的时间差就能换算成风速。它有多个探头发射和接收超声波水平方向上两对探头就可以测平面风速风向。好处很明显没有机械活动件不卡转维护成本低而且对微风敏感零速附近的表现比皮托管好。但装在无人机上麻烦也不少。超声波探头体积相对大重量也上去了小四旋翼根本带不动。更重要的是它测的是探头附近一个小范围的气流只要有涡流或者湍流经过探头之间测量就会跳变。旋翼下洗气流和机翼绕流都会影响它。雨滴打在探头上也会造成干扰因为声波在雨滴表面发生散射。所以超声波方案通常用在大型无人机、氢燃料固定翼或者系留无人机上而且对安装位置要求苛刻。2.3 多孔探针方案科研级精度价格也是科研级五孔探针或者七孔探针属于高端玩家设备。它在一个半球形探头表面开了多个压力孔通过不同孔之间的压差可以反算出气流的三维速度分量也就是不仅测平面风速风向连垂直气流都能测到。科研用的气象无人机、边界层探测飞机很多走这条路线。多孔探针的优势是精度高、方向信息全一套标定好的探针测出来的风速风向可靠性非常高。缺点也直白贵单支探针和配套解算设备加起来预算基本可以买一台不错的工业级无人机了而且标定流程复杂需要专门的风洞吹出多个角度工况一般人搞不定。如果不是做科研课题或者写论文我其实不太建议普通用户上多孔探针。2.4 三种方案选型对照表选型维度皮托管超声波风速仪多孔探针测量维度一维或二维二维平面三维空间微风表现一般零速附近压差弱很好零风速灵敏很好方向信息全对气流方向敏感度高大攻角失真中等受湍流影响低可测侧向分量重量和体积小轻便中等偏大中等但配套复杂环境适应性怕堵孔需防尘怕雨和沙尘怕堵孔需防尘成本低中等很高适合平台中小型固定翼、多旋翼大型无人机、系留平台科研级固定翼、大型平台板材选型这块没有绝对最优只能根据平台尺寸、载荷能力和预算来权衡。我自己做多旋翼测风用得最多的是小型皮托管做固定翼风廓线测量反而更多考虑超声波方案。3. 从零搭一套机载测风载荷安装、解算与实测记录下面这段是实操部分我把整个流程拆开来讲。这里假设你已经有一个中小型多旋翼无人机想要自己装一套皮托管测风载荷。整个过程分三步安装位置设计、解算逻辑实现、标定与验证。3.1 安装位置是命门如何避开桨下洗和机翼“脏气流”安装位置直接决定数据能不能用。多旋翼的旋翼下洗气流是向外向下扩散的理论上机身正下方的中央区域气流相对干净一些但实际上还是会受到交叉干扰。实践中我试过几个位置脚架外挂、机腹正下方、机头斜前方探杆。结论是机头斜前方探杆效果最好也就是用一个碳纤维管从机头向前伸出去把皮托管固定在无人机前向气流相对干净的区域。伸出去的距离至少要超过机体前缘的半个机身宽度建议25到40厘米。太短了探头还在机身乱流区里数据会抖动太长了影响无人机重心和飞行性能。固定翼就更讲究探头要尽量装在机翼前方或者机身头部远离螺旋桨滑流区而且最好顺着机身轴线安装让探头与来流方向对齐。除了位置还要注意朝向。皮托管安装时轴线要和无人机的前向轴线基本平行偏差控制在2度以内。装完以后用水平尺和角度尺量一遍别凭眼睛看。这个看似小细节实际影响巨大。3.2 从相对风到真实风解算流程与代码实现传感器输出的是相对风数据确切说是机体坐标系下的空速分量。要把它变成地面坐标系下的风矢量步骤是这样第一步读取皮托管的动态压差和静态气压结合大气温度算空速大小。第二步读取IMU的姿态角也就是横滚、俯仰、航向构建从机体坐标系到地面坐标系的旋转矩阵。第三步把空速矢量乘以旋转矩阵得到地面坐标系下的空气速度矢量。第四步用GPS或RTK读到的地速矢量减去空气速度矢量得到真实风速。这里要特别注意符号真实风等于空气相对地面的速度而不是地速减空速。下面是一段简化版的Python示意代码实际工程中还会加低通滤波和时间同步。import numpy as np # 输入压差dp(Pa)静压p(Pa)温度T(K) # 输出空速大小V_tas(m/s) def airspeed_from_pitot(dp, p, T): rho p / (287.05 * T) # 干空气密度单位kg/m^3 V_tas np.sqrt(2 * dp / rho) return V_tas # 输入机体坐标系空速分量(vx_body, vy_body, vz_body) m/s # 姿态角 roll, pitch, yaw (弧度) # 输出重力坐标系下的空气速度矢量(m/s) def body_to_ned(vx_b, vy_b, vz_b, roll, pitch, yaw): cr, sr np.cos(roll), np.sin(roll) cp, sp np.cos(pitch), np.sin(pitch) cy, sy np.cos(yaw), np.sin(yaw) R np.array([ [cp * cy, sp * sr * cy - cr * sy, sp * cr * cy sr * sy], [cp * sy, sp * sr * sy cr * cy, sp * cr * sy - sr * cy], [-sp, cp * sr, cp * cr] ]) v_body np.array([vx_b, vy_b, vz_b]) v_ned R v_body return v_ned # 真实风 空气速度矢量 - 地速矢量 # v_wind_ned v_ned - v_gps_ned姿态角的时延是另一个大坑。IMU数据更新率和气压数据更新率往往不一致飞控里的数据可能还带缓冲如果不对齐时间戳解算出来的风向会莫名其妙地偏。实际工程里建议所有传感器数据都打上UTC时间戳事后处理时做插值对齐或者用卡尔曼滤波统一估计。3.3 风洞标定与飞行验证实测数据长什么样设备装好后不能直接起飞得先做标定。最简单的标定方法是用标准风速源比如手持式热式风速计作为参考或者把皮托管固定在一个已知风速的风洞中。我没有风洞就用了一个土办法把皮托管和一台经过计量校准的精密风速计并排固定在车顶开车在无风天气里匀速行驶对比读数。标定的核心是看传感器的压差输出是否和真实空速一一对应。如果发现系统性偏差就在解算公式里加一个修正系数把空速乘以一个接近1的增益。每次标定记录下温度、气压、风速点至少取5个点做线性拟合。飞行验证建议分两步。第一步是多旋翼悬停测试注意这时候传感器测到的风速是旋翼诱导气流和真实风的叠加不能直接拿来做真实风速对比但可以看出数据的稳定性。第二步是找一个已知风速风向下的大气环境比如有地面气象站或者测风塔的场地无人机在测风塔附近不同高度悬停把机载数据和测风塔参考数据对比。实测下来皮托管加姿态解算方案在微风到中等风条件下风速误差能控制在每秒0.5米以内风向误差在5度左右这对大多数应用都够用了。4. 常见问题与排查技巧实录我踩过的那些坑这部分是压箱底的内容。很多问题说明书上不会写只有跑过外场、摔过数据才知道。4.1 悬停风速异常偏大先查是不是在测自己的桨下洗气流遇到过很多次多旋翼悬停时机载风速显示每秒六七米的风而周围树梢纹丝不动。一开始我还以为传感器坏了后来排查才发现探头装的位置正好在旋翼下洗流场的边界上。解決办法是调整探杆长度和位置让探头完全避开旋翼的滑流区。测试方法也简单无风天气无人机起飞悬停在不同高度观察风速读数。如果读数随着高度变化剧烈大概率是旋翼洗流的影响而不是真实大气风。4.2 数据突变、风向乱跳姿态解算比传感器更应先排查有一段时间我测固定翼风速风向数据发现飞行转弯时风速值忽大忽小风向也跟着乱跳。排查了一圈传感器最后发现是翼尖的皮托管在侧滑时读数失真加上IMU在转弯时的动态误差放大了解算结果。后来我在解算里加了侧滑角修正并且只在直线平飞段取数据问题就解决了。经验是先检查传感器静态输出再检查姿态角噪声最后才考虑算法别一上来就怀疑解算代码。4.3 快速排查思路速查表现象可能原因排查动作风速值明显偏高探头靠近旋翼洗流或机翼绕流调整安装位置重新做悬停测试风速值不变或归零皮托管动压孔堵塞拆下检查吹通并加装防尘罩风向乱跳IMU姿态解算噪声偏大检查减震、磁罗盘校准或改用RTK航向超声波风速仪数据周期跳变雨滴或沙尘扰动探头加装防护罩恶劣天气停飞数据滞后严重气压管路过长或数据时间戳不对齐缩短管路统一时间戳或做插值对齐不同架次结果差异大传感器标定值漂移起飞前做地面标定复核维护方面还有几个心得。皮托管动压孔每次飞完要检查野外风沙大小孔堵一次数据分析就得推倒重来。超声波探头的表面保持干净特别是积灰会影响声波耦合。所有接头和线缆要可靠固定震动松脱会导致供电不稳定表现就是数据偶发跳变然后恢复很有迷惑性。最后再分享一个小技巧不管用什么传感器原始数据一定要全程保存不要只保存解算后的风速风向结果。因为解算算法可以改但原始数据没法重测。我就吃过这个亏早期只记了换算结果后来发现算法有误还得重新飞一遍浪费时间还烧电池。现在我的习惯是机载SD卡和数传链路同时记录原始压差、姿态角、GPS速度回家以后用脚本统一后处理这样无论算法怎么调都有原始底单可以追溯。
返回列表