[BF学院_卷1] -- 第21讲:四旋翼为什么可以通过电机控制姿态 —— Mixer 背后的物理基础
第21讲:四旋翼为什么可以通过电机控制姿态 —— Mixer 背后的物理基础
本讲知识点
- Motor(电机)如何通过改变旋翼转速影响飞机运动
- 螺旋桨旋转产生的两种作用力:Thrust(推力)与旋转反作用力
- CW(顺时针)与 CCW(逆时针)螺旋桨在四旋翼中的作用
- 四旋翼悬停时升力平衡与旋转力矩平衡的原理
- Roll(横滚)、Pitch(俯仰)、Yaw(偏航)如何通过改变电机输出产生
- 飞机运动需求与电机实际输出之间的区别
- Mixer(混控器)为什么需要将控制需求转换为 Motor Command(电机指令)
本讲对应 Betaflight 控制链位置
本讲位于:
PID Controller(PID控制器)
↓
PID Output(PID输出)
↓
Mixer(混控器)
↓
Motor Command(电机指令)
↓
Motor(电机)
↓
Aircraft Motion(飞机运动)
回顾上一讲
上一讲中,我们已经建立:PID Controller负责根据误差计算飞机需要产生的控制作用,最终输出 PID Output。
但是,PID 并不知道:
Motor 1 应该增加多少?
Motor 2 应该减少多少?
Motor 3 应该保持多少?
Motor 4 应该变化多少?
因此, 控制链进入:
PID Output(PID输出)
↓
Mixer(混控器)
↓
Motor Command(电机指令)
本讲学习目标
在进入 Betaflight 源码之前,还需要回答一个更基础的问题:
为什么改变不同电机的输出,飞机就能够产生 Roll、Pitch、Yaw 这些运动?
本讲不进入代码,本讲只建立 Mixer 背后的物理直觉。
电机到底改变了什么?
首先,我们观察四旋翼最基本的执行机构:Motor(电机)。
电机本身并不知道:ROLL, PITCH, YAW 这些控制概念,电机只完成一件事情:改变旋翼转速。
旋翼转速变化以后,会影响:推力(Thrust)。
也就是飞机向上的作用力。
简单理解:
电机转得更快 -> 旋翼产生更大推力 -> 飞机受到更大的向上作用力
所以, 飞控最终控制的并不是姿态。
飞控控制的是:
电机输出 -> 改变推力分布 -> 产生姿态变化
四旋翼电机到底产生了什么力量?
在理解 Roll(横滚)、Pitch(俯仰)、Yaw(偏航)之前,我们需要先解决一个最基础的问题:
四旋翼的电机转动以后,到底产生了什么?
很多初学者会直接认为:
电机转动 -> 产生升力 -> 飞机飞起来
这个理解没有错,但是不完整。
对于四旋翼来说,螺旋桨转动以后,同时产生两类重要作用:
第一类:垂直方向的升力;
第二类:旋转方向上的反作用力;
后面的:
Roll(横滚)
Pitch(俯仰)
Yaw(偏航)
本质上都是利用这两种作用力的变化实现的。
因此,在进入 Mixer(混控器)之前,需要先理解四旋翼本身的物理基础。
螺旋桨如何产生升力?
四旋翼的每一个电机上,都安装有一个螺旋桨, 当电机旋转时,螺旋桨推动空气运动。
由于螺旋桨桨叶具有一定的角度:
旋转中的桨叶向下推动空气
↓
空气产生反作用力
↓
飞机受到向上的力
这个向上的力,就是Thrust(推力)。
所以,对于悬停状态,四个电机产生的总升力,需要刚好抵消飞机自身重力。
也就是:四个螺旋桨产生升力 = 飞机重力。
飞机就保持高度不变。
四旋翼为什么需要两种旋转方向的螺旋桨?
如果所有电机都使用同一种旋转方向的螺旋桨,会出现一个问题。
例如,四个电机全部顺时针旋转:
M1 CW
M2 CW
M3 CW
M4 CW
根据牛顿第三定律:
作用力 -> 产生反作用力
螺旋桨向空气施加旋转作用力, 同时, 空气也会给螺旋桨一个反方向的力, 这个力会作用到机架上。
于是:
所有螺旋桨顺时针旋转
↓
产生逆时针反作用力
↓
飞机机身会尝试反向旋转
也就是说, 如果四个电机方向完全相同,飞机即使能够产生升力,也会不断自己旋转。
因此,四旋翼需要让不同电机产生相反方向的旋转力。
四旋翼电机安装方式
典型四旋翼采用:
M1:CW(Clockwise,顺时针)
M2:CCW(Counter Clockwise,逆时针)
M3:CW(顺时针)
M4:CCW(逆时针)
也就是:
M1(CW) M2(CCW)
M4(CCW) M3(CW)
通过这种交错排列:
顺时针旋转产生的反作用力 + 逆时针旋转产生的反作用力
互相抵消。
最终, 飞机产生升力, 但是不会自己持续旋转
悬停时四个电机发生了什么?
现在观察最稳定的状态:悬停(Hover)
此时, 四个电机同时工作, 它们完成两个平衡。
第一个平衡:
升力平衡
四个螺旋桨产生的推力:
M1 Thrust + M2 Thrust + M3 Thrust + M4 Thrust
总和, 等于飞机重量,因此,飞机高度保持不变
第二个平衡:
旋转力平衡
由于:
M1、M3 使用 CW,M2、M4 使用 CCW
所以,顺时针旋转产生的反作用力 与 逆时针旋转产生的反作用力 互相抵消。
因此,飞机不会自动旋转,最终悬停状态:
升力 = 重力
旋转反作用力 = 0
飞机保持高度稳定,姿态稳定
为什么增加推力可以产生旋转?
现在我们已经知道:
每一个螺旋桨产生两个重要作用:
1. 推力
2. 旋转方向上的反作用力
那么问题来了,如果我们改变某几个电机的输出,会发生什么?
答案:飞机的平衡会被破坏。
而这种“不平衡”,就是控制飞机运动的来源。
例如:
如果左侧两个电机增加推力:
左侧升力增加
↓
左侧飞机被向上推
↓
飞机产生倾斜趋势
↓
产生 Roll(横滚)
如果前后电机推力变化:
前后升力不同,飞机产生 Pitch(俯仰)
如果改变旋转方向力矩:
顺逆时针反作用力不再完全抵消
↓
飞机产生 Yaw(偏航)
因此,四旋翼并不是直接控制:
Roll
Pitch
Yaw
而是:
改变不同电机输出
↓
改变推力分布
↓
改变旋转力矩
↓
产生飞机运动
这也是后续 Mixer(混控器)存在的物理基础。
从物理世界进入控制系统
现在,我们可以重新连接前面的控制链。
PID Controller(PID控制器)输出:
飞机需要产生什么运动
例如:
需要向右 Roll
需要向前 Pitch
需要旋转 Yaw
但是,电机只能理解:提高转速,降低转速。
因此,中间需要一个转换过程:
飞机运动需求
↓
需要哪些电机增加或减少推力
↓
Motor Command(电机指令)
这个过程,就是:
Mixer(混控器)
本节核心认识
理解 Mixer 之前,必须先建立三个物理基础:
第一:螺旋桨旋转会产生推力,推力方向垂直于螺旋桨旋转平面。
第二:螺旋桨旋转同时会产生反作用力,这个反作用力会影响飞机旋转。
第三:四旋翼通过 CW 与 CCW 螺旋桨组合,让悬停时升力平衡,旋转力矩平衡。
在此基础上,改变不同电机输出,破坏原有平衡,产生 Roll / Pitch / Yaw,
而 Mixer 的任务,就是计算为了产生目标运动,每一个电机应该改变多少输出。
下一讲预告
进入 mixer.h, 观察 Betaflight 如何用代码描述 Mixer 的基本结构。
浙公网安备 33010602011771号