在 Navigator Hat 上运行 SITL

树莓派 4 - raspbian11
BlueOS V1.4.0-beta.17
ArduRover V4.5.7
飞行控制器导航器
车辆类型 - 水面船

我的配置如下:

  1. 更换电路板至SITL
  2. 下载固件 4.5.7
  3. 重置车辆设置中的所有参数(蓝色操作系统页面)
  4. 设置 SITL 参数
  5. 已校准的加速度计(通过启动检查)
  6. 将 SIM_SPEEDUP 设置为 1(解决线程卡死故障)
  7. SIM_WIND_SPD 设置为 0(在接触任何东西之前,它自身移动速度相当快)

目前我似乎无法使用驾驶舱或QGC很好地操控它。我不知道是不是我的设置还有什么遗漏。即使设置了引导模式和定位点,它的表现也非常奇怪。

您没有运行最新的稳定版本 1.4.2(比您目前运行的测试版更新)?这可能是导致您问题的原因……请尝试更新后再试。

重置参数后,您是否加载了 BlueBoat 的默认参数?在 SITL 中应该不需要校准任何传感器……

为了更清楚地说明——导航器本身并不“运行”任何代码——它只是承载外部传感器。当运行SITL或标准固件时,自动驾驶代码是在树莓派CPU上运行的。

需要注意的是,如果校准参数设置为零,则 SITL 会像普通的自动驾驶仪固件版本一样发出警告,只是通常需要校准相关传感器的地方,SITL 的解决方案是将这些参数更改为较小的非零值(如果 默认参数集是为 SITL 制作的,则通常应该如此,我相信这包括 SITL 自带的“固件默认值”)。

我的理解是,在将主板设置为 SITL 模式并下载相应的固件后,我需要将参数重置为固件默认值(如上文步骤 3 所述)。难道不是这样吗?

我什么时候需要使用 SITL.params 按钮?我以为我们也需要设置这些参数,以确保对电路板作为模拟器运行时进行正确的调整。

要让这次运行按预期进行,正确的步骤是什么?

我们最初尝试在独立的 Linux 桌面上运行 ardupilot 模拟器,但我们意识到可以直接在船上的硬件(pi+nav hat)上执行此操作。

我以为需要将所有参数重置为固件默认值,这样大部分值就会被设置为已知状态,然后加载推荐参数集会调整所有必需的设置,使其能够以 SITL 模式运行。

如何正确配置才能使 SITL 按预期运行?

默认的 BlueBoat 参数是必要步骤,无需重置所有参数。
要解决此问题,请转到“可用服务”页面,然后单击最右侧栏中的“自动驾驶仪管理器 v2.0 文档”链接。在加载的页面上,将 /sitl_frame 下的 frame type 更改为 motorboat,然后执行:

image

目前这种方式略显怪异,不够友好,但好在至少它可行。 :grinning: