无人机基础:四旋翼飞行原理、姿态角与IMU传感器
在进入TinyML无人机AI项目之前,必须先建立对无人机底层动力学与感知硬件的清晰认知。四旋翼无人机通过调节四个电机的转速产生推力和力矩,实现空间六自由度运动;而姿态角(俯仰、横滚、偏航)是描述机体相对地面坐标系方向的核心参数;IMU(惯性测量单元)则通过加速度计、陀螺仪和磁力计的组合,为飞控系统提供实时姿态解算所需的原始数据。本章将从飞行原理、姿态角定义、IMU工作原理三个维度展开,并结合实际项目中的传感器选型与数据融合策略进行说明。
2.1 四旋翼飞行原理:力与力矩的平衡艺术
四旋翼飞行器的基本结构是十字形或X形布局,四个电机分别驱动四个螺旋桨。与固定翼飞机不同,四旋翼完全依靠螺旋桨产生的推力与力矩实现飞行控制。其核心原理是通过改变四个电机的转速分配,产生不平衡的力与力矩,从而控制飞行器的姿态与位置。
以X型布局为例(M1前左、M2前右、M3后左、M4后右),当四个电机转速相等时,总推力向上,若推力等于重力,飞行器悬停。当需要向前飞行时,后侧电机(M3、M4)转速增加,前侧电机(M1、M2)转速减小,机体前倾,推力向量产生水平分量,飞行器向前加速。同理,横滚运动通过左右侧电机差速实现,偏航运动则利用反扭矩差实现——由于螺旋桨旋转方向不同(M1、M3逆时针,M2、M4顺时针),当逆时针电机转速高于顺时针电机时,机体产生顺时针偏航力矩。
| 运动方向 | 电机转速变化 | 物理原理 | 典型应用 |
|---|---|---|---|
| 垂直升降 | 四电机同步增减 | 总推力与重力之差 | 起飞、降落、悬停 |
| 俯仰(前后) | 前侧减/后侧增(或反之) | 俯仰力矩产生水平推力分量 | 前后平移、加速减速 |
| 横滚(左右) | 左侧减/右侧增(或反之) | 横滚力矩产生侧向推力分量 | 左右平移、侧风修正 |
| 偏航(旋转) | 逆时针组与顺时针组差速 | 反扭矩差产生偏航力矩 | 机头朝向调整 |
在实际飞控中,电机转速并非直接由姿态角决定,而是通过级联PID控制器:外环(位置环)输出期望姿态角,内环(姿态环)输出期望角速度,最终转换为PWM占空比控制电机。这种级联结构使得姿态控制响应更快、更稳定。
2.2 姿态角定义:从机体坐标系到世界坐标系
姿态角是描述无人机机体坐标系相对于地面坐标系(NED:北东地)旋转关系的三个角度。理解姿态角必须明确坐标系的定义:机体坐标系原点位于飞行器重心,X轴指向机头方向,Y轴指向右翼,Z轴垂直向下;地面坐标系原点固定于起飞点,X轴指向正北,Y轴指向正东,Z轴垂直向下。
三个姿态角的具体定义如下:
- 俯仰角(Pitch, θ):机体X轴与水平面的夹角,范围-90°~+90°。抬头为正,低头为负。俯仰角由加速度计的X轴分量和陀螺仪的Y轴角速度共同决定。
- 横滚角(Roll, φ):机体Y轴与水平面的夹角,范围-180°~+180°。右倾为正,左倾为负。横滚角由加速度计的Y轴分量和陀螺仪的X轴角速度共同决定。
- 偏航角(Yaw, ψ):机体X轴在地平面上的投影与正北方向的夹角,范围0°~360°或-180°~+180°。机头右偏为正。偏航角无法由加速度计直接测量,必须依赖磁力计或GPS航向。
姿态角的数学表示常用欧拉角,但欧拉角存在万向节锁问题(当俯仰角接近±90°时,横滚与偏航无法区分)。因此工程上通常使用四元数进行姿态解算,再转换为欧拉角供控制使用。四元数表示法避免了奇异性,且计算效率高,适合嵌入式平台。
2.3 IMU传感器工作原理:加速度计、陀螺仪与磁力计
IMU(Inertial Measurement Unit)是飞控系统的核心感知器件,通常集成在三轴加速度计、三轴陀螺仪和三轴磁力计于一体。在TinyML无人机项目中,IMU的原始数据(加速度、角速度、磁场强度)直接作为AI模型的输入特征,因此理解其物理原理和输出特性至关重要。
2.3.1 加速度计:测量比力
加速度计基于MEMS(微机电系统)技术,内部有一个质量块悬挂在弹性结构上。当加速度计受到加速度时,质量块发生位移,通过电容或压阻效应检测位移量,从而计算出加速度。但需要注意:加速度计测量的不是纯粹的加速度,而是比力(Specific Force),即物体受到的惯性力与重力之差。在静止状态下,加速度计输出的是重力加速度的反向向量(约1g),因此可以用于计算俯仰和横滚角。
例如,当无人机水平悬停时,加速度计三轴输出约为(0, 0, -1g)。当俯仰角为30°时,X轴输出约为0.5g,Z轴输出约为-0.866g。通过反正切函数即可求得俯仰角:θ = atan2(ax, sqrt(ay²+az²))。但加速度计对振动敏感,电机高速旋转产生的振动会叠加在信号上,因此需要低通滤波。
2.3.2 陀螺仪:测量角速度
MEMS陀螺仪基于科里奥利效应。当质量块在驱动方向振动时,若绕敏感轴旋转,会产生垂直于驱动方向和旋转轴的科里奥利力,该力使质量块在检测方向产生位移,通过电容检测即可得到角速度。陀螺仪输出的是角速度(°/s),对时间积分即可得到角度变化量。
陀螺仪的优点是动态响应快、不受振动影响,但存在零偏漂移(Bias Drift)和温度漂移。即使静止时,陀螺仪输出也不完全为零,积分后角度会缓慢漂移。因此,纯陀螺仪积分得到的姿态角在数分钟内就会明显偏离真实值。
2.3.3 磁力计:测量地磁场
磁力计基于磁阻效应或霍尔效应,测量地磁场在机体坐标系中的三个分量。地磁场在水平面上的分量总是指向磁北,因此通过磁力计的X、Y轴分量可以计算偏航角:ψ = atan2(-my, mx)。但磁力计极易受干扰:电机电流产生的磁场、附近铁磁性物质、高压线等都会导致测量偏差,因此需要进行硬磁和软磁校准。
| 传感器 | 测量物理量 | 优点 | 缺点 | 典型输出频率 |
|---|---|---|---|---|
| 加速度计 | 比力(m/s²) | 无漂移,可测倾斜角 | 噪声大,受振动影响 | 100-1000 Hz |
| 陀螺仪 | 角速度(rad/s) | 动态响应快,噪声低 | 零偏漂移,积分误差累积 | 100-8000 Hz |
| 磁力计 | 磁场强度(μT) | 提供航向参考 | 易受电磁干扰,需校准 | 10-100 Hz |
2.4 姿态解算与数据融合:从原始数据到稳定姿态
单独使用任何一类传感器都无法获得长期稳定且动态响应好的姿态角。工程上普遍采用互补滤波或卡尔曼滤波进行数据融合。互补滤波的核心思想是:加速度计和磁力计提供低频可信的姿态角,陀螺仪提供高频可信的角速度积分,两者通过高通和低通滤波器组合,得到全频段可靠的姿态估计。
以互补滤波为例,其基本公式为:
姿态角 = 高通滤波(陀螺仪积分) + 低通滤波(加速度计/磁力计计算)
即:angle = α * (angle + gyro * dt) + (1-α) * accel_angle
其中α为滤波系数,通常取0.95~0.98
更高级的卡尔曼滤波则通过状态空间模型,融合陀螺仪的角速度(作为状态预测)和加速度计/磁力计的姿态角(作为观测更新),并估计陀螺仪零偏,实现更优的噪声抑制。在TinyML项目中,如果MCU算力有限,互补滤波是更实用的选择;如果使用MPU6050等带DMP(数字运动处理器)的芯片,可以直接读取融合后的四元数,减少主控计算负担。
2.5 实战场景:基于IMU数据的姿态识别与飞控保护
在TinyML无人机AI项目中,IMU数据不仅是飞控的基础,也是AI模型的重要输入。以下是一个典型的应用场景:基于IMU的异常姿态检测与自动保护。
场景描述:某小型四旋翼无人机在户外飞行时,遭遇阵风导致姿态突变。飞控系统需要快速识别异常姿态(如翻转、坠落、碰撞),并触发保护机制(如自动降落、电机锁定)。传统方法使用固定阈值判断,但误报率高。我们使用TinyML训练一个轻量级分类模型,输入为IMU的6轴原始数据(加速度+角速度),输出为正常飞行、翻转、自由落体、碰撞四种状态。
关键步骤:
- 数据采集:以200Hz采样率记录IMU数据,同时记录飞控状态标签。共采集30分钟正常飞行、5分钟人为翻转、3分钟自由落体、2分钟碰撞数据。
- 特征工程:使用滑动窗口(窗口大小1秒,步长0.5秒),提取每个窗口的均值、方差、峰值、RMS等统计特征,共生成24维特征向量。
- 模型训练:使用TensorFlow Lite Micro训练一个两层全连接神经网络(输入24维,隐藏层16个神经元,输出4类),模型大小约8KB。
- 部署与推理:将模型部署到STM32F405飞控(Cortex-M4,168MHz),推理时间约2ms,满足实时性要求。
- 保护逻辑:当模型连续3帧(约15ms)预测为“翻转”或“碰撞”时,立即触发电机锁定并开启蜂鸣器报警。
结果对比:传统阈值法(仅检测加速度幅值超过3g)在急转弯时误报率高达15%,而TinyML模型误报率降至2%以下,且能识别出自由落体(加速度接近0g)这一阈值法难以检测的状态。