高通导航器软件开发包使用指南(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 光流模式工作不正常
在以下情况下,光流模式可能会转换为高度控制模式,并降低滚动/俯仰角限制:
• 飞行器在质地较差的表面上
• 飞行器处于非常黑暗的环境中
注意:飞行器无法在高度控制模式下保持其位置。