ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Home
    2. YUUJI INOUE
    3. Posts
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 17
    • Best 0
    • Controversial 0
    • Groups 0

    Posts made by YUUJI INOUE

    • IRCUT FILTER

      I bought this:
      https://www.modalai.com/collections/all/products/msu-m0166?variant=49502253941040
      I ordered it with an IR cut filter.
      It has an infrared LED, so I'd like to remove the IR cut filter. Is it okay if I remove it myself?

      Is the square glass plate in the center of the lens the IRCUT filter?
      IRCUT.jpg

      posted in Ask your questions right here!
      YUUJI INOUEY
      YUUJI INOUE
    • RE: Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers

      @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.

      posted in Ask your questions right here!
      YUUJI INOUEY
      YUUJI INOUE
    • RE: Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers

      @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.
      posted in Ask your questions right here!
      YUUJI INOUEY
      YUUJI INOUE
    • RE: Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers

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

      posted in Ask your questions right here!
      YUUJI INOUEY
      YUUJI INOUE
    • RE: Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers

      @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
      posted in Ask your questions right here!
      YUUJI INOUEY
      YUUJI INOUE
    • RE: Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers

      @Eric-Katzfey
      maiden flight
      CustomFrame

      posted in Ask your questions right here!
      YUUJI INOUEY
      YUUJI INOUE
    • RE: Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers

      @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.

      posted in Ask your questions right here!
      YUUJI INOUEY
      YUUJI INOUE
    • RE: Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers

      @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

      posted in Ask your questions right here!
      YUUJI INOUEY
      YUUJI INOUE
    • RE: Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers

      @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.

      posted in Ask your questions right here!
      YUUJI INOUEY
      YUUJI INOUE
    • RE: Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers

      @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?

      posted in Ask your questions right here!
      YUUJI INOUEY
      YUUJI INOUE
    • RE: 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

      posted in Ask your questions right here!
      YUUJI INOUEY
      YUUJI INOUE
    • Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers

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

      System Information

      • Hardware: ModalAI Stinger (D0013)
      • Base SDK Version: SDK 1.6.2 (Clean install performed recently)
      • Updated Packages:
        • qrb5165-imu-server: Built from dev branch (to support body frame output)
        • voxl-open-vins-server: Built from dev branch
      • Camera Configuration: Tracking Cameras (Front/Down) only.

      Current Status

      After a clean install of SDK 1.6.2 and upgrading the IMU and OpenVINS servers to the dev branch versions (as suggested to handle D0013's inverted IMU natively):

      1. VIO Tracking: Success. The drone is tracking perfectly in the Web Portal's 3D view. The virtual drone follows the real drone's movements correctly (RPY and translation).
      2. VOXL Vision Hub: Success. voxl-vision-hub reports result: true in the Web Portal system check.
      3. Image Sensors: Success. Previously reported errors, but now imageSensor0 and imageSensor1 are detected correctly.
      4. PX4 Flight Controller: FAILURE.
        • voxl-px4 reports result: false in the Web Portal system check.
        • Specific Error: sensor_accel: result false (e.g., x: -0.28, y: -0.28, z: 9.63).
        • The drone cannot enter Position Flight Mode.
        • QGroundControl allows Arming in Manual mode, but rejects Position mode.

      Steps Taken

      1. Clean Install: Re-flashed SDK 1.6.2 to ensure a clean state.
      2. Custom Build: Built and installed qrb5165-imu-server and voxl-open-vins-server from their dev branches on the device (using voxl-cross docker).
        • This resolved previous issues with "Upside Down" initialization and VIO coordinate frame mismatches.
      3. Calibration: Performed clean IMU and Camera calibrations via voxl-configure-mpa and QGroundControl.
      4. Verification: Checked Web Portal. VIO is healthy, but PX4 fails to initialize the accelerometer properly.

      Logs & Errors

      We have attached the full voxl-px4.log, voxl-imu-server.log, and voxl-vision-hub.log files. Below are the critical errors observed.

      1. Parameter File Access Error (from voxl-px4.log)

      PX4 fails to access the parameter file, which may be causing it to load incorrect defaults.

      Dec 19 09:35:49 m0104 voxl-px4[3893]: INFO  [param] selected parameter default file /data/px4/param/parameters
      Dec 19 09:35:49 m0104 voxl-px4[3893]: ERROR [param] open '/data/px4/param/parameters' failed (2)
      

      2. Sensor Start Timeouts (from voxl-px4.log)

      The system attempts to start the IMU driver (icm42688p) but times out.

      Dec 19 09:35:49 m0104 voxl-px4[3893]: Starting IMU driver with rotation 12
      Dec 19 09:36:09 m0104 voxl-px4[3893]: INFO  [qshell] Send cmd: 'icm42688p start -s -R 12'
      Dec 19 09:36:09 m0104 voxl-px4[3893]: ERROR [qshell] command timed out
      Dec 19 09:36:09 m0104 voxl-px4[3893]: ERROR [qshell] Command failed
      

      3. Accelerometer Failure (from voxl-px4.log)

      This is the direct cause of the sensor_accel: result false status.

      Dec 19 09:36:49 m0104 voxl-px4[2171]: ERROR [muorb] [sensors] Accel #0 fail:  TIMEOUT!
      

      4. IMU Server Analysis (from voxl-imu-server.log)

      The voxl-imu-server appears to be running and detecting the IMU correctly (Detected M0104 VOXL2 mini, detected ICM42688).
      It loads calibration data successfully.

      Dec 19 10:13:42 m0104 voxl-imu-server[30843]: detected ICM42688 on spi bus[id] 3
      Dec 19 10:13:42 m0104 voxl-imu-server[30843]: started fifo on imu0
      

      IMU server seems healthy and publishing data.

      5. Vision Hub Analysis (from voxl-vision-hub.log)

      voxl-vision-hub successfully connects to the VIO pipe (ov), but reports an issue with finding a specific extrinsic relation.

      Dec 19 10:07:19 m0104 voxl-vision-hub[1723]: Connected to VIO pipe: ov
      Dec 19 10:07:19 m0104 voxl-vision-hub[1723]: Geometry module updating to use imu: imu_apps_body for VIO
      ...
      Dec 19 10:07:17 m0104 voxl-vision-hub[1723]: ERROR: /etc/modalai/extrinsics.conf missing body to imu_apps_body, sticking with identity for now
      

      Also, there are connection errors to voxl-mavlink-server:

      Dec 19 10:07:19 m0104 voxl-vision-hub[1723]: Error trying to send control command to pipe ch4 /run/mpa/mavlink_onboard/, not connected
      

      This suggests that while VIO itself is running, the communication chain to send this data to PX4 (via mavlink-server) might be broken or misconfigured.

      Questions

      Despite VIO working perfectly with the updated servers and voxl-imu-server appearing healthy, PX4 consistently fails to validate the accelerometer (sensor_accel: result false).

      1. Is there a specific PX4 parameter or driver configuration in SDK 1.6.2 that conflicts with the Stinger (D0013) hardware, even with the updated IMU server?
      2. The accelerometer values (z ~ 9.6) seem physically reasonable for a stationary drone. Why does the check return false?
      3. Are there known compatibility issues with voxl-px4 and the dev branch qrb5165-imu-server?

      voxl-vision-hub.log
      voxl-imu-server.log
      voxl-px4.log

      posted in Ask your questions right here!
      YUUJI INOUEY
      YUUJI INOUE
    • RE: Critical VIO Instability and Calibration Failure on Stinger (D0013) with Brand New VOXL 2 Mini

      @YUUJI-INOUE
      This is the setup I did for stable operation, please let me know if there are any mistakes.

      Stinger (VOXL 2 Mini) VIO Setup Guide

      This document provides instructions for setting up a stable VIO (Visual Inertial Odometry) environment on the ModalAI Stinger (equipped with VOXL 2 Mini).
      It focuses on SDK version selection and correct configuration commands for the D0013 build to ensure reliable autonomous flight.

      1. Prerequisites

      • Drone: ModalAI Stinger (VOXL 2 Mini)
      • Configuration ID: D0013 (Stinger V2)
      • PC Environment: Linux/Ubuntu with ADB (Android Debug Bridge) installed
      • Network: Internet connection required for the drone (via Wi-Fi) for apt-get operations

      2. SDK Version Check and Installation

      IMPORTANT: Development versions (Alpha/Beta) of the SDK may cause unstable VIO behavior. It is strongly recommended to use the Stable SDK 1.6.2.

      2.1 Check Current Version

      Connect to VOXL via ADB and check the version:

      adb shell voxl-version
      # OR
      adb shell apt-cache policy voxl-suite
      

      If you see versions like 1.6.3~alpha, you must downgrade.

      2.2 Install SDK 1.6.2

      Force install the stable version:

      # Run inside VOXL shell or via adb shell
      adb shell "DEBIAN_FRONTEND=noninteractive apt-get install -y voxl-suite=1.6.2"
      

      2.3 Install Required Libraries

      To fix dependency issues with OpenVINS in SDK 1.6.2, install the voxl-ceres-solver library (libceres.so.2😞

      adb shell "apt-get install -y voxl-ceres-solver"
      

      Note: Without this, voxl-open-vins-server will fail to start.

      3. Factory Reset and Configuration

      Apply the correct presets for Stinger (D0013). Using these commands is more reliable than manual configuration.

      3.1 Configure Extrinsics

      Load the camera and IMU geometry for Stinger V2 (D0013).

      adb shell "voxl-configure-extrinsics D0013_Stinger_V2"
      

      3.2 Configure Vision Hub

      Configure how VIO data is sent to PX4 using the Stinger-specific preset.

      adb shell "voxl-configure-vision-hub factory_enable_vfc_pos_back_flow_d0013"
      

      3.3 Configure OpenVINS

      Reset the VIO server configuration.

      adb shell "voxl-configure-open-vins factory_enable"
      

      3.4 Configure PX4 Parameters

      Load optimized PID gains and flight parameters for Stinger (D0013).

      adb shell "voxl-configure-px4-params -n -p MRB-D0013"
      

      3.5 Enable VIO (Official Helper)

      Load the official parameter helper file for indoor VIO flight without GPS.

      adb shell "voxl-configure-px4-params -n -f /usr/share/modalai/px4_params/v1.14/EKF2_helpers/indoor_vio_missing_gps.params"
      

      3.6 Configure ESCs

      Upload Stinger-specific ESC parameters.

      adb shell "/usr/bin/voxl-esc setup_d0013"
      

      If you encounter invalid option errors, use the manual python script method:

      adb shell "systemctl stop voxl-px4 && cd /usr/share/modalai/voxl-esc-tools/ && python3 voxl-esc-upload-params.py --params-file ../voxl-esc-params/D0013/lumenier_2305_2400kv_GF_D90_4S.xml && systemctl start voxl-px4"
      

      3.7 Change ESC Mode (Critical)

      Change ESC control from RPM mode (default) to Power mode to ensure reliable motor startup.

      adb shell "px4-param set VOXL_ESC_MODE 0"
      

      3.8 Motor Test

      WARNING: REMOVE PROPELLERS BEFORE TESTING

      Spin Motor 0 (Front Right) for 2 seconds to verify ESC communication.

      adb shell "systemctl stop voxl-px4"
      adb shell "cd /usr/share/modalai/voxl-esc-tools/ && python3 voxl-esc-spin.py --id 0 --power 15 --timeout 2 --skip-prompt True"
      adb shell "systemctl start voxl-px4"
      

      4. Advanced Optimization (Critical for Stability)

      4.1 OpenVINS Optimization (Stinger Specific)

      To prevent data corruption and initialization errors on Stinger (D0013):

      1. Disable imu_body_frame_mode.
      2. Change configuration folder to fpv.
      adb shell "sed -i 's/\"imu_body_frame_mode\":\ttrue/\"imu_body_frame_mode\":\tfalse/' /etc/modalai/voxl-open-vins-server.conf"
      adb shell "sed -i 's/starling2/fpv/g' /etc/modalai/voxl-open-vins-server.conf"
      

      4.2 Stabilize Connection After Reboot

      Prevent voxl-vision-hub from starting before voxl-open-vins-server is ready by adding a 10-second delay.

      Edit /etc/systemd/system/voxl-vision-hub.service:

      adb shell "sed -i 's/After=voxl-wait-for-fs.service/After=voxl-wait-for-fs.service voxl-open-vins-server.service/' /etc/systemd/system/voxl-vision-hub.service"
      adb shell "sed -i '/ExecStart=\/usr\/bin\/voxl-vision-hub/i ExecStartPre=\/bin\/sleep 10' /etc/systemd/system/voxl-vision-hub.service"
      

      4.3 IMU Calibration

      If VIO is unstable or the Web Portal Health Check shows "IMU Calibration Missing", perform calibration:

      adb shell "voxl-calibrate-imu"
      

      Follow the on-screen instructions to place the drone in 6 orientations.

      5. Apply Changes and Reboot

      After applying all settings, reboot the drone. A hard power cycle (unplug battery) is recommended to ensure all sensors reset correctly.

      adb shell reboot
      

      6. Verification

      6.1 Check Services

      adb shell voxl-inspect-services
      

      Ensure voxl-open-vins-server, voxl-vision-hub, and voxl-px4 are Running.

      6.2 Check VIO in VOXL Portal

      Access the VOXL Portal (via IP address) and check the VIO (3D View):

      • Orientation: Does the drone in the view verify Pitch/Roll/Yaw movements correctly?
      • Position: Does the drone stay still in the view when the physical drone is stationary? (No drifting/divergence)

      6.3 Check QGroundControl (QGC)

      1. Local Position: Is the drone icon visible on the map?
      2. Position Mode: Switch flight mode to Position. It should say "Ready to fly" or "Position mode enabled" (not "Rejected").
        • If you can enter Position mode without GPS, VIO is working.

      7. Operational Best Practices

      1. Power On: After plugging in the battery, leave the drone static on a level surface for ~30 seconds. This allows the gyro to calibrate biases and services to start.
      2. Initialize VIO: Pick up the drone and move it in a large figure-8 motion to excite the IMU and cameras.
      3. Pre-flight Check: Do not take off until you can successfully switch to Position mode in QGC.
        • Note: If initialization fails (rarely), perform a reboot.

      8. Troubleshooting

      Q. Cannot enter Position Mode on the ground ("Not Ready")
      A. Check the following:

      1. Run voxl-inspect-pose vvhub_body_wrt_local to see if VIO data is streaming.
      2. If no data, perform a hard reboot (battery pull) to fix timestamp sync issues.
      3. Set en_voa to false in voxl-vision-hub.conf to disable obstacle avoidance (can cause extrinsics errors).
      4. Ensure vio_pipe is set to ov.
      posted in Ask your questions right here!
      YUUJI INOUEY
      YUUJI INOUE
    • RE: Critical VIO Instability and Calibration Failure on Stinger (D0013) with Brand New VOXL 2 Mini

      @zauberflote1
      The problem was solved after upgrading to SDK1.6.2, thank you.

      posted in Ask your questions right here!
      YUUJI INOUEY
      YUUJI INOUE
    • Critical VIO Instability and Calibration Failure on Stinger (D0013) with Brand New VOXL 2 Mini

      Dear ModalAI Support Team,

      I am writing to report a critical issue with my Stinger drone (SKU: MRB-D0013). I have recently installed a brand new VOXL 2 Mini flight controller on this unit. Despite extensive troubleshooting, including resetting to factory defaults and comparing with a working Starling 2 (D0014), the VIO system fails to initialize correctly and diverges immediately.

      We suspect a hardware defect related to the IMU orientation, camera focus/calibration, or an incompatibility with the default configuration for this specific unit.

      Issue Summary

      • Symptom: VIO (both QVIO and OpenVINS) diverges immediately or reports "BAD_CAM_CAL".
      • Observation:
        • In VOXL Portal, the VIO overlay shows the drone's estimated position diverging.
        • When manually moving the drone, the VIO estimated motion is often inverted (e.g., pitching up is interpreted as pitching down) or axes are swapped, even with default extrinsics.
        • voxl-qvio-server reports BAD_CAM_CAL and NOT_STATIONARY errors.
        • voxl-calibrate-camera fails for both tracking_front and tracking_down with high re-projection errors (> 0.9), citing "motion blur" even in a well-lit, static environment.

      Troubleshooting Steps Taken

      1. Factory Reset:

        • Ran voxl-configure-mpa (factory reset).
        • Ran voxl-configure-extrinsics D0013_Stinger (reset to default D0013 extrinsics).
        • Ran voxl-configure-cameras 22 (reset to default Stinger Dual AR0144 config).
        • Result: VIO still diverges with BAD_CAM_CAL.
      2. IMU Data Analysis:

        • Analyzed voxl-inspect-imu imu_apps raw data (with rotate_common_frame: false and true).
        • The IMU data suggests the physical orientation might be different from what the default configuration expects (Roll 180 + Yaw 180 vs just Roll 180), or the driver correction is not applying as intended for this specific unit.
        • Even when manually adjusting extrinsics.conf to match the observed IMU orientation (FLU) and Camera orientation (FRD), VIO stability could not be achieved.
      3. Comparison with Starling 2 (D0014):

        • We have a working Starling 2 unit. Applying Starling 2's configuration to Stinger (as a test) also resulted in divergence, confirming the hardware configuration is indeed different or defective.
      4. Camera Calibration:

        • Attempted voxl-calibrate-camera for both cameras.
        • Consistently fails with high re-projection error, suggesting potential lens focus issues or sensor alignment problems.

      Request

      Since we are using a brand new VOXL 2 Mini board, we want to ensure there are no configuration mismatches or firmware issues. However, given that it fails to operate with factory default settings and cannot be calibrated, we are concerned about a potential initial defect in the sensor modules or the board itself.

      Please review the attached diagnostic logs (diagnostic_logs.txt) and advise on the next steps for troubleshooting.

      Attached Files

      • diagnostic_logs.txt: Output of voxl-inspect-sku, voxl-version, voxl-inspect-services, voxl-inspect-extrinsics, and voxl-camera-server.conf.

      Thank you for your assistance.
      diagnostic_logs.txt

      posted in Ask your questions right here!
      YUUJI INOUEY
      YUUJI INOUE
    • RE: STINGER (D0013) Position Mode Fails after replacing

      @YUUJI-INOUE
      I made a mistake in the file name
      diagnostic_info

      posted in Ask your questions right here!
      YUUJI INOUEY
      YUUJI INOUE
    • STINGER (D0013) Position Mode Fails after replacing

      Subject: STINGER (D0013) Position Mode Fails after replacing VOXL 2 Mini: VIO Quality High but EKF2 Rejects Data

      Hi ModalAI Team,

      I am trying to restore a STINGER (D0013).
      The drone crashed into the ceiling and stopped working, so I replaced the VOXL 2 Mini (M0104) with a new one.
      I have set up the new board from scratch.

      Current Status:

      • Manual Flight: Works fine. Motors, RC, and basic stabilization are OK.
      • Position Mode: Cannot engage. QGC says "No valid local position estimate".

      Symptoms:

      • voxl-qvio-server is running, voxl-inspect-qvio shows Quality: 100% (or High).
      • PX4 receives data (px4-listener vehicle_odometry shows valid data).
      • px4-listener vehicle_local_position shows xy_valid: False.
      • px4-listener estimator_status shows pos_test_ratio: nan continuously.

      What I have tried:

      1. Reset parameters using voxl-configure-px4-params -p MRB-D0013.
      2. Verified Extrinsics using voxl-configure-extrinsics D0013_Stinger.
      3. Calibrated sensors in QGC.
      4. Tried aligning settings with a working STARLING 2 unit:
        • EKF2_EV_CTRL = 15
        • SYS_HAS_GPS = 1
        • EKF2_HGT_REF = 0 (Baro)
        • Relaxed EKF2_REQ_SACC = 1.5, EKF2_REQ_GPS_H = 5.0.

      Since this is a repaired unit with a new VOXL 2 Mini, I suspect I might be missing some calibration or configuration step specific to a board replacement.
      Despite valid VIO data reaching PX4 (checked via listener), EKF2 seems to completely ignore it (pos_test_ratio: nan).

      Attachments:

      • voxl-inspect-services output (diagnostic_info.txt)
      • Parameter file (stinger_support.params)
      • Flight Log (latest_flight_log.ulg)

      System Info:

      • VOXL 2 Mini (M0104) - New replacement board
      • Image: 1.8.04-M0104-14.1a-perf
      • PX4: (Current version)

      Any help would be appreciated.

      daiagnostic_info.txt
      stinger_support.params
      latest_flight_log.ulg
      2.jpg 3.jpg 1.jpg

      posted in Ask your questions right here! nonsaya
      YUUJI INOUEY
      YUUJI INOUE