Information of ROV Gain in Mavlink flow

Hi,
I am trying to display the “gain” of the ROV using Mavlink2rest. By “gain”, I mean the intensity of control commands. In other words, at which speed the ROV will navigate (slow, fast, very fast, etc.) but not the current speed (km/h) ; I want to display the “power” provided to throttles to move the ROV… like the gearbox of a car. Hope I am clear :sweat_smile:
I don’t know where to find this information in Mavlink (flow received below).
Any idea ?
Thank you.

{
  "vehicles": {
    "1": {
      "id": 1,
      "components": {
        "1": {
          "id": 1,
          "messages": {
            "GLOBAL_POSITION_INT": {
              "message": {
                "type": "common",
                "type": "GLOBAL_POSITION_INT",
                "time_boot_ms": 3327439,
                "lat": 0,
                "lon": 0,
                "alt": -200,
                "relative_alt": -206,
                "vx": 1,
                "vy": -2,
                "vz": 0,
                "hdg": 34875
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.139238485+02:00",
                  "last_update": "2022-09-21T14:53:03.065066978+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "RAW_IMU": {
              "message": {
                "type": "common",
                "type": "RAW_IMU",
                "time_usec": 3327445284,
                "xacc": 11,
                "yacc": -19,
                "zacc": -1072,
                "xgyro": -4,
                "ygyro": 4,
                "zgyro": 25,
                "xmag": 245,
                "ymag": 61,
                "zmag": 259,
                "id": 0,
                "temperature": 0
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:30.775417465+02:00",
                  "last_update": "2022-09-21T14:53:03.080692197+02:00",
                  "counter": 32938,
                  "frequency": 10.066626
                }
              }
            },
            "STATUSTEXT": {
              "message": {
                "type": "common",
                "type": "STATUSTEXT",
                "severity": {
                  "type": "MAV_SEVERITY_CRITICAL"
                },
                "text": [
                  "L",
                  "o",
                  "s",
                  "t",
                  " ",
                  "m",
                  "a",
                  "n",
                  "u",
                  "a",
                  "l",
                  " ",
                  "c",
                  "o",
                  "n",
                  "t",
                  "r",
                  "o",
                  "l",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000",
                  "\u0000"
                ],
                "id": 0,
                "chunk_seq": 0
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:30.443814830+02:00",
                  "last_update": "2022-09-21T14:39:24.567498918+02:00",
                  "counter": 11,
                  "frequency": 0.0044824774
                }
              }
            },
            "SCALED_PRESSURE2": {
              "message": {
                "type": "common",
                "type": "SCALED_PRESSURE2",
                "time_boot_ms": 3327445,
                "press_abs": 1040.2,
                "press_diff": 0.0,
                "temperature": 2188
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.279492724+02:00",
                  "last_update": "2022-09-21T14:53:03.085309676+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "RC_CHANNELS": {
              "message": {
                "type": "common",
                "type": "RC_CHANNELS",
                "time_boot_ms": 3327442,
                "chan1_raw": 1500,
                "chan2_raw": 1500,
                "chan3_raw": 1500,
                "chan4_raw": 1500,
                "chan5_raw": 1500,
                "chan6_raw": 1500,
                "chan7_raw": 1500,
                "chan8_raw": 1500,
                "chan9_raw": 1100,
                "chan10_raw": 1100,
                "chan11_raw": 1100,
                "chan12_raw": 0,
                "chan13_raw": 0,
                "chan14_raw": 0,
                "chan15_raw": 0,
                "chan16_raw": 0,
                "chan17_raw": 0,
                "chan18_raw": 0,
                "chancount": 0,
                "rssi": 0
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.279465811+02:00",
                  "last_update": "2022-09-21T14:53:03.080678767+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "SYS_STATUS": {
              "message": {
                "type": "common",
                "type": "SYS_STATUS",
                "onboard_control_sensors_present": {
                  "bits": 52493583
                },
                "onboard_control_sensors_enabled": {
                  "bits": 35691791
                },
                "onboard_control_sensors_health": {
                  "bits": 53517327
                },
                "load": 410,
                "voltage_battery": 10905,
                "current_battery": 61,
                "drop_rate_comm": 0,
                "errors_comm": 0,
                "errors_count1": 0,
                "errors_count2": 0,
                "errors_count3": 0,
                "errors_count4": 0,
                "battery_remaining": -1
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.142152526+02:00",
                  "last_update": "2022-09-21T14:53:03.078995621+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "SERVO_OUTPUT_RAW": {
              "message": {
                "type": "common",
                "type": "SERVO_OUTPUT_RAW",
                "time_usec": 3327442493,
                "servo1_raw": 1500,
                "servo2_raw": 1500,
                "servo3_raw": 1500,
                "servo4_raw": 1500,
                "servo5_raw": 1500,
                "servo6_raw": 1500,
                "servo7_raw": 1100,
                "servo8_raw": 1500,
                "port": 0,
                "servo9_raw": 0,
                "servo10_raw": 0,
                "servo11_raw": 1500,
                "servo12_raw": 0,
                "servo13_raw": 0,
                "servo14_raw": 0,
                "servo15_raw": 0,
                "servo16_raw": 0
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.279455335+02:00",
                  "last_update": "2022-09-21T14:53:03.080650806+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "MOUNT_STATUS": {
              "message": {
                "type": "MOUNT_STATUS",
                "pointing_a": 0,
                "pointing_b": 0,
                "pointing_c": 0,
                "target_system": 0,
                "target_component": 0
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.280665773+02:00",
                  "last_update": "2022-09-21T14:53:03.100945186+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "NAV_CONTROLLER_OUTPUT": {
              "message": {
                "type": "common",
                "type": "NAV_CONTROLLER_OUTPUT",
                "nav_roll": -1.5654263,
                "nav_pitch": 2.507965,
                "alt_error": 0.20932443,
                "aspd_error": 0.0,
                "xtrack_error": 0.0,
                "nav_bearing": -11,
                "target_bearing": 0,
                "wp_dist": 0
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.279430271+02:00",
                  "last_update": "2022-09-21T14:53:03.079024851+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "BATTERY_STATUS": {
              "message": {
                "type": "common",
                "type": "BATTERY_STATUS",
                "current_consumed": 560,
                "energy_consumed": 220,
                "temperature": 32767,
                "voltages": [
                  10905,
                  65535,
                  65535,
                  65535,
                  65535,
                  65535,
                  65535,
                  65535,
                  65535,
                  65535
                ],
                "current_battery": 61,
                "id": 0,
                "battery_function": {
                  "type": "MAV_BATTERY_FUNCTION_UNKNOWN"
                },
                "mavtype": {
                  "type": "MAV_BATTERY_TYPE_UNKNOWN"
                },
                "battery_remaining": 96,
                "time_remaining": 0,
                "charge_state": {
                  "type": "MAV_BATTERY_CHARGE_STATE_UNDEFINED"
                }
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.288480457+02:00",
                  "last_update": "2022-09-21T14:53:03.115228435+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "PARAM_VALUE": {
              "message": {
                "type": "common",
                "type": "PARAM_VALUE",
                "param_value": 0.35,
                "param_count": 920,
                "param_index": 65535,
                "param_id": [
                  "M",
                  "O",
                  "T",
                  "_",
                  "T",
                  "H",
                  "S",
                  "T",
                  "_",
                  "H",
                  "O",
                  "V",
                  "E",
                  "R",
                  "\u0000",
                  "\u0000"
                ],
                "param_type": {
                  "type": "MAV_PARAM_TYPE_REAL32"
                }
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:30.436689467+02:00",
                  "last_update": "2022-09-21T14:14:35.915420169+02:00",
                  "counter": 926,
                  "frequency": 0.9595855
                }
              }
            },
            "RANGEFINDER": {
              "message": {
                "type": "RANGEFINDER",
                "distance": 0.0,
                "voltage": 0.0
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.280648542+02:00",
                  "last_update": "2022-09-21T14:53:03.096374204+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "SYSTEM_TIME": {
              "message": {
                "type": "common",
                "type": "SYSTEM_TIME",
                "time_unix_usec": 0,
                "time_boot_ms": 3327445
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.280558211+02:00",
                  "last_update": "2022-09-21T14:53:03.087159210+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "AHRS3": {
              "message": {
                "type": "AHRS3",
                "roll": -0.027294206,
                "pitch": 0.043786444,
                "yaw": -0.19638197,
                "altitude": 0.0,
                "lat": 0,
                "lng": 0,
                "v1": 0.0,
                "v2": 0.0,
                "v3": 0.0,
                "v4": 0.0
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.280621302+02:00",
                  "last_update": "2022-09-21T14:53:03.091916793+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "AHRS": {
              "message": {
                "type": "AHRS",
                "omegaIx": 0.0041107005,
                "omegaIy": -0.0039922413,
                "omegaIz": -0.025357772,
                "accel_weight": 0.0,
                "renorm_val": 0.0,
                "error_rp": 0.0005581397,
                "error_yaw": 0.003576947
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.280579678+02:00",
                  "last_update": "2022-09-21T14:53:03.088846049+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "VIBRATION": {
              "message": {
                "type": "common",
                "type": "VIBRATION",
                "time_usec": 3327452416,
                "vibration_x": 0.02604795,
                "vibration_y": 0.0374066,
                "vibration_z": 0.031104675,
                "clipping_0": 0,
                "clipping_1": 1,
                "clipping_2": 0
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.280722023+02:00",
                  "last_update": "2022-09-21T14:53:03.115216606+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "GPS_RAW_INT": {
              "message": {
                "type": "common",
                "type": "GPS_RAW_INT",
                "time_usec": 0,
                "lat": 0,
                "lon": 0,
                "alt": 0,
                "eph": 65535,
                "epv": 65535,
                "vel": 0,
                "cog": 0,
                "fix_type": {
                  "type": "GPS_FIX_TYPE_NO_GPS"
                },
                "satellites_visible": 0,
                "alt_ellipsoid": 0,
                "h_acc": 0,
                "v_acc": 0,
                "vel_acc": 0,
                "hdg_acc": 0,
                "yaw": 0
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.280531518+02:00",
                  "last_update": "2022-09-21T14:53:02.191173620+02:00",
                  "counter": 3207,
                  "frequency": 0.98073393
                }
              }
            },
            "VFR_HUD": {
              "message": {
                "type": "common",
                "type": "VFR_HUD",
                "airspeed": 0.0,
                "groundspeed": 0.030676767,
                "alt": -0.19999999,
                "climb": -0.0008012476,
                "heading": 348,
                "throttle": 0
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.279444326+02:00",
                  "last_update": "2022-09-21T14:53:03.079429736+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "MISSION_CURRENT": {
              "message": {
                "type": "common",
                "type": "MISSION_CURRENT",
                "seq": 0
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.279439162+02:00",
                  "last_update": "2022-09-21T14:53:03.079030718+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "SCALED_PRESSURE": {
              "message": {
                "type": "common",
                "type": "SCALED_PRESSURE",
                "time_boot_ms": 3327445,
                "press_abs": 1041.6583,
                "press_diff": 0.0,
                "temperature": 5096
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.279488334+02:00",
                  "last_update": "2022-09-21T14:53:03.083675253+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "HWSTATUS": {
              "message": {
                "type": "HWSTATUS",
                "Vcc": 5064,
                "I2Cerr": 0
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.280635301+02:00",
                  "last_update": "2022-09-21T14:53:03.094601950+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "SENSOR_OFFSETS": {
              "message": {
                "type": "SENSOR_OFFSETS",
                "mag_declination": 0.0,
                "raw_press": 104020,
                "raw_temp": 2188,
                "gyro_cal_x": -0.02232308,
                "gyro_cal_y": 0.004617908,
                "gyro_cal_z": 0.036828116,
                "accel_cal_x": -0.023504458,
                "accel_cal_y": -0.039480276,
                "accel_cal_z": 0.055241283,
                "mag_ofs_x": 195,
                "mag_ofs_y": 59,
                "mag_ofs_z": -57
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:35.141208144+02:00",
                  "last_update": "2022-09-21T14:53:02.791457791+02:00",
                  "counter": 2994,
                  "frequency": 0.9164371
                }
              }
            },
            "HEARTBEAT": {
              "message": {
                "type": "common",
                "type": "HEARTBEAT",
                "custom_mode": 19,
                "mavtype": {
                  "type": "MAV_TYPE_SUBMARINE"
                },
                "autopilot": {
                  "type": "MAV_AUTOPILOT_ARDUPILOTMEGA"
                },
                "base_mode": {
                  "bits": 81
                },
                "system_status": {
                  "type": "MAV_STATE_STANDBY"
                },
                "mavlink_version": 3
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:30.438031844+02:00",
                  "last_update": "2022-09-21T14:53:02.153361005+02:00",
                  "counter": 3302,
                  "frequency": 1.0094773
                }
              }
            },
            "COMMAND_ACK": {
              "message": {
                "type": "common",
                "type": "COMMAND_ACK",
                "command": {
                  "type": "MAV_CMD_DO_SET_SERVO"
                },
                "result": {
                  "type": "MAV_RESULT_ACCEPTED"
                },
                "progress": 0,
                "result_param2": 0,
                "target_system": 0,
                "target_component": 0
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T14:06:19.911680418+02:00",
                  "last_update": "2022-09-21T14:06:23.064481655+02:00",
                  "counter": 61,
                  "frequency": 20.333334
                }
              }
            },
            "ATTITUDE": {
              "message": {
                "type": "common",
                "type": "ATTITUDE",
                "time_boot_ms": 3327439,
                "roll": -0.027299784,
                "pitch": 0.043784752,
                "yaw": -0.19638225,
                "rollspeed": -0.0007354999,
                "pitchspeed": 0.00019029994,
                "yawspeed": 0.0005773995
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.139227249+02:00",
                  "last_update": "2022-09-21T14:53:03.060012200+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "EKF_STATUS_REPORT": {
              "message": {
                "type": "EKF_STATUS_REPORT",
                "velocity_variance": 0.0,
                "pos_horiz_variance": 0.006015331,
                "pos_vert_variance": 0.0111068,
                "compass_variance": 0.031953026,
                "terrain_alt_variance": 0.0,
                "flags": {
                  "bits": 485
                },
                "airspeed_variance": 0.0
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.280700323+02:00",
                  "last_update": "2022-09-21T14:53:03.115203347+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "POWER_STATUS": {
              "message": {
                "type": "common",
                "type": "POWER_STATUS",
                "Vcc": 5062,
                "Vservo": 5082,
                "flags": {
                  "bits": 6
                }
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.223028496+02:00",
                  "last_update": "2022-09-21T14:53:03.079008968+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "MEMINFO": {
              "message": {
                "type": "MEMINFO",
                "brkval": 0,
                "freemem": 65535,
                "freemem32": 110200
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.278804879+02:00",
                  "last_update": "2022-09-21T14:53:03.079015433+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "AHRS2": {
              "message": {
                "type": "AHRS2",
                "roll": -0.026891893,
                "pitch": 0.044384748,
                "yaw": -0.22122635,
                "altitude": 0.0,
                "lat": 0,
                "lng": 0
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.280599268+02:00",
                  "last_update": "2022-09-21T14:53:03.090577475+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "SCALED_IMU2": {
              "message": {
                "type": "common",
                "type": "SCALED_IMU2",
                "time_boot_ms": 3327445,
                "xacc": -20,
                "yacc": -7,
                "zacc": -999,
                "xgyro": -7,
                "ygyro": -54,
                "zgyro": -1,
                "xmag": 0,
                "ymag": 0,
                "zmag": 0,
                "temperature": 0
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.279481332+02:00",
                  "last_update": "2022-09-21T14:53:03.080704351+02:00",
                  "counter": 32937,
                  "frequency": 10.069398
                }
              }
            },
            "NAMED_VALUE_FLOAT": {
              "message": {
                "type": "common",
                "type": "NAMED_VALUE_FLOAT",
                "time_boot_ms": 3327452,
                "value": 0.0,
                "name": [
                  "I",
                  "n",
                  "p",
                  "u",
                  "t",
                  "H",
                  "o",
                  "l",
                  "d",
                  "\u0000"
                ]
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:31.288495850+02:00",
                  "last_update": "2022-09-21T14:53:03.118083996+02:00",
                  "counter": 230559,
                  "frequency": 70.48579
                }
              }
            },
            "TIMESYNC": {
              "message": {
                "type": "common",
                "type": "TIMESYNC",
                "tc1": 0,
                "ts1": 3320812464001
              },
              "status": {
                "time": {
                  "first_update": "2022-09-21T13:58:34.775412091+02:00",
                  "last_update": "2022-09-21T14:52:56.431287453+02:00",
                  "counter": 330,
                  "frequency": 0.101195954
                }
              }
            }
          }
        }
      }
    }
  }
}

Hi @enderocean,

MAVLink2REST does not distinguish between messages of the same type that have different values, so you’ll need to either poll for the latest NAMED_VALUE_FLOAT message at above the combined frequency of NAMED_VALUE_FLOAT messages and keep track of the value when the name field is PilotGain, or set up a websocket to receive all the updates, or set up and use an actual MAVLink endpoint that can receive and filter messages as relevant (via Pymavlink, or your parser library of choice).

In the BlueOS MAVLink Inspector you can see the structure of the message as provided by MAVLink2REST:

1 Like

Thank you @EliotBR
It will help me a lot.

1 Like