用于非 GPS 导航的 Optitrack¶
本文介绍了如何 光学跟踪 运动捕捉系统可用作 GPS 的短程替代品,允许在室内使用 Loiter、Guided、RTL 和 Auto 等定位控制模式。
备注
您的飞行器需要最新版本的 ArduPilot(Copter-4.0 或更高版本)。
所需硬件¶
请参阅 OptiTrack 自建 工具,用于安装动作捕捉系统所需的所有硬件。
备注
要跟踪无人机的位置和方向,至少需要 4 个标记。
动作捕捉系统设置¶
请参阅 OptiTrack 快速入门指南 进行硬件和软件设置。设置地平面时,不要忘记标记原点和轴线。正 X 将指向室内飞行环境的 "北方"(因为我们不使用指南针,所以不需要指向实际/磁性北方)。
所需软件¶
备注
不支持动机 3
准备无人机¶
警告
强烈建议使用小型无人机进行室内飞行,并在试飞环境中部署笼子。
提示
如果您正在寻找用于室内飞行测试的小型无人机,Skyviper V2450 GPS 无人机或其后续产品 journey GPS 无人机是一个不错的选择。它的价格非常实惠,开箱即可运行 ArduPilot。您可以轻松地使用定制的 ArduPilot 对其进行升级。如果您喜欢定制小型无人机,有一个非常不错的选择 这里.另一个示例视频中使用的 RTF 四旋翼飞行器框架可从以下网站获取 sdmodel.
首先,您需要在无人机上放置标记。非常重要的一点是,放置标记时要使它们形成立体的、不对称的形状。请参考 OptiTrack 硬体标记位置 了解详情。
然后,将无人机放在地平面上,对准动作捕捉系统的 X 轴。无人机应朝向正 X 方向。
在 Motive 中选择所有标记并创建刚体。请参考 OptiTrack 创建刚体 详情
配置无人机¶
设置 AHRS_EKF_TYPE 至 3 、 EK3_ENABLE 为 1 和 EK2_ENABLE 至 0
设置 COMPASS_USE, COMPASS_USE2, COMPASS_USE3 它可以防止 ArduPilot 使用指南针,因为室内环境中存在许多电磁干扰源。
设置 VISO_TYPE 至 1
设置 VISO_POS_M_NSE 降至 0.3 或更低,以提高运动捕捉系统位置测量值的权重。
设置 VISO_YAW_M_NSE 至 0.2 或更低
设置 EK3_SRC1_POSXY 至 6
设置 EK3_SRC1_POSZ 至 6
设置 EK3_SRC1_YAW 至 6
设置 EK3_SRC1_VELXY 至 0
设置 EK3_SRC1_VELZ 至 0
向无人机发送数据¶
启动 MAVProxy 并连接到您的旋翼飞行器。在 MAVProxy 中加载 optitrack 模块:
模块 负荷 光轨
您需要设置跟踪刚体 ID,以便与 Motive 中的设置相匹配:
光轨 设置 obj_id 刚体流编码
如果将 Motive 数据流本地接口设置为环回以外的接口,则需要用以下命令配置 optitrack 模块:
光轨 设置 服务器 服务器 IP 地址 optitrack 设置 客户 客户 IP 地址
备注
Motive 和 ArduPilot 的坐标系都是右旋的。ArduPilot 的 Z 轴朝下,而 Motive 的 Y 轴朝上。
设置好所有参数后,开始向 ardupilot 发送姿势:
光轨 启动
地面测试¶
将无人机连接到地面站
启动动机并确保 数据流 已打开。
如果您在地面站控制台看到以下信息(初始位置可能会有所不同),那么无人机就可以进行飞行测试了
EKF2 IMU0 正在使用外部导航数据 EKF2 IMU0 初始位置 NED = 0.1,-0.2,0.0 (m) EKF2 IMU0 外部导航偏航对齐完成
飞行测试¶
在 AltHold 模式下起飞并保持稳定悬停。切换到 "着陆 "模式,但随时准备在飞行器位置或高度不稳定时切换回 "保持高度 "或 "稳定 "模式。
备注
要在引导或自动模式下起飞,您需要使用 全球原产地 来设置运动捕捉系统原点的 GPS 位置。位置不一定要精确,任何有效的纬度/高度都可以。