(37)安全开关

文章目录

前言

37.1 LED的含义

37.2 配置安全开关

37.3 使用安全开关强制更新I/O板固件


前言

一个安全开关可以用来启用/禁用电机和伺服的输出。该开关控制飞行器的"安全"状态。当处于这种状态时,电机被阻止运行(除了在 Plane's MANUAL 模式下,如果强制解锁和BRD_SAFETY_MASK 启用控制电机的输出),产生一个预解锁错误条件以防止意外解锁,并且伺服输出的 PWM 被禁用。


37.1 LED的含义

持续闪烁 - 系统正在初始化。

间歇性闪烁 - 系统准备就绪,但处于"安全"状态。如果已经解锁,按下安全开关,使输出到电机和控制面,或取消阻止解锁的预解锁错误条件。

常亮 - 安全开关已被按下,一旦飞行器被解锁起来,电机和舵机就能移动。

37.2 配置安全开关

BRD_SAFETY_DEFLT = 0,为没有配备的系统禁用开关(在旧的固件版本中为 BRD_SAFETYENABLE)。

BRD_SAFETYOPTION。这个比特掩码控制安全按钮的行为。它允许你控制安全按钮是否可以用来启用安全状态和/或禁用安全状态,以及该按钮是否只在加锁时激活,并在加锁时强制返回到安全状态。默认的行为是按钮进入或退出安全状态,只有在加锁时才有可能。

BRD_SAFETY_MASK 可以用来设置哪些单独的通道在安全开关下保持启用。这允许有限的控制面运动来检查地面上的正确操作。在所有的稳定飞行模式下,电机输出将保持禁用。

Note

处于"安全"状态下。

 BRD_SAFETYOPTION 这个比特掩码控制安全按钮的操作限制。它允许你控制安全按钮是否可以用于"安全"状态的启用和/或禁用,以及按钮在解锁时是否有效。另外,如果"安全"状态在加锁时被强制打开。

37.3 使用安全开关强制更新I/O板固件

如果在自动驾驶仪通电后的最初几秒钟按住安全开关,如果自动驾驶仪包括 IOMCU,则 I/O 固件会被重新加载。

这通常是不需要的,但在一些罕见的情况下,如果你在启动后听到"启动失败"的声音,则需要在固件上传后进行(见 Sounds wiki page)。

音调报警器播放的曲子表示各种状态。点击下面的描述,下载并聆听相关的曲子。

  • EKF or Inertial Nav Failure
  • Start up OK
  • Start up Failed
  • New IO board firmware found (restart with safety button pushed to upload)
  • New IO board firmware loaded successfully
  • No SD Card
  • Armed
  • Disarmed
  • Failed to Arm
  • Low Battery
  • GPS glitch
  • Barometer Glitch
  • Parachute Release
  • Lost Copter Alarm

Note

许多自动驾驶仪有两个 CPU,主 CPU(又称 FMU)是 ArduPilot 运行的地方。IOMCU 是一个独立的 I/O CPU,负责一些 I/O,包括 PWM 输出到 MAIN OUT 通道。其他自动驾驶仪没有 IOMCU,只有主 CPU

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/20249.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis 实现库存扣减

在日常开发中有很多地方都有类似扣减库存的操作,比如电商系统中的商品库存,抽奖系统中的奖品库存等。这次分享的是库存的操作怎么防止商品被超卖。 解决方案 基于数据库单库存基于数据库多库存基于redis 解决思路 使用mysql数据库,使用一个…

【javaEE面试题(四)线程不安全的原因】【1. 修改共享数据 2. 操作不是原子性 3. 内存可见性 4. 代码顺序性】

4. 多线程带来的的风险-线程安全 (重点) 4.1 观察线程不安全 static class Counter {public int count 0;void increase() {count;} } public static void main(String[] args) throws InterruptedException {final Counter counter new Counter();Thread t1 new Thread(()…

到手价的监测要求和方法

品牌在做电商价格监测时,为什么要对到手价进行监测,这其中的原因还是很显现的,各平台的促销信息众多,如果只监测页面价的低价行为,那将有非常多的低价链接不会被发现,而这也会导致品牌做渠道管控时失去公平…

电脑内存错误怎么办?

内存是电脑的基本配件之一,一款电脑的内存大小能够在一定程度上决定这款电脑的性能。我们在使用电脑的过程中总会出现一些关于内存大大小小的问题,其中电脑提示内存错误的原因是什么?电脑内存错误怎么解决呢? 内存错误的原因 电脑的很多故障往往都会反…

Java锁

1. 乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为 别人不会修改,所以不会上锁。 但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前…

四、程序员如何高质量重构代码?

有道无术,术尚可求也,有术无道止于术。你好,我是程序员雪球,今天和你聊聊程序员重构代码那些事。 程序员重构代码的重要性不言而喻,但如何进行有效的重构呢?下面是一些建议和指导。 为什么要重构&#xff…

leaflet +高德地图纠偏

一、html源码 <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title></title><meta charset"utf-8" /><linkrel"stylesheet"href&…

利用远程调试获取Chromium内核浏览器Cookie

前言 本文将介绍不依靠DPAPI的方式获取Chromium内核浏览器Cookie 远程调试 首先我们以edge为例。edge浏览器是基于Chromium的&#xff0c;而Chromium是可以开启远程调试的&#xff0c;开启远程调试的官方文档如下&#xff1a; https://blog.chromium.org/2011/05/remote-deb…

中介者(Mediator)模式

目录 动机使用场景参与者协作效果实现相关模式应用和思考 中介者(Mediator)是对象行为模式&#xff0c;用一个中介对象来封装一系列对象的交互。中介者使各对象不需要显式的相互应用&#xff0c;从而使其耦合松散&#xff0c;而且可以独立的改变他们之间的交互 动机 面向对象设…

【Arduino小车实践】PID应用之四驱小车

一、 PID公式 二、 PID应用的必要性 1. 四驱小车运动 左边两个驱动轮和右边两个驱动轮的速度相同直线右边轮子的速度大于左边轮子的速度左偏右边轮子的速度小于左边轮子的速度 右偏 2. 产生多种运动的原因 小车的4个电机&#xff0c;减速箱以及车轮在物理层面上存在误差&am…

STM32 Proteus仿真LCD12864火灾检测烟雾火焰温度报警器MQ2 -0064

STM32 Proteus仿真LCD12864火灾检测烟雾火焰温度报警器MQ2 -0064 Proteus仿真小实验&#xff1a; STM32 Proteus仿真LCD12864火灾检测烟雾火焰温度报警器MQ2 -0064 功能&#xff1a; 硬件组成&#xff1a;STM32F103R6单片机 LCD12864 液晶显示DS18B20 温度传感器多个按键电位…

【数据结构导论】第 5 章:图

目录 一、图的基本概念 &#xff08;1&#xff09;图的定义 &#xff08;2&#xff09;图的基本术语 &#xff08;3&#xff09;图的基本运算 二、图的存储结构 &#xff08;1&#xff09;邻接矩阵 ① 图的邻接矩阵 ② 带权图(网)的邻接矩阵 ③ 邻接矩阵的类型定…