MAVLINKHUD

Overview

The FV parameter group (specifically FV_CPLNG_K) is a specialized configuration for Vectored ROVs (Submarines).

Due to the hydrodynamic design of some ROV frames, applying high vertical thrust (climbing/diving) can induce an unwanted pitching moment if the center of drag is not aligned with the center of thrust. This group manages the mathematical decoupling of these forces.

Key Concepts

1. Hydrodynamic Coupling

In a perfectly balanced vehicle, Forward thrust and Vertical thrust are independent. However, in reality, as water flows over the frame, the vehicle may want to pitch up or down.

  • FV_CPLNG_K: Acts as a gain factor that limits the maximum allowed forward thrust based on the amount of vertical thrust being applied.

Parameter Breakdown

  • FV_CPLNG_K: Forward/Vertical to Pitch decoupling factor.
    • 0: Disabled (Full power available on both axes).
    • 1.0 (Default): Balanced decoupling.

Integration Guide

  • Symptom: If your ROV pitches up or down uncontrollably when you apply full throttle (vertical) while moving forward, increase this value.

Developer Notes

  • Library: libraries/AP_Motors/AP_Motors6DOF.cpp.
  • Context: Only used in ArduSub.

FV_CPLNG_K

null
Default 1.0
Range 0.0 1.5

Forward/vertical to pitch decoupling factor (FV_CPLNG_K)

Description

This parameter is specific to Vectored ROVs (like the BlueROV2) running the Sub firmware. It compensates for the physical tendency of some ROV frames to pitch up/down when applying forward or vertical thrust due to drag and center-of-mass offsets.

By adjusting this factor, the mixer limits the output of specific thrusters to prevent the vehicle from pitching destabilizingly during high-speed maneuvers.

The Mathematics

The parameter sets a dynamic limit on the Forward thrust component based on the current Throttle (Vertical) demand.

$$ Limit = 1.0 - (FV\_CPLNG\_K \times |Throttle|) $$
$$ Thrust\_{Forward\_Limited} = \text{constrain}(Thrust\_{Forward}, -Limit, Limit) $$

This logic essentially says: "If you are applying full vertical power, reduce the allowed forward power to prevent hydrodynamic instability."

The Engineer's View

In AP_Motors6DOF::output_armed_stabilizing_vectored(), this parameter is read into _forwardVerticalCouplingFactor.

It is used to calculate forward_coupling_limit. This limit is then applied selectively to the rear thrusters (depending on direction of travel) to decouple the forward/vertical hydrodynamic coupling.

  • The logic checks forward_coupling_direction to identify which thrusters need limiting.

Tuning & Behavior

  • Default Value: 1.0
  • Range: 0.0 to 1.5
  • Value 0.0: Disabled. Full forward thrust allowed regardless of vertical thrust.
  • Value 1.0: Standard decoupling.
  • Effect of Increasing: Increases the "safety margin," restricting forward speed more aggressively when vertical thrusters are active.
  • Symptom: If your ROV does a backflip or pitches violently when you apply full throttle + full forward, increase this value.