从“手动”模式切换到“Alt 键按住”模式时突然俯冲?

全部,

我们已经观察到 ROV 存在可重复出现的行为;我有一个针对 ArduSub 的补丁,看起来有效,但在我启动 Github 方面之前,我想先向社区征求意见。

我们的 BlueROV2 Heavy 运行的是 BlueOS-1.4 系统,搭载 Ardupilot 4.5.7 版本(也测试过 4.5.5 版本)。测试环境非常特殊:

  1. 水中车辆,已上膛,处于备用行驶状态
  2. 解除车辆武装
  3. 设置为手动模式
  4. 武装车辆(当前处于手动模式)
  5. 设置为 Alt 键模式

车辆将突然下降约1米,然后在略低于其原始深度的位置稳定下来。第二步和第三步可以互换(先手动操作再解除武装,或先解除武装再手动操作)。

我认为这是由于Arudpilot 中的这一行代码mode_manual.cpp` 导致的:

        attitude_control->set_throttle_out(0,true,g.throttle_filt);

应该是

        attitude_control->set_throttle_out(0.5,true,g.throttle_filt);

其他人也能模仿这种行为吗?如果可以,我很惊讶这种行为在野外并不常见。

假设ROV处于 alt_hold 模式,深度为 1 米,你解除了它的武装。它浮到水面,然后你将其切换到手动模式。当你再次激活它时,ROV应该会下潜到 alt_hold 模式下的最后深度——所以我认为你遇到的情况并没有什么异常?
至少,手动控制模式下的代码不太可能与 alt_hold 模式下的行为有关……

通常情况下,手动模式在实际航行中根本不用到,用户会根据航行活动在稳定模式和定高模式之间切换。手动模式下,航行器很难操控——我只在起飞前用它来检查电机功能!

我希望您说的 BlueOS 1.4 指的是最新的稳定版本 1.4.2!