高通导航器软件开发包使用指南(1)
1 简介
1.1 目的
Qualcomm Navigator™ SDK 是一个飞行堆栈,包含一个高性能飞行控制器以及相关模块和工具。 Qualcomm Navigator 可实现激进而稳定的飞行。
Qualcomm Navigator 包括安全功能,例如螺旋桨障碍物检测、低压强制着陆和传感器丢失时的智能模式转换。
Qualcomm Navigator 是一个复杂的系统,需要了解飞行模式、用户输入和状态 LED 代码。
本文档描述了 Qualcomm Navigator 文件、如何将文件安装到目标、运行 Qualcomm Navigator 以及使用 Qualcomm Navigator 操作车辆。
本文档假定目标具有正确的元构建并且读者具有 UNIX 的基本知识。
1.2 约定
函数声明、函数名称、类型声明和代码示例以不同的字体显示,例如 #include。
代码变量出现在尖括号中,例如 。
命令和命令变量以不同的字体显示,例如,复制 a:. b:。
Qualcomm Navigator 可配置参数的格式为 navigator_parameters。
1.3 技术援助
如需帮助或澄清本文档中的信息,请通过 https://support.cdmatech.com 向 Qualcomm Technologies 提交案例。
如果您无法访问 CDMATech 支持网站,请注册访问或发送电子邮件至 support.cdmatech@qti.qualcomm.com。
2 入门
本章提供在 Qualcomm Flight™ APQ8x96 板上开始使用 Qualcomm Navigator 的说明。
2.1 许可
Qualcomm Navigator 在启动前需要有效的许可证文件。 将提供的许可证复制到车辆上的以下目录:
/opt/qcom-licenses/
如果没有有效的许可,Qualcomm Navigator 不会初始化并报告许可错误。
2.2 卸载 Qualcomm Navigator
在安装 Qualcomm Navigator 之前,请移除所有现有安装。 备份现有的自定义配置或参数文件,因为它们可能会在卸载或新安装时被覆盖。
如果将 Qualcomm Navigator 安装在干净的板上,请跳过本节并参阅第 2.4.1 节。
使用以下命令清除任何现有的 Qualcomm Navigator ipk 包:
$ opkg 删除 <名称>
此命令删除所有现有的 Qualcomm Navigator 文件,包括配置。
2.3 安装机器视觉库
在安装 Qualcomm Navigator 之前,必须安装机器视觉库 libmv1.so。 此库是 Qualcomm Navigator 的要求,并与相关软件包一起安装。 如果没有这个包,Qualcomm Navigator 安装将失败。
将机器视觉 ipk 包复制到车辆并使用以下命令进行安装:
$ opkg install /path/to/ipk/<mv_ipk_package_name>.ipk
机器视觉库 libmv1.so 安装到 /usr/lib/。
2.4 安装高通导航器
在安装 Qualcomm Navigator 之前确保以下内容:
- 目标器件已准备好最新的板级支持包(BSP)。
- 机器视觉库已成功安装。
2.4.1 封装
此版本包括以下软件包:
- snav__8x96.ipk – Qualcomm Navigator 二进制文件、配置文件和 API 头文件
- snav-oem__8x96.ipk – Qualcomm Navigator 二进制文件、配置文件和 API 头文件,用于制造商的产品开发
- snav-oem-release__8x96.ipk – Qualcomm Navigator 二进制文件用于制造商的产品发布。
注意:只应安装一个软件包。
- 选择要安装的ipk包。
- 对于基本安装,选择 snav__8x96.ipk
- 将选定的包复制到应用程序处理器上的目录,例如 /home。
注意:scp 和 adb 工具可用于文件传输。 因为 adb 通常需要 USB 连接到目标设备,所以使用 scp 进行无线传输。
-
为确保内容写入磁盘并在电源循环后持续存在,请从目标控制台调用同步。
-
将包复制到目标后,从应用处理器控制台运行以下命令来安装包:
$ opkg install /path/to/ipk/<ipk_package_name>.ipk
-
响应任何询问是否覆盖冲突符号链接的提示。 默认情况下,安装不会覆盖现有的符号链接。 如果未找到冲突的符号链接,则安装将在没有任何提示的情况下完成。
注意:安装基于小型无人机示例。 要使该软件与其他车辆一起使用,必须更改运行时参数文件。 运行时参数在第 8 章中描述。
2.4.2 安装概述
Qualcomm Navigator 软件由在应用处理器和 DSP 上运行的进程组成。 Qualcomm Navigator 软件包将许多库、可执行文件和配置文件安装到目标。
2.4.2.1 应用处理器
共享库安装到 /usr/lib,可执行文件安装到 /usr/bin。 应用程序处理器的附加配置文件安装到 /etc/snav。
与自动启动 Qualcomm Navigator 软件相关的脚本安装到 /etc/systemd/system。
2.4.2.2 DSP
与在 DSP 上运行的软件相关的二进制文件和配置文件安装到 /usr/lib/rfsa/adsp。
2.4.3 配置运行时参数
注意:第一次安装时,您必须定义 /usr/lib/rfsa/adsp/snav_params.xml,或者作为指向包含车辆特定运行时参数的文件的符号链接或作为包含车辆特定运行时的文件参数。 一旦定义,它会在安装中持续存在。 对于小型无人机示例,创建一个名为 snav_params.xml 的符号链接,指向 200qc_runtime_params.xml。 除非在此文件中指定了所有必需参数或包含在此文件中包含的文件中,否则 Qualcomm Navigator 将不会启动。
注意:为您使用的车辆使用正确的参数文件至关重要。 Debian 软件包安装的默认参数用于小型无人机示例。 必须为任何其他车辆更改这些参数。 请勿在不了解其用途的情况下更改这些参数,因为不正确的参数可能会导致车辆碰撞。
2.5 运行 Qualcomm Navigator
完成软件包安装并配置正确的运行时参数后,可以使用以下命令启动 Qualcomm Navigator:
$ sudo start snav
此命令还尝试启动配置为自动启动的任何其他进程。 默认情况下,Qualcomm Navigator 配置为使用 Visual Inertial Odometry (VIO) 和 Qualcomm DroneController 伴随进程自动启动。
注意:如果启动 snav 时出现运行时错误,请确保在应用程序处理器上安装了正确的平台映像。 Qualcomm Navigator 依赖于平台版本或飞行控制器插件中包含的一些库。 安装这些库的正确版本至关重要。
注意:在第一次运行 Qualcomm Navigator 之前需要执行一些操作。 请参阅第 6.5 节。 Qualcomm Navigator 运行后,可以使用以下命令将其停止:
$ sudo stop snav
注意:停止命令在飞行过程中不起作用。
2.5.1 自动启动能力
自动启动功能适用于 8x96,但仍在积极开发中。 文档将在以后更新。
2.5.1.1 禁用自动启动
自动启动功能适用于 8x96,但仍在积极开发中。 文档将在以后更新。
2.5.2 手动启动 Qualcomm Navigator
Qualcomm Navigator 也可以在不使用自动启动脚本的情况下手动启动,但不建议将其用于基本用途。 要在启用默认日志记录的情况下启动 Qualcomm Navigator 核心功能,请以 root 身份在应用程序处理器上执行 snav。
$ sudo snav
运行以下命令查看 snav 使用情况:
$ snav -h