高通导航器软件开发包使用指南(17)

news2024/11/25 6:41:14

高通导航器软件开发包使用指南(17)

  • 11 附加的功能
    • 11.1 螺旋桨障碍检测
      • 11.1.1 螺旋桨起转期间
      • 11.1.2 飞行中
      • 11.2 低电压警告和迫降
    • 11.3 GPS 模式下的 Geotether
    • 11.4 禁飞区功能
    • 11.5 不允许螺旋桨旋转的传感器检查
    • 11.6 仿真模式
      • 11.6.1 简介
      • 11.6.2 用法
  • 12 状态 LED 参考
    • 12.1 LED 颜色代码
      • 12.1.1 飞行模式颜色代码
      • 12.1.2 着陆模式颜色代码
      • 12.1.3 校准颜色代码
      • 12.1.4 其他颜色代码
      • 12.2 引导顺序示例
  • 13 故障排除
    • 13.1 Qualcomm Navigator 未初始化
    • 13.2 无法启动螺旋桨
    • 13.3 飞行器开机后发出“悲伤”的声音
    • 13.4 Qualcomm Navigator 无法进入光流模式
    • 13.5 飞行器无法使用 DroneController 应用程序飞行
    • 13.6 光流模式工作不正常

11 附加的功能

Qualcomm Navigator 具有提高安全性、帮助飞行器向用户传达警告以及执行特殊任务(例如绑定 RC)的功能。

11.1 螺旋桨障碍检测

Qualcomm Navigator 使用双向 ESC 通信向 ESC 发送命令并接收有关电机状态的反馈。 该反馈用于检测螺旋桨的障碍物。

11.1.1 螺旋桨起转期间

如果在初始螺旋桨旋转阶段检测到一个或多个电机已失速并且未开始旋转,则所有电机都会停止。 控制返回给用户以尝试另一次起飞。

11.1.2 飞行中

如果在飞行过程中检测到一个或多个电机失速,飞行器将进入紧急停止模式,在该模式下所有电机立即停止,状态 LED 显示常亮白色,并且飞行器发出响亮的蜂鸣声。 此安全功能旨在防止螺旋桨在发生碰撞时伤害人或物。

注意:一旦进入 Emergency Kill 模式,在飞行员完成启动螺旋桨的序列之前,飞行器无法更改模式。 序列完成后,Qualcomm Navigator 将退出 Emergency Kill 模式。 有关启动顺序,请参见第 4.3 节。

11.2 低电压警告和迫降

当电池电压达到某个阈值时,状态 LED 会将低电压警告代码覆盖在当前显示的代码之上。 当显示低电压警告时,飞行员必须立即开始计划着陆。

如果电池电压继续下降直至达到第二个阈值:

  • 状态 LED 显示临界电压警告代码
  • 根据飞行模式,会发生以下操作之一:
    • 飞行器开始通过限制最大可能推力迫使飞行员着陆
    • 飞行器降低高度设定点
      注意:飞行员必须避免将飞行器驾驶到这个阶段。

11.3 GPS 模式下的 Geotether

geotether 功能使 Qualcomm Navigator 能够使用 GPS 数据来限制飞行器的允许飞行区域。 在 GPS 位置控制模式下,从起飞位置的最大径向平移是有限的。 最大半径由第 8.27 节中描述的 geotether_radius 参数定义。 用户无法在该圆形区域之外命令所需的 X 和 Y 位置。

在用户控制 Z 速度的任何模式下,最大高度都受到限制。 不允许用户在特定高度以上命令所需的 Z 位置。 起飞位置上方的高度受第 8.9 节中描述的 max_relative_pressure_height 参数的限制。 此功能对用户控制推力大小的模式没有影响。

11.4 禁飞区功能

Qualcomm Navigator 可以使用 GPS 数据限制在某个安全区域之外的飞行。 定义此功能的参数在第 8.18 节中描述。 用户可以使用半径和经纬度坐标来指定安全圆圈区域。

如果启用该功能并且 GPS 数据表明飞行器在安全区域之外,则会发生以下情况:

  • LED 警告灯闪烁,参见第 12.1 节
  • 飞行器螺旋桨不启动
  • 如果飞行器处于用户控制 Z 速度的飞行模式,则飞行器被迫下降

