Betaflight飞控之FAILSAFE机制

92 篇文章 39 订阅

1. 源由

之前对航模飞控之FAILSAFE机制做了一个简单的探讨,并根据自己的理解做了简单的需求整理。

为了更好的了解现行Betaflight开源飞控对上述情况的处理方法,以及采用何种策略进行救援,能将损失减到最小。

接下来一起来看下Betaflight的设计逻辑。

注:以下内容主要来自Wiki文档以及部分代码的理解,因个人的理解,以及时间的变化,可能实际代码会有所变更。如果发现有出入的地方,也请小伙伴们能评论给出大家的意见和建议,谢谢!

2. 设计

在逻辑上分为几个步骤:

  • Step 1:signal validation:触发源验证
  • Step 2:failsafe stage 1:
  • Step 3:failsafe stage 2

注1:某些FAILSAFE策略执行过程呈现时间段性质,中途可能存在变数,就会出现不同的异常情况。
注2:笔者之前遇到的就是在RTL时,出现了GPS信号丢失,导致失控坠落的问题。

从软件设计角度,实现功能还不是最难的,而最为可贵的是对异常场景的分析,以及软件应对的方法。这就对设计者提出更高的要求。

现在的神经网络、AI算法等,其实更多是去解决多维度、多因素情况下的解决方案。从另一个层面,也可以看出对于这种问题的建模凸显了研发人员对于业务的抽象理解能力。这也就是为什么很多研发人员只会用已有的模型,无法通过模型调优或者重新建模来解决实际问题,因为这里最为关键的一环是业务模型的理解和抽象。

好,回到我们的正题上,设计上分为两个方面来讨论:

  1. 触发方式
  2. FAILSAFE策略

2.1 触发方式

鉴于Betaflight是FPV飞控开源软件,其作为第一人称视角的飞行控制,主要控制设备是遥控器。

  • 遥控开关触发
  • 遥控信号丢失

注:当接收机故障,输出信号和正常遥控器连接时输出信号一样的时候,飞控将无法感知遥控信号丢失的场景。

2.1.1 遥控开关触发

  • “阳光”用例:1–>2–>3–>4–>5–>6
  • Failsafe Stage1:1–>[2, 3]阶段过程,开关中断执行
  • Failsafe Stage2:1–>2–>3–>[4, 5]阶段过程,开关中断执行
    在这里插入图片描述

2.1.2 遥控信号丢失

  • “阳光”用例:1–>2–>3–>4–>5–>6–>7–>8–>9–>10
  • RXLOSS Hold:[1, 4]阶段过程,信号闪断恢复
  • Failsafe Stage1:1–>2–>3–>4–>5–>[6, 7]阶段过程,信号恢复
  • Failsafe Stage2:1–>2–>3–>4–>5–>6–>7–>[8, 9]阶段过程,信号恢复
    在这里插入图片描述

2.2 FAILSAFE策略

通过文档研读,目前有四种策略:

  1. Drop mode
  2. Landing mode
  3. GPS Return mode
  4. “Just Drop” mode

注:其中"Just Drop" 有点类似后门或者异常处理的一种模式,用户并非明显能感知或者通过配置得到。

2.2.1 Drop mode

在这里插入图片描述

2.2.2 Landing mode

在这里插入图片描述

2.2.3 GPS Return mode

Betaflight早前实现的是GPS救援,并非RTL功能,因为他是期望靠近飞手的时候,飞手直接遥控接管着陆。

因此,#4这个步骤实现的并非理想,不过目前Betaflight4.4.2看上去,该功能已经比较好了。
在这里插入图片描述

3. GPS救援状态机

通常来说Drop/Landing策略是比较容易理解的,而真正相对来说比较复杂的是GPS ReturnHome功能。要不,为什么说不要轻易远航,因为远航涉及很多异常。

就近飞哪怕是炸机,捡下飞机就是了,而远航不仅不一定能捡到,还有下方可能是住宅,可能是马路、街道,甚至可能是高速公路,如果出现意外,那就不是简单的捡飞机问题了。

因此,我们必须对飞控固件有充分的理解和认识,只有这样才能应对各种意外场景。

注:话虽这么说,毕竟我也是炸机了,对吧,哈哈!!!需要不断学习。

这个是GPS救援的状态机,主要关注以下几点:

  • RESCUE_IDLE:最终稳定状态(GPS救援功能未触发)
  • RESCUE_INITIALIZE:GPS救援功能打开后进入的第一个状态
  • RESCUE_ABORT:GPS信号异常或者其他异常,会进入该状态(会导致disarm,如果还么有降落,那就直接炸机了)

在这里插入图片描述

