Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Brand Logo

ModalAI Forum

  1. ModalAI Support Forum
  2. Ask your questions right here!
  3. Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers

Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers

Scheduled Pinned Locked Moved Ask your questions right here!
16 Posts 3 Posters 1.5k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Eric KatzfeyE Eric Katzfey

    @YUUJI-INOUE Can you send a PX4 log? If you can arm in manual mode then the PX4 IMU is working fine. The last voxl-px4 message sequence shows the IMU start correctly. If the parameters file does not yet exist (e.g. no PX4 parameters have been updated yet) then there will be no /data/px4/param/parameters file and you will see the error message: "open '/data/px4/param/parameters' failed". That is fine and to be expected. Once you have updated some parameters (e.g. running voxl-px4-param) then that file will be created and that error message will no longer appear.

    YUUJI INOUEY Offline
    YUUJI INOUEY Offline
    YUUJI INOUE
    Contributor
    wrote on last edited by
    #3

    @Eric-Katzfey

    Updated Support Request: Parameter Fix Attempt & Remaining Accelerometer/Position Mode Issues

    Following the advice to update parameters, we have made progress but still cannot enter Position Mode due to persistent sensor checks failures.

    Actions Taken

    1. Parameter Reset & Load:
      • Executed voxl-configure-px4-params --wizard and selected D0013 (Stinger).
      • Confirmed that /data/px4/param/parameters is now created and populated.
    2. Battery Configuration Fix:
      • Manually corrected BAT_N_CELLS to 4 (was defaulting to 6) and BAT_LOW_VOLT to 14.0V.
      • This successfully resolved the "Low Voltage" warning in QGC.
    3. Re-Calibration:
      • Performed fresh Accelerometer, Level Horizon, and Compass calibrations in QGC.
      • Performed Camera calibration.

    Current Status

    • Manual Mode: OK. We can Arm the drone and spin motors in Manual Mode. We have also performed a successful test flight in Manual Mode.
    • VIO: OK. The virtual drone in Web Portal follows the real drone perfectly.
    • Position Mode: FAILED.
      • QGC shows "Ready for flight" briefly after reboot, but rejects Arming (Command denied).
      • After disarming from a Manual Mode test, Position Mode switches to "Not Ready".
    • Web Portal System Check: FAILED.
      • voxl-px4 still reports sensor_accel: result false.
      • Values (e.g., z: 9.70) seem correct, but the check fails.

    Persistent Logs Errors (New Logs Attached)

    Despite the parameter fix, voxl-px4.log still shows communication timeouts with the sensors:

    ERROR [muorb] [sensors] Accel #0 fail: TIMEOUT!
    ERROR [qshell] Command failed
    ERROR [muorb] [drivers__device] i2c probe failed
    

    Questions

    1. Since we can Arm in Manual Mode (suggesting the IMU hardware is working) and have loaded the correct D0013 parameters, why does voxl-px4 still report sensor_accel: result false with timeouts?
    2. Is there a specific driver or timing parameter in SDK 1.6.2 (with the dev branch IMU server) that causes these spurious timeouts on the Stinger?
    3. What is preventing Position Mode Arming even when VIO is healthy and Manual Arming works?

    We have attached the latest logs (voxl-px4.log, voxl-vision-hub.log) from this new configuration state.
    voxl-px4.log
    voxl-vision-hub.log

    YUUJI INOUEY 1 Reply Last reply
    0
    • YUUJI INOUEY YUUJI INOUE

      @Eric-Katzfey

      Updated Support Request: Parameter Fix Attempt & Remaining Accelerometer/Position Mode Issues

      Following the advice to update parameters, we have made progress but still cannot enter Position Mode due to persistent sensor checks failures.

      Actions Taken

      1. Parameter Reset & Load:
        • Executed voxl-configure-px4-params --wizard and selected D0013 (Stinger).
        • Confirmed that /data/px4/param/parameters is now created and populated.
      2. Battery Configuration Fix:
        • Manually corrected BAT_N_CELLS to 4 (was defaulting to 6) and BAT_LOW_VOLT to 14.0V.
        • This successfully resolved the "Low Voltage" warning in QGC.
      3. Re-Calibration:
        • Performed fresh Accelerometer, Level Horizon, and Compass calibrations in QGC.
        • Performed Camera calibration.

      Current Status

      • Manual Mode: OK. We can Arm the drone and spin motors in Manual Mode. We have also performed a successful test flight in Manual Mode.
      • VIO: OK. The virtual drone in Web Portal follows the real drone perfectly.
      • Position Mode: FAILED.
        • QGC shows "Ready for flight" briefly after reboot, but rejects Arming (Command denied).
        • After disarming from a Manual Mode test, Position Mode switches to "Not Ready".
      • Web Portal System Check: FAILED.
        • voxl-px4 still reports sensor_accel: result false.
        • Values (e.g., z: 9.70) seem correct, but the check fails.

      Persistent Logs Errors (New Logs Attached)

      Despite the parameter fix, voxl-px4.log still shows communication timeouts with the sensors:

      ERROR [muorb] [sensors] Accel #0 fail: TIMEOUT!
      ERROR [qshell] Command failed
      ERROR [muorb] [drivers__device] i2c probe failed
      

      Questions

      1. Since we can Arm in Manual Mode (suggesting the IMU hardware is working) and have loaded the correct D0013 parameters, why does voxl-px4 still report sensor_accel: result false with timeouts?
      2. Is there a specific driver or timing parameter in SDK 1.6.2 (with the dev branch IMU server) that causes these spurious timeouts on the Stinger?
      3. What is preventing Position Mode Arming even when VIO is healthy and Manual Arming works?

      We have attached the latest logs (voxl-px4.log, voxl-vision-hub.log) from this new configuration state.
      voxl-px4.log
      voxl-vision-hub.log

      YUUJI INOUEY Offline
      YUUJI INOUEY Offline
      YUUJI INOUE
      Contributor
      wrote on last edited by
      #4

      @YUUJI-INOUE said in Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers:

      @Eric-Katzfey

      Updated Support Request: Parameter Fix Attempt & Remaining Accelerometer/Position Mode Issues

      Following the advice to update parameters, we have made progress but still cannot enter Position Mode due to persistent sensor checks failures.

      Actions Taken

      1. Parameter Reset & Load:
        • Executed voxl-configure-px4-params --wizard and selected D0013 (Stinger).
        • Confirmed that /data/px4/param/parameters is now created and populated.
      2. Battery Configuration Fix:
        • Manually corrected BAT_N_CELLS to 4 (was defaulting to 6) and BAT_LOW_VOLT to 14.0V.
        • This successfully resolved the "Low Voltage" warning in QGC.
      3. Re-Calibration:
        • Performed fresh Accelerometer, Level Horizon, and Compass calibrations in QGC.
        • Performed Camera calibration.

      Current Status

      • Manual Mode: OK. We can Arm the drone and spin motors in Manual Mode. We have also performed a successful test flight in Manual Mode.
      • VIO: OK. The virtual drone in Web Portal follows the real drone perfectly.
      • Position Mode: FAILED.
        • QGC shows "Ready for flight" briefly after reboot, but rejects Arming (Command denied).
        • After disarming from a Manual Mode test, Position Mode switches to "Not Ready".
      • Web Portal System Check: FAILED.
        • voxl-px4 still reports sensor_accel: result false.
        • Values (e.g., z: 9.70) seem correct, but the check fails.

      Persistent Logs Errors (New Logs Attached)

      Despite the parameter fix, voxl-px4.log still shows communication timeouts with the sensors:

      ERROR [muorb] [sensors] Accel #0 fail: TIMEOUT!
      ERROR [qshell] Command failed
      ERROR [muorb] [drivers__device] i2c probe failed
      

      Questions

      1. Since we can Arm in Manual Mode (suggesting the IMU hardware is working) and have loaded the correct D0013 parameters, why does voxl-px4 still report sensor_accel: result false with timeouts?
      2. Is there a specific driver or timing parameter in SDK 1.6.2 (with the dev branch IMU server) that causes these spurious timeouts on the Stinger?
      3. What is preventing Position Mode Arming even when VIO is healthy and Manual Arming works?

      We have attached the latest logs (voxl-px4.log, voxl-vision-hub.log) from this new configuration state.
      voxl-px4.log
      voxl-vision-hub.log

      I've been hooked on this for two weeks now. Can someone tell me how to set up STINGER VER1 from scratch?

      Eric KatzfeyE 1 Reply Last reply
      0
      • YUUJI INOUEY YUUJI INOUE

        @YUUJI-INOUE said in Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers:

        @Eric-Katzfey

        Updated Support Request: Parameter Fix Attempt & Remaining Accelerometer/Position Mode Issues

        Following the advice to update parameters, we have made progress but still cannot enter Position Mode due to persistent sensor checks failures.

        Actions Taken

        1. Parameter Reset & Load:
          • Executed voxl-configure-px4-params --wizard and selected D0013 (Stinger).
          • Confirmed that /data/px4/param/parameters is now created and populated.
        2. Battery Configuration Fix:
          • Manually corrected BAT_N_CELLS to 4 (was defaulting to 6) and BAT_LOW_VOLT to 14.0V.
          • This successfully resolved the "Low Voltage" warning in QGC.
        3. Re-Calibration:
          • Performed fresh Accelerometer, Level Horizon, and Compass calibrations in QGC.
          • Performed Camera calibration.

        Current Status

        • Manual Mode: OK. We can Arm the drone and spin motors in Manual Mode. We have also performed a successful test flight in Manual Mode.
        • VIO: OK. The virtual drone in Web Portal follows the real drone perfectly.
        • Position Mode: FAILED.
          • QGC shows "Ready for flight" briefly after reboot, but rejects Arming (Command denied).
          • After disarming from a Manual Mode test, Position Mode switches to "Not Ready".
        • Web Portal System Check: FAILED.
          • voxl-px4 still reports sensor_accel: result false.
          • Values (e.g., z: 9.70) seem correct, but the check fails.

        Persistent Logs Errors (New Logs Attached)

        Despite the parameter fix, voxl-px4.log still shows communication timeouts with the sensors:

        ERROR [muorb] [sensors] Accel #0 fail: TIMEOUT!
        ERROR [qshell] Command failed
        ERROR [muorb] [drivers__device] i2c probe failed
        

        Questions

        1. Since we can Arm in Manual Mode (suggesting the IMU hardware is working) and have loaded the correct D0013 parameters, why does voxl-px4 still report sensor_accel: result false with timeouts?
        2. Is there a specific driver or timing parameter in SDK 1.6.2 (with the dev branch IMU server) that causes these spurious timeouts on the Stinger?
        3. What is preventing Position Mode Arming even when VIO is healthy and Manual Arming works?

        We have attached the latest logs (voxl-px4.log, voxl-vision-hub.log) from this new configuration state.
        voxl-px4.log
        voxl-vision-hub.log

        I've been hooked on this for two weeks now. Can someone tell me how to set up STINGER VER1 from scratch?

        Eric KatzfeyE Offline
        Eric KatzfeyE Offline
        Eric Katzfey
        ModalAI Team
        wrote on last edited by
        #5

        @YUUJI-INOUE I'm very confused by the voxl-px4.log file you attached. It is filled with a bunch of -- Reboot -- lines. Where do those lines come from? How did you generate voxl-px4.log? The only Accel #0 fail: TIMEOUT! I see is after a shutdown command has been issued to PX4. The Command failed is normal. The startup script attempts to do some auto-configuration by looking for devices that may not be attached to the drone and will produce those messages. Same with the i2c probe failed messages. The fact that you can fly in manual mode means that the IMU is fine.

        YUUJI INOUEY 1 Reply Last reply
        0
        • Eric KatzfeyE Eric Katzfey

          @YUUJI-INOUE I'm very confused by the voxl-px4.log file you attached. It is filled with a bunch of -- Reboot -- lines. Where do those lines come from? How did you generate voxl-px4.log? The only Accel #0 fail: TIMEOUT! I see is after a shutdown command has been issued to PX4. The Command failed is normal. The startup script attempts to do some auto-configuration by looking for devices that may not be attached to the drone and will produce those messages. Same with the i2c probe failed messages. The fact that you can fly in manual mode means that the IMU is fine.

          YUUJI INOUEY Offline
          YUUJI INOUEY Offline
          YUUJI INOUE
          Contributor
          wrote on last edited by
          #6

          @Eric-Katzfey
          Thank you for your reply. I tried various SKU configurations and was able to successfully enter position mode. Thank you.
          The current SKU is MRB-D0013-6-V2-C33-T7-M22-X14.

          YUUJI INOUEY 1 Reply Last reply
          0
          • YUUJI INOUEY YUUJI INOUE

            @Eric-Katzfey
            Thank you for your reply. I tried various SKU configurations and was able to successfully enter position mode. Thank you.
            The current SKU is MRB-D0013-6-V2-C33-T7-M22-X14.

            YUUJI INOUEY Offline
            YUUJI INOUEY Offline
            YUUJI INOUE
            Contributor
            wrote on last edited by
            #7

            @Eric-Katzfey

            Support Request: VIO Instability on Custom Drone Frame (Compared to Stinger)

            Summary

            We have successfully configured a VOXL 2 Mini on a Stinger frame (D0013) with SDK 1.6.2, and VIO works perfectly in our indoor environment.
            However, we are facing persistent VIO instability on our custom drone frame, which uses the same VOXL 2 Mini and camera sensors, despite trying extensive troubleshooting.

            The core issue is that feature points drop to 0 and VIO quality drops to 0% specifically when the drone is hovering or stationary. Paradoxically, when we move the drone or shine a bright light on the floor, the feature count improves and VIO holds for longer.

            Hardware Setup

            • Flight Controller: VOXL 2 Mini (SDK 1.6.2)
            • Cameras:
              • tracking_front (Ar0144)
              • tracking_down (Ar0144, rotated 90 degrees)
              • Note: This custom frame DOES NOT have a Hi-Res camera. It only has 2 tracking cameras.
              • However, since selecting "Tracking only" in the SKU configuration prevented us from entering Position Mode, we configured it as "Hi-Res + 2 Tracking" and then manually disabled the hires camera in voxl-camera-server.conf.
            • Frame: Custom frame (Carbon fiber).
              • Note: We identified that the frame was reflecting into the camera view. We have covered the reflective parts with black tape, which improved stability slightly but did not solve the issue.

            Symptoms

            1. Hovering/Stationary: There are no issues when the drone is constantly moving. However, when it remains stationary for more than 10-20 seconds, feature points (num_pts) gradually decrease and eventually hit 0. VIO Quality then drops to 0%.
            2. Moving/Flight: When moving the drone (in flight or by hand), feature points increase to the max of ~30 and VIO recovers.
            3. Lighting: Shining a strong light on the floor extends the time before VIO fails, but it eventually drops to 0.
            4. Comparison: A Stinger drone in the exact same indoor environment and lighting holds position perfectly with default settings.

            Troubleshooting Steps Taken (All Reverted to Default)

            We have tried the following configuration changes, but none provided a permanent solution, so we have reverted everything to default settings (except for necessary camera ID fixes):

            1. VIO Config (estimator_config.yaml):
              • Tried zupt_only_at_beginning: false (to enable ZUPT during flight). -> No effect / Worsened.
              • Tried increasing num_pts (50 -> 150) and lowering fast_threshold (15 -> 5). -> No effect.
            2. Camera Config (voxl-camera-server.conf):
              • Tried increasing exposure_max_us (12ms -> 33ms). -> QGC rejected position mode more strictly.
              • Tried increasing gain_max (8000 -> 16000). -> No significant improvement.
            3. IMU Config (voxl-imu-server.conf):
              • Tried lowering imu0_lp_cutoff_freq_hz (92Hz -> 42Hz, 20Hz). -> No effect.
            4. Calibration:
              • Performed voxl-calibrate-camera with the frame taped to prevent reflections.
              • Updated extrinsics.conf with measured values.

            Current Configuration (Clean State)

            • SDK: 1.6.2 (Clean install)
            • voxl-vision-hub.conf: en_vio: true, vio_pipe: ov (OpenVINS)
            • voxl-camera-server.conf: Default exposure (12ms), hires disabled.
            • estimator_config.yaml: Default (OpenVINS default).
            • voxl-imu-server.conf: Default (92Hz).

            Question

            Why does the custom drone fail to maintain feature points in the same environment where the Stinger works perfectly?
            Since "shining a light" and "moving the drone" help, it seems related to signal-to-noise ratio or feature detection thresholds, but software parameter tuning has failed.

            Are there any specific IMU noise characteristics or vibration issues on custom frames that could cause OpenVINS to reject static features? Or are there other low-level parameters we should look at for a custom frame build?

            We have attached the following logs from a failed flight attempt:
            voxl-px4.log
            voxl-vision-hub.log
            voxl-open-vins-server.log

            YUUJI INOUEY 1 Reply Last reply
            0
            • YUUJI INOUEY YUUJI INOUE

              @Eric-Katzfey

              Support Request: VIO Instability on Custom Drone Frame (Compared to Stinger)

              Summary

              We have successfully configured a VOXL 2 Mini on a Stinger frame (D0013) with SDK 1.6.2, and VIO works perfectly in our indoor environment.
              However, we are facing persistent VIO instability on our custom drone frame, which uses the same VOXL 2 Mini and camera sensors, despite trying extensive troubleshooting.

              The core issue is that feature points drop to 0 and VIO quality drops to 0% specifically when the drone is hovering or stationary. Paradoxically, when we move the drone or shine a bright light on the floor, the feature count improves and VIO holds for longer.

              Hardware Setup

              • Flight Controller: VOXL 2 Mini (SDK 1.6.2)
              • Cameras:
                • tracking_front (Ar0144)
                • tracking_down (Ar0144, rotated 90 degrees)
                • Note: This custom frame DOES NOT have a Hi-Res camera. It only has 2 tracking cameras.
                • However, since selecting "Tracking only" in the SKU configuration prevented us from entering Position Mode, we configured it as "Hi-Res + 2 Tracking" and then manually disabled the hires camera in voxl-camera-server.conf.
              • Frame: Custom frame (Carbon fiber).
                • Note: We identified that the frame was reflecting into the camera view. We have covered the reflective parts with black tape, which improved stability slightly but did not solve the issue.

              Symptoms

              1. Hovering/Stationary: There are no issues when the drone is constantly moving. However, when it remains stationary for more than 10-20 seconds, feature points (num_pts) gradually decrease and eventually hit 0. VIO Quality then drops to 0%.
              2. Moving/Flight: When moving the drone (in flight or by hand), feature points increase to the max of ~30 and VIO recovers.
              3. Lighting: Shining a strong light on the floor extends the time before VIO fails, but it eventually drops to 0.
              4. Comparison: A Stinger drone in the exact same indoor environment and lighting holds position perfectly with default settings.

              Troubleshooting Steps Taken (All Reverted to Default)

              We have tried the following configuration changes, but none provided a permanent solution, so we have reverted everything to default settings (except for necessary camera ID fixes):

              1. VIO Config (estimator_config.yaml):
                • Tried zupt_only_at_beginning: false (to enable ZUPT during flight). -> No effect / Worsened.
                • Tried increasing num_pts (50 -> 150) and lowering fast_threshold (15 -> 5). -> No effect.
              2. Camera Config (voxl-camera-server.conf):
                • Tried increasing exposure_max_us (12ms -> 33ms). -> QGC rejected position mode more strictly.
                • Tried increasing gain_max (8000 -> 16000). -> No significant improvement.
              3. IMU Config (voxl-imu-server.conf):
                • Tried lowering imu0_lp_cutoff_freq_hz (92Hz -> 42Hz, 20Hz). -> No effect.
              4. Calibration:
                • Performed voxl-calibrate-camera with the frame taped to prevent reflections.
                • Updated extrinsics.conf with measured values.

              Current Configuration (Clean State)

              • SDK: 1.6.2 (Clean install)
              • voxl-vision-hub.conf: en_vio: true, vio_pipe: ov (OpenVINS)
              • voxl-camera-server.conf: Default exposure (12ms), hires disabled.
              • estimator_config.yaml: Default (OpenVINS default).
              • voxl-imu-server.conf: Default (92Hz).

              Question

              Why does the custom drone fail to maintain feature points in the same environment where the Stinger works perfectly?
              Since "shining a light" and "moving the drone" help, it seems related to signal-to-noise ratio or feature detection thresholds, but software parameter tuning has failed.

              Are there any specific IMU noise characteristics or vibration issues on custom frames that could cause OpenVINS to reject static features? Or are there other low-level parameters we should look at for a custom frame build?

              We have attached the following logs from a failed flight attempt:
              voxl-px4.log
              voxl-vision-hub.log
              voxl-open-vins-server.log

              YUUJI INOUEY Offline
              YUUJI INOUEY Offline
              YUUJI INOUE
              Contributor
              wrote on last edited by
              #8

              @Eric-Katzfey
              P.S.
              Camera calibration has been completed for both the front and down cameras, with both being below 0.3.
              Camera position and rotation have also been set (same rotation as STINGER).
              Camera focus is also perfectly adjusted.

              YUUJI INOUEY 1 Reply Last reply
              0
              • YUUJI INOUEY YUUJI INOUE

                @Eric-Katzfey
                P.S.
                Camera calibration has been completed for both the front and down cameras, with both being below 0.3.
                Camera position and rotation have also been set (same rotation as STINGER).
                Camera focus is also perfectly adjusted.

                YUUJI INOUEY Offline
                YUUJI INOUEY Offline
                YUUJI INOUE
                Contributor
                wrote on last edited by YUUJI INOUE
                #9

                @Eric-Katzfey
                maiden flight
                CustomFrame

                zauberflote1Z 1 Reply Last reply
                0
                • YUUJI INOUEY YUUJI INOUE

                  @Eric-Katzfey
                  maiden flight
                  CustomFrame

                  zauberflote1Z Offline
                  zauberflote1Z Offline
                  zauberflote1
                  ModalAI Team
                  wrote on last edited by
                  #10

                  @YUUJI-INOUE
                  Hello there,
                  Here are a few things to be aware of:

                  • VVHUB "Error" for missing extrinsics for imu_body

                  This is not really an error, just tells you that the IMU in body frame and the body frame itself are connected by the identity. In other words, there's no transformation needed for the IMU data from VVHUB standpoint.

                  • Position Mode not engaging

                  Assuming you're able to get the drone arming in Manual/Altitude mode. Are you using VFC in your VVHUB conf or using the classic PX4 position mode? -- If your drone resembles the Stinger D0013, VFC is the suggested format. -- you can use the wizard to configure VVHUB accordingly. Can you confirm your VVHUB setup? Please attach your vision-hub and vfc .conf

                  • VIO not working

                  As you described, different frames, different noise characterization. You can change the IMU noise values inside the kalibr_imu_chain.yaml (in the directory you found estimator.yaml). Personally based on your description, I am inclined to believe your performance issue is rooted in your extrinsics values and VVHUB configuration. Did you use Kalibr? -- If you used Kalibr with imu_body pipe, all you have to do is to replace the SE(3) elements inside kalibr_imucam_chain.yaml and make sure the sync_config flag inside voxl-open-vins-server.conf is set to false. Otherwise, unless you have a proper CAD model, physically measured values will likely be inaccurate and cause the estimator to diverge. For future help, please attach all your VIO-related yamls and your voxl-open-vins-server.conf

                  All the best,
                  ZBFT

                  YUUJI INOUEY 1 Reply Last reply
                  -1
                  • zauberflote1Z zauberflote1

                    @YUUJI-INOUE
                    Hello there,
                    Here are a few things to be aware of:

                    • VVHUB "Error" for missing extrinsics for imu_body

                    This is not really an error, just tells you that the IMU in body frame and the body frame itself are connected by the identity. In other words, there's no transformation needed for the IMU data from VVHUB standpoint.

                    • Position Mode not engaging

                    Assuming you're able to get the drone arming in Manual/Altitude mode. Are you using VFC in your VVHUB conf or using the classic PX4 position mode? -- If your drone resembles the Stinger D0013, VFC is the suggested format. -- you can use the wizard to configure VVHUB accordingly. Can you confirm your VVHUB setup? Please attach your vision-hub and vfc .conf

                    • VIO not working

                    As you described, different frames, different noise characterization. You can change the IMU noise values inside the kalibr_imu_chain.yaml (in the directory you found estimator.yaml). Personally based on your description, I am inclined to believe your performance issue is rooted in your extrinsics values and VVHUB configuration. Did you use Kalibr? -- If you used Kalibr with imu_body pipe, all you have to do is to replace the SE(3) elements inside kalibr_imucam_chain.yaml and make sure the sync_config flag inside voxl-open-vins-server.conf is set to false. Otherwise, unless you have a proper CAD model, physically measured values will likely be inaccurate and cause the estimator to diverge. For future help, please attach all your VIO-related yamls and your voxl-open-vins-server.conf

                    All the best,
                    ZBFT

                    YUUJI INOUEY Offline
                    YUUJI INOUEY Offline
                    YUUJI INOUE
                    Contributor
                    wrote on last edited by
                    #11

                    @zauberflote1
                    Thank you for your support. I followed your advice and changed the settings again today.
                    It's much better than yesterday, but the reduction in feature points is still there. I've made a video of the current situation, so please check it out.
                    https://www.youtube.com/watch?v=H-_lLwPrPOE

                    I would like to ask some questions today as well, so thank you in advance.

                    Support Request: VIO Instability on Custom Drone Frame (Compared to Stinger) - Follow-up

                    Summary

                    We have successfully configured a VOXL 2 Mini on a Stinger frame (D0013) with SDK 1.6.2, and VIO works perfectly in our indoor environment.
                    However, we are facing persistent VIO instability on our custom drone frame, which uses the same VOXL 2 Mini and camera sensors, despite trying extensive troubleshooting.

                    The core issue is that feature points drop to 0 and VIO quality drops to 0% specifically when the drone is hovering or stationary. Paradoxically, when we move the drone or shine a bright light on the floor, the feature count improves and VIO holds for longer.

                    Update: After fixing camera extrinsics and setting sync_config: false, VIO performance improved significantly ("much better than yesterday"). However, the issue persists: feature points still drop to 0 during hovering, while Stinger maintains ~22 features in the same conditions.

                    Hardware Setup

                    • Flight Controller: VOXL 2 Mini (SDK 1.6.2)
                    • Cameras:
                      • tracking_front (Ar0144)
                      • tracking_down (Ar0144, rotated 90 degrees)
                      • Note: This custom frame DOES NOT have a Hi-Res camera. It only has 2 tracking cameras.
                      • However, since selecting "Tracking only" in the SKU configuration prevented us from entering Position Mode, we configured it as "Hi-Res + 2 Tracking" and then manually disabled the hires camera in voxl-camera-server.conf.
                    • Frame: Custom frame (Carbon fiber), designed in CAD by ourselves.
                      • Note: We identified that the frame was reflecting into the camera view. We have covered the reflective parts with black tape, which improved stability slightly but did not solve the issue.
                    • Camera Positions relative to IMU (FRD coordinate system):
                      • FRONT camera:
                        • Forward (X): +70.8mm
                        • Right (Y): -19.4mm (Left direction)
                        • Down (Z): -20mm (Up direction)
                      • DOWN camera:
                        • Forward (X): +38mm
                        • Right (Y): -19.4mm (Left direction)
                        • Down (Z): +9mm (Down direction)
                    • Camera Calibration: Both FRONT and DOWN cameras have calibration errors ≤ 0.3 (excellent calibration quality).
                    • Camera Focus: Focus is properly adjusted for both cameras.

                    Symptoms

                    1. Hovering/Stationary: There are no issues when the drone is constantly moving. However, when it remains stationary for more than 10-20 seconds, feature points (num_pts) gradually decrease and eventually hit 0. VIO Quality then drops to 0%.
                    2. Moving/Flight: When moving the drone (in flight or by hand), feature points increase to the max of ~30 and VIO recovers.
                    3. Lighting: Shining a strong light on the floor extends the time before VIO fails, but it eventually drops to 0.
                    4. Comparison: A Stinger drone in the exact same indoor environment and lighting holds position perfectly with default settings, maintaining ~22 features even when stationary.

                    Recent Troubleshooting Steps (Today)

                    IMU Noise Parameter Testing

                    We compared kalibr_imu_chain.yaml between Stinger and our custom frame and found they have identical values. Since different frames should have different noise characteristics, we tested adjusting IMU noise parameters:

                    1. Increased to 1.5x: No noticeable difference
                    2. Decreased to 0.8x: Performance worsened
                    3. Increased to 2x: Position mode could be maintained, but the drone oscillated (wobbled) excessively
                    4. Reverted to default: Best performance

                    Conclusion: IMU noise parameters are not the root cause. Default values are optimal.

                    Previous Troubleshooting Steps (All Reverted to Default)

                    We have tried the following configuration changes, but none provided a permanent solution, so we have reverted everything to default settings (except for necessary fixes):

                    1. VIO Config (estimator_config.yaml):
                      • Tried zupt_only_at_beginning: false (to enable ZUPT during flight). -> No effect / Worsened.
                      • Tried increasing num_pts (50 -> 150) and lowering fast_threshold (15 -> 5). -> VIO stopped working completely.
                    2. Camera Config (voxl-camera-server.conf):
                      • Tried increasing exposure_max_us (12ms -> 33ms). -> QGC rejected position mode more strictly.
                      • Tried increasing gain_max (8000 -> 16000). -> No significant improvement.
                    3. IMU Config (voxl-imu-server.conf):
                      • Tried lowering imu0_lp_cutoff_freq_hz (92Hz -> 42Hz, 30Hz, 20Hz). -> No effect.
                      • FFT analysis showed 200-240Hz vibrations, but filtering them did not improve VIO. Stinger shows similar vibrations but stable VIO.
                    4. Calibration:
                      • Performed voxl-calibrate-camera with the frame taped to prevent reflections.
                      • Updated extrinsics.conf and kalibr_imucam_chain.yaml with precise physical measurements.
                    5. OpenVINS Config (voxl-open-vins-server.conf):
                      • Set sync_config: false (based on support advice). -> Significant improvement.
                      • Tried sync_config: true (to match Stinger). -> Performance worsened.
                      • Current: sync_config: false (required for custom frame).

                    Current Configuration

                    • SDK: 1.6.2
                    • voxl-vision-hub.conf: en_vio: true, vio_pipe: ov (OpenVINS), offboard_mode: vfc
                    • voxl-open-vins-server.conf: sync_config: false (required for custom frame)
                    • voxl-camera-server.conf: Default exposure (12ms), hires disabled.
                    • estimator_config.yaml: Default (OpenVINS default).
                    • voxl-imu-server.conf: Default (92Hz).
                    • kalibr_imu_chain.yaml: Default (same as Stinger).
                    • kalibr_imucam_chain.yaml: Updated with precise physical measurements for camera extrinsics.

                    Key Differences from Stinger

                    1. sync_config: Stinger works with sync_config: true, but our custom frame requires sync_config: false.
                    2. Feature point behavior: Stinger maintains ~22 features when stationary, while our custom frame drops to 0.
                    3. IMU noise parameters: Identical values, but custom frame may have different vibration characteristics.

                    Question

                    Why does the custom drone fail to maintain feature points in the same environment where the Stinger works perfectly?

                    Since:

                    • Frame is designed in CAD with precise measurements
                    • Extrinsics are correctly measured and configured (FRONT: Forward 70.8mm, Left 19.4mm, Up 20mm; DOWN: Forward 38mm, Left 19.4mm, Down 9mm)
                    • Camera calibration errors are ≤ 0.3 for both cameras (excellent quality)
                    • Camera focus is properly adjusted
                    • sync_config: false is required (unlike Stinger)
                    • IMU noise parameter adjustments don't help
                    • Frame reflections are taped off

                    What other factors could cause OpenVINS to lose feature points specifically during hovering/stationary periods on a custom frame?

                    We have attached the following configuration files:

                    • kalibr_imu_chain.yaml https://drive.google.com/file/d/1xk3hV08xkCsr_76CaHUp71kmJrE4qDip/view?usp=sharing
                    • kalibr_imucam_chain.yaml
                      https://drive.google.com/file/d/1fTq8KKdH1gERFFMk34GBBJd5IRFqAw9Z/view?usp=sharing
                    • estimator_config.yaml
                      https://drive.google.com/file/d/1vtH50HK-VgsAOCAZEtjA27-kU0kD_aic/view?usp=sharing
                    • voxl-open-vins-server.conf
                      https://drive.google.com/file/d/1seNpGRoWwLbVvCMlXYlQeMPOkTn04nc0/view?usp=sharing
                    YUUJI INOUEY zauberflote1Z 2 Replies Last reply
                    0
                    • YUUJI INOUEY YUUJI INOUE

                      @zauberflote1
                      Thank you for your support. I followed your advice and changed the settings again today.
                      It's much better than yesterday, but the reduction in feature points is still there. I've made a video of the current situation, so please check it out.
                      https://www.youtube.com/watch?v=H-_lLwPrPOE

                      I would like to ask some questions today as well, so thank you in advance.

                      Support Request: VIO Instability on Custom Drone Frame (Compared to Stinger) - Follow-up

                      Summary

                      We have successfully configured a VOXL 2 Mini on a Stinger frame (D0013) with SDK 1.6.2, and VIO works perfectly in our indoor environment.
                      However, we are facing persistent VIO instability on our custom drone frame, which uses the same VOXL 2 Mini and camera sensors, despite trying extensive troubleshooting.

                      The core issue is that feature points drop to 0 and VIO quality drops to 0% specifically when the drone is hovering or stationary. Paradoxically, when we move the drone or shine a bright light on the floor, the feature count improves and VIO holds for longer.

                      Update: After fixing camera extrinsics and setting sync_config: false, VIO performance improved significantly ("much better than yesterday"). However, the issue persists: feature points still drop to 0 during hovering, while Stinger maintains ~22 features in the same conditions.

                      Hardware Setup

                      • Flight Controller: VOXL 2 Mini (SDK 1.6.2)
                      • Cameras:
                        • tracking_front (Ar0144)
                        • tracking_down (Ar0144, rotated 90 degrees)
                        • Note: This custom frame DOES NOT have a Hi-Res camera. It only has 2 tracking cameras.
                        • However, since selecting "Tracking only" in the SKU configuration prevented us from entering Position Mode, we configured it as "Hi-Res + 2 Tracking" and then manually disabled the hires camera in voxl-camera-server.conf.
                      • Frame: Custom frame (Carbon fiber), designed in CAD by ourselves.
                        • Note: We identified that the frame was reflecting into the camera view. We have covered the reflective parts with black tape, which improved stability slightly but did not solve the issue.
                      • Camera Positions relative to IMU (FRD coordinate system):
                        • FRONT camera:
                          • Forward (X): +70.8mm
                          • Right (Y): -19.4mm (Left direction)
                          • Down (Z): -20mm (Up direction)
                        • DOWN camera:
                          • Forward (X): +38mm
                          • Right (Y): -19.4mm (Left direction)
                          • Down (Z): +9mm (Down direction)
                      • Camera Calibration: Both FRONT and DOWN cameras have calibration errors ≤ 0.3 (excellent calibration quality).
                      • Camera Focus: Focus is properly adjusted for both cameras.

                      Symptoms

                      1. Hovering/Stationary: There are no issues when the drone is constantly moving. However, when it remains stationary for more than 10-20 seconds, feature points (num_pts) gradually decrease and eventually hit 0. VIO Quality then drops to 0%.
                      2. Moving/Flight: When moving the drone (in flight or by hand), feature points increase to the max of ~30 and VIO recovers.
                      3. Lighting: Shining a strong light on the floor extends the time before VIO fails, but it eventually drops to 0.
                      4. Comparison: A Stinger drone in the exact same indoor environment and lighting holds position perfectly with default settings, maintaining ~22 features even when stationary.

                      Recent Troubleshooting Steps (Today)

                      IMU Noise Parameter Testing

                      We compared kalibr_imu_chain.yaml between Stinger and our custom frame and found they have identical values. Since different frames should have different noise characteristics, we tested adjusting IMU noise parameters:

                      1. Increased to 1.5x: No noticeable difference
                      2. Decreased to 0.8x: Performance worsened
                      3. Increased to 2x: Position mode could be maintained, but the drone oscillated (wobbled) excessively
                      4. Reverted to default: Best performance

                      Conclusion: IMU noise parameters are not the root cause. Default values are optimal.

                      Previous Troubleshooting Steps (All Reverted to Default)

                      We have tried the following configuration changes, but none provided a permanent solution, so we have reverted everything to default settings (except for necessary fixes):

                      1. VIO Config (estimator_config.yaml):
                        • Tried zupt_only_at_beginning: false (to enable ZUPT during flight). -> No effect / Worsened.
                        • Tried increasing num_pts (50 -> 150) and lowering fast_threshold (15 -> 5). -> VIO stopped working completely.
                      2. Camera Config (voxl-camera-server.conf):
                        • Tried increasing exposure_max_us (12ms -> 33ms). -> QGC rejected position mode more strictly.
                        • Tried increasing gain_max (8000 -> 16000). -> No significant improvement.
                      3. IMU Config (voxl-imu-server.conf):
                        • Tried lowering imu0_lp_cutoff_freq_hz (92Hz -> 42Hz, 30Hz, 20Hz). -> No effect.
                        • FFT analysis showed 200-240Hz vibrations, but filtering them did not improve VIO. Stinger shows similar vibrations but stable VIO.
                      4. Calibration:
                        • Performed voxl-calibrate-camera with the frame taped to prevent reflections.
                        • Updated extrinsics.conf and kalibr_imucam_chain.yaml with precise physical measurements.
                      5. OpenVINS Config (voxl-open-vins-server.conf):
                        • Set sync_config: false (based on support advice). -> Significant improvement.
                        • Tried sync_config: true (to match Stinger). -> Performance worsened.
                        • Current: sync_config: false (required for custom frame).

                      Current Configuration

                      • SDK: 1.6.2
                      • voxl-vision-hub.conf: en_vio: true, vio_pipe: ov (OpenVINS), offboard_mode: vfc
                      • voxl-open-vins-server.conf: sync_config: false (required for custom frame)
                      • voxl-camera-server.conf: Default exposure (12ms), hires disabled.
                      • estimator_config.yaml: Default (OpenVINS default).
                      • voxl-imu-server.conf: Default (92Hz).
                      • kalibr_imu_chain.yaml: Default (same as Stinger).
                      • kalibr_imucam_chain.yaml: Updated with precise physical measurements for camera extrinsics.

                      Key Differences from Stinger

                      1. sync_config: Stinger works with sync_config: true, but our custom frame requires sync_config: false.
                      2. Feature point behavior: Stinger maintains ~22 features when stationary, while our custom frame drops to 0.
                      3. IMU noise parameters: Identical values, but custom frame may have different vibration characteristics.

                      Question

                      Why does the custom drone fail to maintain feature points in the same environment where the Stinger works perfectly?

                      Since:

                      • Frame is designed in CAD with precise measurements
                      • Extrinsics are correctly measured and configured (FRONT: Forward 70.8mm, Left 19.4mm, Up 20mm; DOWN: Forward 38mm, Left 19.4mm, Down 9mm)
                      • Camera calibration errors are ≤ 0.3 for both cameras (excellent quality)
                      • Camera focus is properly adjusted
                      • sync_config: false is required (unlike Stinger)
                      • IMU noise parameter adjustments don't help
                      • Frame reflections are taped off

                      What other factors could cause OpenVINS to lose feature points specifically during hovering/stationary periods on a custom frame?

                      We have attached the following configuration files:

                      • kalibr_imu_chain.yaml https://drive.google.com/file/d/1xk3hV08xkCsr_76CaHUp71kmJrE4qDip/view?usp=sharing
                      • kalibr_imucam_chain.yaml
                        https://drive.google.com/file/d/1fTq8KKdH1gERFFMk34GBBJd5IRFqAw9Z/view?usp=sharing
                      • estimator_config.yaml
                        https://drive.google.com/file/d/1vtH50HK-VgsAOCAZEtjA27-kU0kD_aic/view?usp=sharing
                      • voxl-open-vins-server.conf
                        https://drive.google.com/file/d/1seNpGRoWwLbVvCMlXYlQeMPOkTn04nc0/view?usp=sharing
                      YUUJI INOUEY Offline
                      YUUJI INOUEY Offline
                      YUUJI INOUE
                      Contributor
                      wrote on last edited by
                      #12

                      @Eric-Katzfey
                      Could you please give me any hints you might have?

                      1 Reply Last reply
                      0
                      • YUUJI INOUEY YUUJI INOUE

                        @zauberflote1
                        Thank you for your support. I followed your advice and changed the settings again today.
                        It's much better than yesterday, but the reduction in feature points is still there. I've made a video of the current situation, so please check it out.
                        https://www.youtube.com/watch?v=H-_lLwPrPOE

                        I would like to ask some questions today as well, so thank you in advance.

                        Support Request: VIO Instability on Custom Drone Frame (Compared to Stinger) - Follow-up

                        Summary

                        We have successfully configured a VOXL 2 Mini on a Stinger frame (D0013) with SDK 1.6.2, and VIO works perfectly in our indoor environment.
                        However, we are facing persistent VIO instability on our custom drone frame, which uses the same VOXL 2 Mini and camera sensors, despite trying extensive troubleshooting.

                        The core issue is that feature points drop to 0 and VIO quality drops to 0% specifically when the drone is hovering or stationary. Paradoxically, when we move the drone or shine a bright light on the floor, the feature count improves and VIO holds for longer.

                        Update: After fixing camera extrinsics and setting sync_config: false, VIO performance improved significantly ("much better than yesterday"). However, the issue persists: feature points still drop to 0 during hovering, while Stinger maintains ~22 features in the same conditions.

                        Hardware Setup

                        • Flight Controller: VOXL 2 Mini (SDK 1.6.2)
                        • Cameras:
                          • tracking_front (Ar0144)
                          • tracking_down (Ar0144, rotated 90 degrees)
                          • Note: This custom frame DOES NOT have a Hi-Res camera. It only has 2 tracking cameras.
                          • However, since selecting "Tracking only" in the SKU configuration prevented us from entering Position Mode, we configured it as "Hi-Res + 2 Tracking" and then manually disabled the hires camera in voxl-camera-server.conf.
                        • Frame: Custom frame (Carbon fiber), designed in CAD by ourselves.
                          • Note: We identified that the frame was reflecting into the camera view. We have covered the reflective parts with black tape, which improved stability slightly but did not solve the issue.
                        • Camera Positions relative to IMU (FRD coordinate system):
                          • FRONT camera:
                            • Forward (X): +70.8mm
                            • Right (Y): -19.4mm (Left direction)
                            • Down (Z): -20mm (Up direction)
                          • DOWN camera:
                            • Forward (X): +38mm
                            • Right (Y): -19.4mm (Left direction)
                            • Down (Z): +9mm (Down direction)
                        • Camera Calibration: Both FRONT and DOWN cameras have calibration errors ≤ 0.3 (excellent calibration quality).
                        • Camera Focus: Focus is properly adjusted for both cameras.

                        Symptoms

                        1. Hovering/Stationary: There are no issues when the drone is constantly moving. However, when it remains stationary for more than 10-20 seconds, feature points (num_pts) gradually decrease and eventually hit 0. VIO Quality then drops to 0%.
                        2. Moving/Flight: When moving the drone (in flight or by hand), feature points increase to the max of ~30 and VIO recovers.
                        3. Lighting: Shining a strong light on the floor extends the time before VIO fails, but it eventually drops to 0.
                        4. Comparison: A Stinger drone in the exact same indoor environment and lighting holds position perfectly with default settings, maintaining ~22 features even when stationary.

                        Recent Troubleshooting Steps (Today)

                        IMU Noise Parameter Testing

                        We compared kalibr_imu_chain.yaml between Stinger and our custom frame and found they have identical values. Since different frames should have different noise characteristics, we tested adjusting IMU noise parameters:

                        1. Increased to 1.5x: No noticeable difference
                        2. Decreased to 0.8x: Performance worsened
                        3. Increased to 2x: Position mode could be maintained, but the drone oscillated (wobbled) excessively
                        4. Reverted to default: Best performance

                        Conclusion: IMU noise parameters are not the root cause. Default values are optimal.

                        Previous Troubleshooting Steps (All Reverted to Default)

                        We have tried the following configuration changes, but none provided a permanent solution, so we have reverted everything to default settings (except for necessary fixes):

                        1. VIO Config (estimator_config.yaml):
                          • Tried zupt_only_at_beginning: false (to enable ZUPT during flight). -> No effect / Worsened.
                          • Tried increasing num_pts (50 -> 150) and lowering fast_threshold (15 -> 5). -> VIO stopped working completely.
                        2. Camera Config (voxl-camera-server.conf):
                          • Tried increasing exposure_max_us (12ms -> 33ms). -> QGC rejected position mode more strictly.
                          • Tried increasing gain_max (8000 -> 16000). -> No significant improvement.
                        3. IMU Config (voxl-imu-server.conf):
                          • Tried lowering imu0_lp_cutoff_freq_hz (92Hz -> 42Hz, 30Hz, 20Hz). -> No effect.
                          • FFT analysis showed 200-240Hz vibrations, but filtering them did not improve VIO. Stinger shows similar vibrations but stable VIO.
                        4. Calibration:
                          • Performed voxl-calibrate-camera with the frame taped to prevent reflections.
                          • Updated extrinsics.conf and kalibr_imucam_chain.yaml with precise physical measurements.
                        5. OpenVINS Config (voxl-open-vins-server.conf):
                          • Set sync_config: false (based on support advice). -> Significant improvement.
                          • Tried sync_config: true (to match Stinger). -> Performance worsened.
                          • Current: sync_config: false (required for custom frame).

                        Current Configuration

                        • SDK: 1.6.2
                        • voxl-vision-hub.conf: en_vio: true, vio_pipe: ov (OpenVINS), offboard_mode: vfc
                        • voxl-open-vins-server.conf: sync_config: false (required for custom frame)
                        • voxl-camera-server.conf: Default exposure (12ms), hires disabled.
                        • estimator_config.yaml: Default (OpenVINS default).
                        • voxl-imu-server.conf: Default (92Hz).
                        • kalibr_imu_chain.yaml: Default (same as Stinger).
                        • kalibr_imucam_chain.yaml: Updated with precise physical measurements for camera extrinsics.

                        Key Differences from Stinger

                        1. sync_config: Stinger works with sync_config: true, but our custom frame requires sync_config: false.
                        2. Feature point behavior: Stinger maintains ~22 features when stationary, while our custom frame drops to 0.
                        3. IMU noise parameters: Identical values, but custom frame may have different vibration characteristics.

                        Question

                        Why does the custom drone fail to maintain feature points in the same environment where the Stinger works perfectly?

                        Since:

                        • Frame is designed in CAD with precise measurements
                        • Extrinsics are correctly measured and configured (FRONT: Forward 70.8mm, Left 19.4mm, Up 20mm; DOWN: Forward 38mm, Left 19.4mm, Down 9mm)
                        • Camera calibration errors are ≤ 0.3 for both cameras (excellent quality)
                        • Camera focus is properly adjusted
                        • sync_config: false is required (unlike Stinger)
                        • IMU noise parameter adjustments don't help
                        • Frame reflections are taped off

                        What other factors could cause OpenVINS to lose feature points specifically during hovering/stationary periods on a custom frame?

                        We have attached the following configuration files:

                        • kalibr_imu_chain.yaml https://drive.google.com/file/d/1xk3hV08xkCsr_76CaHUp71kmJrE4qDip/view?usp=sharing
                        • kalibr_imucam_chain.yaml
                          https://drive.google.com/file/d/1fTq8KKdH1gERFFMk34GBBJd5IRFqAw9Z/view?usp=sharing
                        • estimator_config.yaml
                          https://drive.google.com/file/d/1vtH50HK-VgsAOCAZEtjA27-kU0kD_aic/view?usp=sharing
                        • voxl-open-vins-server.conf
                          https://drive.google.com/file/d/1seNpGRoWwLbVvCMlXYlQeMPOkTn04nc0/view?usp=sharing
                        zauberflote1Z Offline
                        zauberflote1Z Offline
                        zauberflote1
                        ModalAI Team
                        wrote on last edited by
                        #13

                        @YUUJI-INOUE

                        Happy New Year!
                        I wanted to take some time to review the video and the configs you’ve posted. Here’s my personal interpretation based on the information provided.

                        • It doesn’t seem you’re using VFC-position, but PX4 Position mode. Recall that on Stinger the recommended default is VFC-Position. (You can change en_vio to false in VVHUB config and adjust your transmitter settings to reproduce the default configuration.)

                        • Your position lock break is likely due to SLAM features being rejected during the MSCKF->SLAM promotion and/or not being “rematched” properly. This strongly suggests calibration issues, particularly CAM-IMU extrinsics. Did you use Kalibr? If so, would you be able to post your Kalibr-generated report? Still, you can likely mitigate this at the expense of VINS' accuracy by bumping the chi2 value for SLAM features.

                        Also, the number of features you see in the inspect-vins tool represents valid SLAM features, so it doesn’t mean that the estimator has no features at all, as MSCKF features can still be available.

                        YUUJI INOUEY 1 Reply Last reply
                        0
                        • zauberflote1Z zauberflote1

                          @YUUJI-INOUE

                          Happy New Year!
                          I wanted to take some time to review the video and the configs you’ve posted. Here’s my personal interpretation based on the information provided.

                          • It doesn’t seem you’re using VFC-position, but PX4 Position mode. Recall that on Stinger the recommended default is VFC-Position. (You can change en_vio to false in VVHUB config and adjust your transmitter settings to reproduce the default configuration.)

                          • Your position lock break is likely due to SLAM features being rejected during the MSCKF->SLAM promotion and/or not being “rematched” properly. This strongly suggests calibration issues, particularly CAM-IMU extrinsics. Did you use Kalibr? If so, would you be able to post your Kalibr-generated report? Still, you can likely mitigate this at the expense of VINS' accuracy by bumping the chi2 value for SLAM features.

                          Also, the number of features you see in the inspect-vins tool represents valid SLAM features, so it doesn’t mean that the estimator has no features at all, as MSCKF features can still be available.

                          YUUJI INOUEY Offline
                          YUUJI INOUEY Offline
                          YUUJI INOUE
                          Contributor
                          wrote on last edited by
                          #14

                          @zauberflote1

                          Support Follow-up: VIO Stability Improved with chi2 Tuning - Kalibr Planned for Tomorrow

                          Thank you very much for your detailed advice. It was extremely helpful.

                          Progress Update

                          1. Successful VIO Stabilization via up_slam_chi2_multipler

                          Based on your suggestion, we adjusted the up_slam_chi2_multipler in estimator_config.yaml.

                          • Finding: Setting it to 3.0 (default was 1.0) resulted in a dramatic improvement.
                          • Result: The drone can now hover in Position mode for over 5 minutes without losing feature points or dropping to Altitude mode. Previously, it would fail within 10-20 seconds.

                          2. Current Status and Remaining Issues

                          • Drift: While the position lock is maintained, there is a slight "swaying" or drift (within approximately 30cm) during hovering.
                          • Cause: We suspect this is due to the CAM-IMU extrinsics still relying on physical measurements (CAD values), which don't perfectly match the actual hardware alignment.

                          3. Extrinsics Fix (imu_apps_body)

                          We noticed an error in the voxl-vision-hub logs regarding a missing body to imu_apps_body transform. We added this entry to extrinsics.conf, which ensured the system recognizes the coordinate frames correctly while using OpenVINS in imu_body_frame_mode.

                          Plan for Tomorrow: Kalibr Calibration

                          We have successfully set up the Kalibr environment on our PC using Docker and prepared a script to convert VOXL MPA logs to ROS bags.

                          • Today, we attempted a preliminary run, but the tag detection rate was low due to monitor reflections and tag size discrepancies.
                          • Tomorrow, we will use the official AprilGrid pattern and perform a clean calibration to obtain precise Extrinsics and Timeshift values.
                          YUUJI INOUEY 1 Reply Last reply
                          0
                          • YUUJI INOUEY YUUJI INOUE

                            @zauberflote1

                            Support Follow-up: VIO Stability Improved with chi2 Tuning - Kalibr Planned for Tomorrow

                            Thank you very much for your detailed advice. It was extremely helpful.

                            Progress Update

                            1. Successful VIO Stabilization via up_slam_chi2_multipler

                            Based on your suggestion, we adjusted the up_slam_chi2_multipler in estimator_config.yaml.

                            • Finding: Setting it to 3.0 (default was 1.0) resulted in a dramatic improvement.
                            • Result: The drone can now hover in Position mode for over 5 minutes without losing feature points or dropping to Altitude mode. Previously, it would fail within 10-20 seconds.

                            2. Current Status and Remaining Issues

                            • Drift: While the position lock is maintained, there is a slight "swaying" or drift (within approximately 30cm) during hovering.
                            • Cause: We suspect this is due to the CAM-IMU extrinsics still relying on physical measurements (CAD values), which don't perfectly match the actual hardware alignment.

                            3. Extrinsics Fix (imu_apps_body)

                            We noticed an error in the voxl-vision-hub logs regarding a missing body to imu_apps_body transform. We added this entry to extrinsics.conf, which ensured the system recognizes the coordinate frames correctly while using OpenVINS in imu_body_frame_mode.

                            Plan for Tomorrow: Kalibr Calibration

                            We have successfully set up the Kalibr environment on our PC using Docker and prepared a script to convert VOXL MPA logs to ROS bags.

                            • Today, we attempted a preliminary run, but the tag detection rate was low due to monitor reflections and tag size discrepancies.
                            • Tomorrow, we will use the official AprilGrid pattern and perform a clean calibration to obtain precise Extrinsics and Timeshift values.
                            YUUJI INOUEY Offline
                            YUUJI INOUEY Offline
                            YUUJI INOUE
                            Contributor
                            wrote on last edited by
                            #15

                            @zauberflote1

                            Support Report: Full VIO Stabilization and Successful Flight Test

                            Summary (2026-01-05)

                            Thanks to your continuous guidance and the results of the high-precision Kalibr calibration performed today, we have achieved ultimate stability with our custom drone.

                            Flight Test Results

                            • Success: We achieved a perfectly stable hover and flight for an entire battery duration (approximately 12 minutes) without dropping out of Position mode once.
                            • Stability: The previously observed 30cm radius wobble has completely disappeared, and the drone now holds its position with rock-solid stability.

                            Key Factors for Success

                            1. High-Precision Calibration with Kalibr:
                              We discovered a discrepancy of up to 25mm between the physical measurements (CAD/ruler) and the "true sensor positions" mathematically derived by Kalibr. Resolving this minute misalignment was the most critical factor in achieving stability.
                            2. Parameter Optimization:
                              By applying the precision calibration values and setting up_slam_chi2_multipler to 3.0, we found the optimal balance between feature retention and estimation accuracy.
                            3. Coordinate System Alignment:
                              We corrected the signs in extrinsics.conf to account for the VOXL 2 Mini's IMU (imu_apps) being mounted at a Roll 180-degree orientation relative to the frame.

                            Gratitude

                            We would like to express our deepest gratitude for your incredibly accurate and thorough support over the past several days. Your advice regarding the potential inaccuracy of physical measurements and the recommendation to use Kalibr was the direct key to this success.

                            zauberflote1Z 1 Reply Last reply
                            0
                            • YUUJI INOUEY YUUJI INOUE

                              @zauberflote1

                              Support Report: Full VIO Stabilization and Successful Flight Test

                              Summary (2026-01-05)

                              Thanks to your continuous guidance and the results of the high-precision Kalibr calibration performed today, we have achieved ultimate stability with our custom drone.

                              Flight Test Results

                              • Success: We achieved a perfectly stable hover and flight for an entire battery duration (approximately 12 minutes) without dropping out of Position mode once.
                              • Stability: The previously observed 30cm radius wobble has completely disappeared, and the drone now holds its position with rock-solid stability.

                              Key Factors for Success

                              1. High-Precision Calibration with Kalibr:
                                We discovered a discrepancy of up to 25mm between the physical measurements (CAD/ruler) and the "true sensor positions" mathematically derived by Kalibr. Resolving this minute misalignment was the most critical factor in achieving stability.
                              2. Parameter Optimization:
                                By applying the precision calibration values and setting up_slam_chi2_multipler to 3.0, we found the optimal balance between feature retention and estimation accuracy.
                              3. Coordinate System Alignment:
                                We corrected the signs in extrinsics.conf to account for the VOXL 2 Mini's IMU (imu_apps) being mounted at a Roll 180-degree orientation relative to the frame.

                              Gratitude

                              We would like to express our deepest gratitude for your incredibly accurate and thorough support over the past several days. Your advice regarding the potential inaccuracy of physical measurements and the recommendation to use Kalibr was the direct key to this success.

                              zauberflote1Z Offline
                              zauberflote1Z Offline
                              zauberflote1
                              ModalAI Team
                              wrote on last edited by
                              #16

                              @YUUJI-INOUE
                              Glad to hear!

                              All the best,
                              ZBFT

                              1 Reply Last reply
                              0

                              Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                              Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                              With your input, this post could be even better 💗

                              Register Login
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              ModalAI
                              Categories Recent Tags ModalAI.com Docs
                              © 2026 ModalAI® · Accelerating autonomy for smaller, smarter, safer drones · Powered by NodeBB
                              • Login

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • Users
                              • Groups