在未来的版本中,禁飞区功能将得到扩展,以添加具有类似飞行限制的禁区(例如,机场)。

11.5 不允许螺旋桨旋转的传感器检查

在允许螺旋桨旋转之前,Qualcomm Navigator 会检查某些传感器值。 角速度分量必须低于特定阈值,加速度大小必须在特定范围内,并且总横滚和俯仰倾斜角必须低于阈值。 这些参数在第 8 章中定义。如果飞行器被命令启动但此功能不允许,飞行器会发出“悲伤”的声音。

11.6 仿真模式

11.6.1 简介

模拟模式是一种支持硬件在环飞行模拟和 Qualcomm Navigator API 程序飞行前测试的功能。 在这种模式下,Qualcomm Navigator 从模拟物理和传感器的模拟引擎获取传感器输入(模拟的飞行器是小型无人机样本)。 可以使用 Spektrum RC、DroneController 或 API 程序输入用户命令。 在模拟中,所有传感器输入都是无噪声的,并且以其预期速率以零延迟生成。

可以使用记录的 sim_ground_truth 字段监控飞行器的位置和姿态。 出于模拟的 3D 可视化目的,API 程序可以查询此字段。 世界被建模为在 z=0 处具有平坦地平面的无障碍物。 当飞行器撞击地平面时,侧倾和俯仰归零。 模拟始终以位置和滚动/俯仰/偏航设置为 (0,0,0) 开始(偏航是相对于正东定义的)。

11.6.2 用法

运行 sim_time 命令以启动模拟,其中 sim_time 是要模拟的最小秒数。 如果道具在 t=sim_time 时打开,模拟将继续运行,直到道具不再旋转至少 1 秒。
$ snav -w sim_time

12 状态 LED 参考

12.1 LED 颜色代码

Qualcomm Navigator 使用 LED 颜色代码来传达飞行器状态。 每个代码被定义为八种重复颜色的序列。

12.1.1 飞行模式颜色代码

在这里插入图片描述

12.1.2 着陆模式颜色代码

在这里插入图片描述

12.1.3 校准颜色代码

在这里插入图片描述

12.1.4 其他颜色代码

在这里插入图片描述

12.2 引导顺序示例

打开飞行器电源。 ESC 发出哔哔声。
在这里插入图片描述
IMU 开始初始化。
在这里插入图片描述

飞行器静止,IMU 初始化成功完成。 ESC 发出启动铃声,这是从低频到高频的一系列音调。
在这里插入图片描述

打开遥控。 ESC 发出提示音,表示正在接收 RC 数据。 LED 状态代码现在取决于 RC 的通道值。 飞行器准备起飞。

13 故障排除

13.1 Qualcomm Navigator 未初始化

状态 LED 可以帮助确定飞行器无法启动的原因。 有关状态 LED 代码的完整列表,请参阅第 12 章。

应用处理器上是否安装了正确的平台版本?
由于 Qualcomm Navigator 依赖于一些包含的库,因此在应用处理器上安装正确的平台映像非常重要。 如果安装了错误的库版本,可能会出现运行时错误。 使用 Qualcomm Navigator 工具很难调试此类错误。

运行时参数文件是否存在?
确保 /usr/lib/rfsa/adsp 中存在 snav_params.xml,否则 Qualcomm Navigator 不会初始化。 有关说明,请参阅第 2.4.3 节。

是否运行了静态加速度计偏移校准?
如果显示以下 LED 代码,请运行加速度计偏移估计校准:
在这里插入图片描述
有关说明,请参阅第 6.2 节。
运行校准后重新启动飞行器。

打开电源后飞行器是否停在静止的表面上?
以下 LED 代码表示 IMU 正在尝试初始化但由于检测到移动而无法完成。
在这里插入图片描述
将飞行器放在不同的表面上。

通信问题
以下 LED 代码表示 ESC 和飞控之间存在通信问题。
在这里插入图片描述

确保 ESC 连接到正确的端口并且没有连接器损坏。

13.2 无法启动螺旋桨