4. 总结

根据FAILSAFE策略执行流程以及GPS救援状态机的分析,当Betaflight执行救援时,如果遇到异常,仍然存在炸机风险。

当然相关问题,还在和官方沟通中,期待后续能有比较完美的解决方案。

详见:What will BF do when GPS signal lost, during GPS rescure? #11970

5. 参考资料

【1】航模飞控之FAILSAFE机制
【2】Betaflight Failsafe

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Betaflight 10.8.0是一款开源的多轴飞行控制软件。它专为无人机设计,具有强大的飞行控制能力和丰富的功能。如果您想下载Betaflight 10.8.0,您可以通过以下步骤获得它。 首先,您可以在Betaflight官方网站上获得最新版本的下载链接。访问官方网站后,找到下载页面并点击进入。在下载页面上,您将看到各种不同的版本可供选择。您需要找到10.8.0版本,并点击下载链接。 下载完成后,您可以将文件保存到您的计算机上的任意位置。请确保选择一个方便访问的位置,以便稍后安装软件。 然后,解压下载的文件。您可以使用常见的解压软件,例如WinRAR或7-Zip。右键点击文件并选择“解压缩到当前文件夹”或类似选项。解压完成后,您将在目标文件夹中看到Betaflight 10.8.0的文件和文件夹。 最后,您可以通过连接无人机到计算机上,使用飞行控制器如F4或F7,然后通过Betaflight Configurator来加载Betaflight 10.8.0。您只需打开Betaflight Configurator并选择正确的端口,然后将固件升级为Betaflight 10.8.0即可。 总之,下载Betaflight 10.8.0只需几个简单的步骤。请记住,使用Betaflight控制软件可能需要一定的技术知识和理解。在操作过程中,务必仔细阅读官方文档和教程,以确保您正确且安全地使用Betaflight 10.8.0。 ### 回答2: Betaflight是一款十分受欢迎的开源飞控固件,用于控制无人机的飞行和飞控功能。Betaflight 10.8.0是Betaflight团队开发的最新版本。 要下载Betaflight 10.8.0,首先需要访问Betaflight官方网站。在网站上,你可以找到下载页面。你可以在导航栏中找到“固件下载”或类似的选项。点击进入下载页面。 在下载页面,你会看到不同版本的Betaflight固件列在一起。现在你需要找到Betaflight 10.8.0的下载链接。可能有一些列如“最新稳定版”、“测试版”、“老版本”等的选项,你需要选择适合你的选择。找到Betaflight 10.8.0的选项并点击。 点击后,将会有一个提示框显示文件将要保存在电脑中的位置。选择一个你想保存固件文件的位置,并点击“保存”按钮。 下载过程可能需要一些时间,具体取决于你的网络连接和文件大小。一旦下载完成,你就可以在你选择的位置找到下载好的Betaflight 10.8.0固件文件。 下载好Betaflight 10.8.0后,你可以将固件文件烧录到你的飞控硬件中。具体的烧录步骤因不同的飞控硬件而异,你可以在Betaflight官方网站上找到详细的步骤和教程。 总之,要下载Betaflight 10.8.0,可以通过访问Betaflight官方网站,在下载页面中找到Betaflight 10.8.0的下载链接,然后保存到你的电脑中。下载完成后,可以将固件烧录到你的飞控硬件中,并开始享受最新版本的Betaflight带来的功能和飞行体验。 ### 回答3: Betaflight 10.8.0是一款开源的飞控固件,适用于无人机的飞行控制。要下载Betaflight 10.8.0版本,可以按照以下步骤进行操作: 第一步,打开Betaflight官方网站,网址为"https://betaflight.com/"。在网站首页的顶部导航栏中,可以找到一个名为"Downloads"的选项,点击进入。 第二步,进入Downloads页面后,会看到各个版本的Betaflight固件列表。向下滚动页面,直到找到Betaflight 10.8.0版本。点击版本号旁边的下载按钮。 第三步,选择适用于你的机型的固件下载链接。根据你的无人机型号和硬件配置,选择对应的下载链接,比如选择适用于F3飞控的固件。 第四步,点击下载链接后,会开始下载Betaflight 10.8.0的固件文件。下载完成后,将文件保存到你的计算机本地或指定的文件夹中。 第五步,将下载的Betaflight 10.8.0固件文件导入到你的飞控设备中。具体方法可以参考Betaflight官方网站提供的相关教程或使用说明。 总结,要下载Betaflight 10.8.0固件,首先前往Betaflight官方网站的Downloads页面,找到对应版本的固件文件,下载并导入到你的飞控设备中,然后按照相关教程进行设置和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值