无人机三轴稳定化控制(1)____飞机的稳定控制逻辑

这段代码是飞行控制系统(固定翼)中Mode的类的成员函数run(),主要实现飞机的稳定控制逻辑。

cpp 复制代码
void Mode::run()
{
    // Direct stick mixing functionality has been removed, so as not to remove all stick mixing from the user completely
    // the old direct option is now used to enable fbw mixing, this is easier than doing a param conversion.
    if ((plane.g.stick_mixing == StickMixing::FBW) || (plane.g.stick_mixing == StickMixing::DIRECT_REMOVED)) {
        plane.stabilize_stick_mixing_fbw();
    }
    plane.stabilize_roll();
    plane.stabilize_pitch();
    plane.stabilize_yaw();
}

以下是分步解析:

---1. 注释部分

cpp 复制代码
// Direct stick mixing functionality has been removed, so as not to remove all stick mixing from the user completely// the old direct option is now used to enable fbw mixing, this is easier than doing a param conversion.
  • 翻译:移除了直接杆混功能,但为了不完全剥夺用户的杆混能力,旧的直接选项现在被用来启用飞控混合(FBW)功能,这比参数转换更简单。

背景说明:- 杆混功能(Stick Mixing)是指直接将油门/副翼/升降舵等操纵杆输入直接映射到执行器(如电机、舵机)。- 飞控混合(FBW, Fly-By-Wire)是通过飞控算法对杆混输入进行运算后输出到执行器,提升操控性和安全性。- 注释表示旧的DIRECT选项被重新定义为启用FBW功能,而非完全移除。

---2. 条件判断:启用FBW混合

cpp 复制代码
if ((plane.g.stick_mixing == StickMixing::FBW) ||     (plane.g.stick_mixing == StickMixing::DIRECT_REMOVED)) {    plane.stabilize_stick_mixing_fbw();}
  • 功能:当飞行模式满足以下条件之一时,执行FBW混合逻辑:
  1. 用户设置为StickMixing::FBW(显式启用飞控混合)
  2. 用户设置为StickMixing::DIRECT_REMOVED(原直接杆混选项,已被重新定义)- 核心操作:调用plane.stabilize_stick_mixing_fbw(),对操纵杆输入进行飞控算法处理(如姿态解算、PID控制等)。

---3. 三轴稳定化控制

cpp 复制代码
plane.stabilize_roll();    // 滚转轴稳定化plane.stabilize_pitch();   // 俯仰轴稳定化plane.stabilize_yaw();     // 偏航轴稳定化
  • 功能:无论条件是否满足,都会对飞机的三个主要运动轴进行稳定化处理:
  1. 滚转轴(Roll):控制飞机绕纵轴的旋转(如左右倾斜)。
  2. 俯仰轴(Pitch):控制飞机绕横轴的旋转(如抬头/低头)。
  3. 偏航轴(Yaw):控制飞机绕垂直轴的旋转(如航向转向)。

---代码逻辑总结

  1. FBW混合逻辑:仅在特定模式(FBW或旧的DIRECT选项)下启用,对杆混输入进行飞控算法处理。
  2. 三轴稳定化:无论模式如何,都会执行滚转、俯仰和偏航的稳定控制。实际应用场景这段代码可能属于开源飞控系统(如APM、PX4),用于实现:- 手动模式下的姿态稳定(如ACRO模式)- 半自动模式中的辅助控制(如FBW模式)- 飞行安全的底层保障(防止快速滚转/俯仰导致失速)

---注:关键术语解释

  1. Stick Mixing(杆混):将操纵杆输入直接映射到执行器(如电机、舵机)。
  2. . FBW(Fly-By-Wire):通过飞控算法对杆混输入进行运算后输出,提升操控性。
  3. 三轴稳定化:通过传感器(如IMU)反馈,对飞机姿态进行实时调整。
相关推荐
古译汉书2 小时前
嵌入式铁头山羊STM32-各章节详细笔记-查阅传送门
数据结构·笔记·stm32·单片机·嵌入式硬件·个人开发
max5006002 小时前
基于Meta Llama的二语习得学习者行为预测计算模型
人工智能·算法·机器学习·分类·数据挖掘·llama
超级大福宝2 小时前
使用 LLVM 16.0.4 编译 MiBench 中的 patricia遇到的 rpc 库问题
c语言·c++
王哥儿聊AI3 小时前
Lynx:新一代个性化视频生成模型,单图即可生成视频,重新定义身份一致性与视觉质量
人工智能·算法·安全·机器学习·音视频·软件工程
手握风云-5 小时前
优选算法的寻踪契合:字符串专题
算法
闭着眼睛学算法5 小时前
【华为OD机考正在更新】2025年双机位A卷真题【完全原创题解 | 详细考点分类 | 不断更新题目 | 六种主流语言Py+Java+Cpp+C+Js+Go】
java·c语言·javascript·c++·python·算法·华为od
IT古董5 小时前
【第五章:计算机视觉-项目实战之目标检测实战】2.目标检测实战:中国交通标志检测-(2)中国交通标志检测数据格式转化与读取
算法·目标检测·计算机视觉
一枚码农~5 小时前
STM32红外与LED控制实战
单片机·嵌入式硬件
MobotStone5 小时前
LLM 采样入门到进阶:理解与实践 Top-K、Top-P、温度控制
算法
Heavy sea5 小时前
STM32定时器(寄存器与HAL库实现)
stm32·单片机