确认状态 LED 未显示错误代码。 有关错误代码的完整列表,请参阅第 12 章。 如果状态 LED 显示错误代码,螺旋桨不会以所需模式启动。

模式可以根据错误代码是什么而改变; 否则,该错误需要进行故障排除(即是否存在电机错误、IMU 错误或姿态估计错误)。

当状态 LED 显示与飞行模式对应的代码时,尝试启动序列。 确保没有任何螺旋桨被阻塞,这会导致所有螺旋桨自动停止。

如果在油门杆被放下并向左或向右偏航时没有发出声音,请调整 RC 上的油门微调。 调整微调直到发出提示音。

传感器值可能超出允许启动螺旋桨的范围。 请参阅第 11.5 节。

飞行器可能位于禁飞区,请参阅第 11.4 节。

13.3 飞行器开机后发出“悲伤”的声音

如果在开机后发出从高频到低频的一系列音调(在初始化提示音出现之前,如果有的话),飞行器警告一些推荐的校准没有成功加载。 可能允许飞行,但性能可能会下降。 请参阅第 6.5 节以了解推荐的校准程序,并执行这些程序以抑制警告音。

13.4 Qualcomm Navigator 无法进入光流模式

光流进程是否在应用处理器上运行? 否则,LED 代码显示如下:
在这里插入图片描述

13.5 飞行器无法使用 DroneController 应用程序飞行

确认以下内容:

  • 运行 DroneController 的设备连接到无人机的 Wi-Fi 网络
  • 在应用程序设置中将端口设置为 14556
  • IP 地址与无人机的 IP 地址相匹配
    如果没有可用的位置估计(见第 4.1.8 节),LED 代码显示如下:
    在这里插入图片描述

13.6 光流模式工作不正常

在以下情况下,光流模式可能会转换为高度控制模式,并降低滚动/俯仰角限制:
• 飞行器在质地较差的表面上
• 飞行器处于非常黑暗的环境中
注意:飞行器无法在高度控制模式下保持其位置。

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

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

相关文章

一种用于入侵检测的自适应集成机器学习模型

一种用于入侵检测的自适应集成机器学习模型学习目标学习内容一.Decision Tree Based Intrusion Detection System for NSL-KDD Dataset二、一种用于入侵检测的自适应集成机器学习模型D. Multi-Tree算法E. 深度神经网络(Deep Neural Networks)算法/多层感知机&#x…

pikachu平台SQL注入

pikachu平台SQL注入 日常心累、速通pikachu注入相关 目录pikachu平台SQL注入使用到的名词解释1. 数字型注入 --使用bp处理数据包2. 字符型注入 --hackbar处理3. 搜索型注入4. xx型注入5. insert/update注入6. delete注入7. http头注入8. 布尔盲注9. 时间盲注10. 宽字节注入使用…

MYSQL 事务、事务隔离级别和MVCC,幻读

快照读和当前读 快照读:快照读就是读取的是快照数据,不加锁的普通 SELECT 都属于快照读。如下面语句: select * from table where ..... 当前读:当前读就是读的是最新数据,而不是历史的数据,加锁的 SELECT&#xff0c…

八、Nacos服务注册和配置中心

SpringCloud Alibaba Nacos服务注册和配置中心 Nacos简介 为什么叫Nacos 前四个字母分别为Naming和Configuration的前两个字母,最后的s为Service 是什么 一个更易于构建云原生应用的动态服务发现,配置管理和服务管理中心 Nacos:Dynamic…

微信

