(37)安全开关

news2024/12/23 7:33:32

文章目录

前言

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.coloradmin.cn/o/748482.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年9月山东/厦门/南宁/深圳DAMA-CDGA/CDGP认证考试报名

据DAMA中国官方网站消息,2023年度第三期DAMA中国CDGA和CDGP认证考试定于2023年9月23日举行。 报名通道现已开启,相关事宜通知如下: 考试科目: 数据治理工程师(CertifiedDataGovernanceAssociate,CDGA) 数据治理专家(CertifiedDataGovernanc…

记一次在forEach循环中使用异步代码无效

背景 代码如下: const res1 await getOrderPackage({XM_LX: "95", // 入院检查套餐 }); const res2 await getOrderPackage({XM_LX: "98", // 入院检验套餐 });const res [...res1.data, ...res2.data] let retList: any[] []; const map: …

一万字带你吃透RocketMQ

前言 工作中很多种场景下会用到消息队列,消息队列简单来说就是 消息的传输过程中保存消息的容器。消息队列主要解决了应用耦合、异步处理、流量削峰等问题。今天我们来了解一下阿里开源的一款产品 RocketMQ。 RocketMQ简介 RocketMQ 是一款低延迟、高并发、高可用…

SEM代运营费用解析:为什么值得投资?

随着企业竞争的日益激烈,SEM(搜索引擎营销)作为一种重要的数字营销手段,已经成为各类企业不可或缺的一部分。然而,在进行SEM代运营时,很多企业都会关心费用问题。本文将为您解析SEM代运营费用的组成和投资价…

React中的key有什么作用?

一、是什么 首先&#xff0c;先给出react组件中进行列表渲染的一个示例&#xff1a; const data [{ id: 0, name: abc },{ id: 1, name: def },{ id: 2, name: ghi },{ id: 3, name: jkl } ];const ListItem (props) > {return <li>{props.name}</li>; };co…

网络安全(黑客技术)自学笔记

首先给大家简单介绍一下网络安全&#xff1a; 1.什么是网络安全&#xff1f; 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、…

【星戈瑞】荧光染料BODIPY-689/725激发发射应用

BODIPY-689/725是一种荧光染料&#xff0c;BODIPY具有强烈吸收和发射荧光的有机染料&#xff0c;常用于生物成像和荧光探针应用中&#xff0c;其激发和发射波长适合于深层组织和细胞内的成像,可应用于生物成像、荧光探针、传感器等领域。 产品名称&#xff1a;氟化硼二吡咯-68…

房屋结构安全监测方案,守护城市建筑的安全底线!

近年来&#xff0c;随着城市化进程的加速和建筑业的迅猛发展&#xff0c;房屋结构安全成为社会关注的焦点。房屋在长期使用的过程中可能遭受到各种自然原因逐渐老化、人为原因的损坏导致房屋基础结构产生老化、腐蚀、折断等险情&#xff0c;进而引发结构倾斜、位移、开裂、扭曲…

flink启动报错Failed to construct kafka producer

flink local模式下启动 sink2kafka报错&#xff0c;具体报错如下 apache.kafka.common.KafkaException: Failed to construct kafka producerat org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:432)at org.apache.kafka.clients.producer.…

【JDBC】Java连接MySQL数据库

文章目录 一、数据库编程二、Java数据库编程JDBC2.1 什么是JDBC2.2 JDBC的工作原理 三、JDBC基本操作3.1 JDBC API3.2 数据库连接Connection3.3 Statement对象3.4 ResultSet对象 四、应用案例 一、数据库编程 数据库编程指的是通过编程语言与数据库进行交互和操作的过程&#…

uniapp 一些常用的公共方法

封装代码可以看这篇文章: uniapp 封装公共方法(无需每个页面引用,直接可以调用)_前端小胡兔的博客-CSDN博客uniapp 封装公共方法https://blog.csdn.net/weixin_44805839/article/details/131684296?spm1001.2014.3001.5501 常用方法: 自定义返回页面 (直接使用uni.naviga…

DuiLib中的list控件以及ListContainerElement控件

文章目录 前言1、创建list控件2、创建 ListContainerElement 元素&#xff0c;并添加到 List 控件中,这里的ListContainerElement用xml来表示3、在 ListContainerElement 元素中添加子控件 1、List控件2、ListContainerElement控件 前言 在 Duilib 中&#xff0c;List 控件用于…

【微服务】集成其他已有的模块

目录 下载新的模块信息删除git信息将已有模块复制到当前项目里面在父pom文件中&#xff0c;加上复制进的模块重新解析结果 下载新的模块信息 删除git信息 将已有模块复制到当前项目里面 在父pom文件中&#xff0c;加上复制进的模块 重新解析 结果 集成完成

第二十四章:索引的数据结构

第二十四章&#xff1a;索引的数据结构 24.1&#xff1a;为什么使用索引 ​ 索引是存储引擎用于快速找到数据记录的一种数据结构&#xff0c;就好比一本教课书的目录部分&#xff0c;通过目录中找到对应文章的页码&#xff0c;便可快速定位到需要的文章。MySQL中也是一样的道…

Java实现图片与Base64编码互转

Java实现图片与Base64编码互转 淘宝里面的html用base64转换图片&#xff0c;不知道为什么&#xff0c;不过看起来好像很美好&#xff0c;话不多说&#xff0c;直接上代码&#xff1a; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOE…

Effective Java笔记(6)避免创建不必要的对象

一般来说&#xff0c;最好能重用单个对象&#xff0c;而不是在每次需要 的时候就创建一个相同功能的新对象 。 重用方式既快速&#xff0c;又流行 。 如果对象是不可变的&#xff08; immutable ) &#xff08;详见第 17 条&#xff09;&#xff0c;它就始终可以被重用 。 作为…

Golang gui walk入门教程(一)安装walk环境

一、golang环境 Go 1.11.x or later 二、安装walk go get github.com/lxn/walk 三、安装rsrc 运行walk程序需要manifest&#xff0c;rsrc提供了这个功能 go install github.com/akavel/rsrc 安装完成后在GOPATH的bin下面会有一个rsrc.exe的可执行文件 在idea的termial输入r…

Tauri 提供界面 + 使用 Rust 实现连接远程 Linux 服务器、发送文件、执行命令

Tauri 提供界面 使用 Rust 实现连接远程 Linux 服务器、发送文件、执行命令 文章目录 Tauri 提供界面 使用 Rust 实现连接远程 Linux 服务器、发送文件、执行命令一、Tauri 概述二、界面预览三、代码参考1、main.rs2、App.vue3、Greet.vue4、依赖 一、Tauri 概述 Tauri 是一…

C语言动态获取设备的网络接口名称和状态以及对应的IP地址

一、目的 在实际项目中需要获取设备的IP地址然后通过广播的形式通知局域网内的其他设备。 二、介绍 方法一 通过ioctl方式获取SIOCGIFADDR信息 /** C Program to Get IP Address*/ #include <stdio.h> #include <string.h> #include <sys/types.h> #includ…

mfc120u.dll丢失修复,mfc120u.dll缺失的解决方法

MFC120u.dll缺失的原因 当系统中缺少或损坏了MFC120u.dll文件时&#xff0c;就会出现"MFC120u.dll缺失"的错误提示。造成MFC120u.dll缺失的原因可能有以下几种情况&#xff1a; 1.文件删除或损坏&#xff1a;MFC120u.dll文件可能因为误删除、病毒感染、硬盘故障等原…