用于非 GPS 导航的 Marvelmind

本文介绍了如何 MarvelMind 系统可短程替代 GPS,允许自动和制导等定位控制模式。参见 用户手册 了解系统的更多详情。

../_images/marvel-mind.jpg

图片来源:marvelmind.com

所需硬件

Marvelmind 设置

  • 确保 Marvelmind 的固件版本为 5.77(或更高),并启用控制面板中的 "原始距离数据"。

  • 在仪表板中将地址最低的固定信标设置为原点。

  • 必须在仪表盘上设置每个固定信标从地面算起的高度。

  • 应将对冲设置为以 115200 波特率输出 Marvelmind 协议。

连接(飞行)控制器

  • 设置 EK3_SRC1_POSXY 至 4(灯塔)

  • 设置 EK3_SRC1_VELXY 至 0(无)

  • 设置 EK3_SRC1_POSZ 至 4(灯塔)

  • 设置 EK3_SRC1_VELZ 至 0(无)

  • 设置 EK3_SRC1_YAW 至 1(指南针)

  • 设置 BCN_TYPE 到 2(指使用 Marvelmind 系统)

  • 设置 BCN_LATITUDE, BCN_LONGITUDEBCN_ALT 以符合您的实际位置。虽然要从 ArduPilot 的小型数据库中正确查找罗盘的偏角,但准确获取这些值并不特别重要。

  • 设置 BCN_ORIENT_YAW 是指从原点信标到第二个信标的航向。获取该值的一种方法是,站在原点操控载具,使车头指向第二个信标。从 HUD 上读取载具的航向,并将此值输入到 BCN_ORIENT_YAW

  • 设置 GPS1_TYPE 为 0 则禁用 GPS

  • 设置 上膛检查 到 -9,以禁用 GPS 上膛检查

  • 设置 SERIAL1_BAUD 到 115,将遥测 1 的波特率设置为 115200(如果使用遥测 2,则设置为 SERIAL2_BAUD 而是)

  • 设置 serial1_protocol 设置为 13 以启用从 marvelmind 接收数据(如果使用 Telem2,则设置为 serial2_protocol 而是)

  • 设置 brd_ser1_rtscts 设置为 0 以确保 Telem1 不使用流量控制(如果使用 Telem2,则设置为 brd_ser2_rtscts 而如果使用串行 4/5 则不需要)。

地面测试

  • 将(飞行)控制器连接到地面站

  • 点击仪表板上的 "冻结地图

  • 大约 1 分钟后,载具的位置将跳转到您在配置步骤(上文)中输入的经度和纬度。

  • 检查载具位置是否相对稳定(即移动距离不超过一米)

  • 在信标之间走动载具,确保其在地图上的位置正确更新

数据闪存记录

与信标的距离可在数据闪存日志 BCN 报文的 D0、D1、D2 和 D3 字段中找到。