引言:微信必不可少,但用着用着 C 盘内存飙升,不知如何解决?这篇博文来帮你 文章目录一、安装微信二、微信文件默认保存位置的更改三、WeChat Files 有什么?一、安装微信 下载之前先在 D 盘(除了 C 盘就行&…

Android Profiler入门与实践

1、内存分析 点击MEMORY,可以看到正在运行进程的各种内存使用情况 Tips:点击右上角的垃圾桶图标会触发强制gc 1.1、查看Java堆内存和Java实例 执行以下代码: 说明:list为MainActivity的全局变量,所以list的只有在M…

数据结构和算法——基于Java——4.1栈(数组实现栈、链表实现栈)

理论补充 先进后出 FILO(First-Input-Last-Out)的有序列表,限制线性表中元素的插入和删除只能在线性表的同一端进行 栈顶:变化的一端栈底:固定的一端 代码实现 2.1 数组模拟栈 package com.b0.stack;import java.util.Scanner…

[附源码]Python计算机毕业设计SSM考研信息共享博客系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

为ubuntu配置WiFi

1.前提条件 ubuntu不论什么版本,如果想要正常使用wifi,必须在电脑的bios中把secure boot设定为disable 2.快捷指令(WiFi相关的常用命令行指令) 2.1查看电脑连接的蓝牙和网卡设备 rfkill list all0: hci0: Bluetooth 这个是我电…

79. 单词搜索

79. 单词搜索 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水…

微服务单元测试策略

欢迎关注公众号:TestingStudio,学习更多测试开发必备技能 单元测试对应用程序中最小的可测试软件进行测试,以确定其行为是否如预期的那样。 被测试单元的大小没有严格定义,但是单元测试通常是在类级别或围绕一小组相关的类编写的。被测试的单元越小&…

STM32实战总结:HAL之IAP

我们学习单片机一般都是从51开始的,51单片机烧录程序通常是使用烧录软件如STC-ISP。这种方式,通过串口连接单片机,选择一个合适的波特率就可以烧录了。 后来学习STM32,编程时使用KEIL软件自带的下载按钮就能下载程序,方…

09-13-Hbase-shell入门操作

09-Hbase-shell入门操作: HBase Shell 操作 DDL基本操作 1.进入 HBase 客户端命令行 [roothadoop102 hbase-1.3.1]# bin/hbase shell 2.查看帮助命令 hbase(main):001:0> help 3.查看当前数据库中有哪些表 hbase(main):0…

大数据 | Hadoop、Hive、Spark的关系

文章总括图 数据存储 单机数据库时代 所有数据在单机都能存的下,数据处理的任务都是IO密集型,更谈不上分布式系统 一个典型的2U服务器可以插6块硬盘,每块硬盘4T,共24T原始容量,再加上一些数据包的可用冗余&#xf…

22081-12-1 cortex-M4核中断和串口通信实验的结合

1、实验要求:按键触发时,LED灯状态取反,并在串口工具打印一句话 eg:KEY1按键按下,LED1状态取反,串口工具打印key1 down! 重点代码如下: //gpio.c void HAL_GPIO_EXTI_Falling_Cal…

全程软件自动化测试

软件自动化测试的概念 “什么是软件自动化测试?”也许很多人的回答是:“使用自动化测试工具或者编写自动化脚本来自动化测试软件”,还有一些权威网站,比如 WikiPedia 是这样定义的: “在软件测试中,自动化…

IDEA2020.3.3创建Java web工程时找不到Java Enterprise

最近在学习使用IDEA进行java web开发,然后在创建的时候找不到Java Enterprise,如下图: 解决办法: 可以新建一个java项目,再将这个项目升级成javaweb项目即可 新建一个javaweb的java项目,右键选择Add Framework Suppo…

Spring Cloud教程 第十一弹 Spring Cloud Config连接git和数据库

Spring Cloud Config1、什么是Spring Cloud Config?2、EnvironmentRepository抽象3、实战:使用git作为配置源1、搭建config server2、搭建config client3、config server HTTP接口4、实战:使用数据库作为配置源5、实战:复合配置源1、什么是S…

Ajax访问本地服务器案例

1.首先我们需要两个文件夹 2.我们先从服务器开始,此处我们搭建一个express服务器 用vscode打开express文件夹,打开终端 先执行 npm init 初始化项目(此处可以一直回车,直到出现新的可操作终端为止) 3.终端中输入 npm…

GEE开发之Modis_GPP数据分析和获取

GEE开发之Modis_GPP数据分析和获取1.GPP2.MOD系列和MYD系列区别3.MOD17A2H(500m/8天)4.MYD17A2H(500m/8天)4.1 MYD17A2H下的指数4.2 遥感影像查看5.GPP日数据下载(以MYD17A2H为例)6.GPP月数据下载(以MYD17A2H为例)7.GPP年数据下载(以MYD17A2H为例)前言:主要介绍利用…