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

    Yufei Jiang

    @Yufei Jiang

    0
    Reputation
    1
    Profile views
    4
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Yufei Jiang Unfollow Follow

    Latest posts made by Yufei Jiang

    • RE: Open-vins keeps diverging and re-initializing.

      @Yufei-Jiang And I used voxl-configure-cameras and voxl-configure-extrinsics D0006_Sentinel to generate the camera config.

      posted in Ask your questions right here!
      Yufei JiangY
      Yufei Jiang
    • RE: Open-vins keeps diverging and re-initializing.

      @zauberflote1 Hi, I recalibrated the imu and checked it using voxl-inspect-imu. The imu data looks good. In voxl-inspect-cam it can detect all the cameras. However, it's still diverging really fast once I moved the VOXL2. If I disabled the auto-reset of vins, it will keep drifting.
      image (5).png

      posted in Ask your questions right here!
      Yufei JiangY
      Yufei Jiang
    • Open-vins keeps diverging and re-initializing.

      Hi,

      I'm using VOXL2 with flight deck and trying to test the open-vins. Currently I'm only using one camera (tracking) and the output will diverge quickly once I slightly move the VOXL2. Is there any clue about why and how I can solve this?

      Below is my system:
      voxl2:/$ voxl-version
      ────────────────────────────────────────────────────────────────────────────────
      system-image: 1.8.02-M0054-14.1a-perf
      kernel: #1 SMP PREEMPT Mon Nov 11 22:08:01 UTC 2024 4.19.125
      ────────────────────────────────────────────────────────────────────────────────
      hw platform: M0054
      mach.var: 1.0.0
      SKU: MDK-F0006-4-V2-C11-E1
      ────────────────────────────────────────────────────────────────────────────────
      voxl-suite: 1.4.5
      ────────────────────────────────────────────────────────────────────────────────
      Packages:
      Repo: http://voxl-packages.modalai.com/ ./dists/qrb5165/sdk-1.4/binary-arm64/
      Last Updated: 2025-06-05 19:03:39
      List:
      kernel-module-voxl-fsync-mod-4.19.125 1.0-r0
      kernel-module-voxl-gpio-mod-4.19.125 1.0-r0
      kernel-module-voxl-platform-mod-4.19.125 1.0-r0
      libfc-sensor 1.0.7
      libmodal-cv 0.5.18
      libmodal-exposure 0.1.4
      libmodal-journal 0.2.5
      libmodal-json 0.4.7
      libmodal-pipe 2.13.1
      libqrb5165-io 0.5.0
      libvoxl-cci-direct 0.3.2
      libvoxl-cutils 0.1.5
      modalai-slpi 1.1.20
      mv-voxl 0.1-r0
      qrb5165-bind 0.1-r0
      qrb5165-dfs-server 0.2.0
      qrb5165-imu-server 1.1.3
      qrb5165-rangefinder-server 0.1.5
      qrb5165-slpi-test-sig 01-r0
      qrb5165-system-tweaks 0.3.5
      qrb5165-tflite 2.8.0-2
      voxl-bind-spektrum 0.1.1
      voxl-camera-calibration 0.5.9
      voxl-camera-server 2.2.1
      voxl-ceres-solver 2:1.14.0-10
      voxl-configurator 1.0.1
      voxl-cpu-monitor 0.6.0
      voxl-docker-support 1.3.1
      voxl-elrs 0.4.7
      voxl-esc 1.5.2
      voxl-feature-tracker 0.5.2
      voxl-flow-server 0.3.6
      voxl-fsync-mod 1.0-r0
      voxl-gphoto2-server 0.0.10
      voxl-gpio-mod 1.0-r0
      voxl-io-server 0.0.5
      voxl-jpeg-turbo 2.1.3-7
      voxl-lepton-server 1.3.3
      voxl-lepton-tracker 0.0.4
      voxl-libgphoto2 0.0.4
      voxl-libuvc 1.0.7
      voxl-logger 0.5.3
      voxl-mavcam-manager 0.5.8
      voxl-mavlink 0.1.5
      voxl-mavlink-server 1.4.7
      voxl-modem 1.1.6
      voxl-mongoose 7.7.0-2
      voxl-mpa-to-ros 0.3.9
      voxl-mpa-tools 1.4.0
      voxl-open-vins 0.4.19
      voxl-open-vins-server 0.3.12
      voxl-opencv 4.5.5-3
      voxl-osd 0.1.7
      voxl-platform-mod 1.0-r0
      voxl-portal 0.7.10
      voxl-px4 1.14.0-2.0.98
      voxl-px4-imu-server 0.1.2
      voxl-px4-params 0.7.3
      voxl-qvio-server 1.2.0
      voxl-remote-id 0.0.9
      voxl-reset-slpi 0.0.1
      voxl-state-estimator 0.0.5
      voxl-streamer 0.7.5
      voxl-suite 1.4.5
      voxl-tag-detector 0.0.4
      voxl-tflite-server 0.4.1
      voxl-utils 1.4.8
      voxl-uvc-server 0.1.7
      voxl-vision-hub 1.8.21
      voxl-vtx 1.3.14
      voxl-wavemux 0.0.1
      voxl2-io 0.0.3
      voxl2-system-image 1.8.02-r0
      voxl2-wlan 1.0-r0
      ────────────────────────────────────────────────────────────────────────────────

      voxl-open-vins-server.conf:
      {
      "en_auto_reset": true,
      "auto_reset_max_velocity": 20,
      "auto_reset_max_v_cov_instant": 0.10000000149011612,
      "auto_reset_max_v_cov": 0.10000000149011612,
      "auto_reset_max_v_cov_timeout_s": 0.5,
      "auto_reset_min_features": 1,
      "auto_reset_min_feature_timeout_s": 3,
      "auto_fallback_timeout_s": 3,
      "auto_fallback_min_v": 0.600000023841858,
      "en_cont_yaw_checks": false,
      "fast_yaw_thresh": 5,
      "fast_yaw_timeout_s": 1.75,
      "do_fej": true,
      "imu_avg": true,
      "use_rk4_integration": true,
      "cam_to_imu_refinement": true,
      "cam_intrins_refinement": true,
      "cam_imu_ts_refinement": true,
      "max_clone_size": 8,
      "max_slam_features": 35,
      "max_slam_in_update": 10,
      "max_msckf_in_update": 10,
      "feat_rep_msckf": 4,
      "feat_rep_slam": 4,
      "cam_imu_time_offset": 0,
      "slam_delay": 1,
      "gravity_mag": 9.80665,
      "init_window_time": 0.5,
      "init_imu_thresh": 2,
      "imu_sigma_w": 0.00013990944749616306,
      "imu_sigma_wb": 4.1189724174615527e-07,
      "imu_sigma_a": 0.0038947538150776763,
      "imu_sigma_ab": 5.538346201712153e-05,
      "msckf_chi2_multiplier": 1,
      "slam_chi2_multiplier": 40,
      "zupt_chi2_multiplier": 1,
      "refine_features": true,
      "pyr_levels": 6,
      "grid_x": 5,
      "grid_y": 5,
      "msckf_sigma_px": 1,
      "slam_sigma_px": 1.8,
      "zupt_sigma_px": 1,
      "try_zupt": true,
      "zupt_max_velocity": 0.03,
      "zupt_only_at_beginning": true,
      "zupt_noise_multiplier": 1,
      "zupt_max_disparity": 8,
      "init_dyn_use": false,
      "triangulate_1d": false,
      "max_runs": 5,
      "init_lamda": 0.001,
      "max_lamda": 10000000000,
      "min_dx": 1e-06,
      "min_dcost": 1e-06,
      "lam_mult": 10,
      "min_dist": 0.1,
      "max_dist": 60,
      "max_baseline": 40,
      "max_cond_number": 600000,
      "use_mask": false,
      "use_stereo": false,
      "use_baro": false,
      "num_opencv_threads": 4,
      "fast_threshold": 15,
      "histogram_method": 1,
      "knn_ratio": 0.7,
      "takeoff_accel_threshold": 0.5,
      "takeoff_threshold": -0.1,
      "use_stats": false,
      "max_allowable_cep": 1,
      "en_force_init": false,
      "en_force_ned_2_flu": false,
      "en_imu_frame_output": true,
      "track_frequency": 15,
      "publish_frequency": 5,
      "en_vio_always_on": true,
      "en_ext_feature_tracker": false,
      "en_gpu_for_tracking": true,
      "num_features_to_track": 10,
      "raansac_gn": false,
      "raansac_tri": true,
      "en_thermal_enhance": false,
      "en_overlay_landscape": false,
      "thermal_brightness": 1,
      "thermal_brightness_bos": 1

      Output of open-vins-server:
      

      voxl2:/etc/modalai$ voxl-open-vins-server
      Setting printing level to: SILENT

      =========================AUTO RESET==============================
      en_auto_reset: 1
      auto_reset_max_velocity: 20.000
      auto_reset_max_v_cov_instant: 0.100
      auto_reset_max_v_cov: 0.100
      auto_reset_max_v_cov_timeout_s: 0.500
      auto_reset_min_features: 1
      auto_reset_min_feature_timeout_s: 3.000
      auto_fallback_timeout_s: 3.000
      auto_fallback_min_v: 0.600
      en_cont_yaw_checks: false
      fast_yaw_thresh: 5.000
      fast_yaw_timeout_s: 1.750
      ===========================STATE=================================
      do fej: true
      imu avg: true
      use rk4 integration: true
      cam to imu refinement: true
      cam intrins refinement: true
      cam imu ts refinement: true
      max clone size: 8
      max slam features: 35
      max slam in update: 10
      max msckf in update: 10
      feat rep msckf: ANCHORED_MSCKF_INVERSE_DEPTH
      feat rep slam: ANCHORED_MSCKF_INVERSE_DEPTH
      cam imu time offset: 0.00000
      slam delay: 1.00000
      pyr levels: 6
      grid x: 5
      grid y: 5

      =====================INERTIAL INITIALIZER========================
      gravity mag: 9.80665
      init window time: 0.50000
      init imu thresh: 2.00000
      init dyn use: false

      ==========================IMU NOISE==============================
      imu sigma w: 0.00014
      imu sigma wb: 0.00000
      imu sigma a: 0.00389
      imu sigma ab: 0.00006

      ========================FEATURE NOISE============================
      msckf chi^2 multiplier: 1.00000
      msckf sigma px: 1.00000
      slam chi^2 multiplier: 40.00000
      slam sigma px: 1.80000
      zupt chi^2 multiplier: 1.00000
      zupt sigma px: 1.00000

      =============================ZUPT================================
      refine features: true
      max runs: 5
      try zupt: true
      en_ext_feature_tracker: 0
      en_gpu_for_tracking: 1
      raansac_gn: false
      raansac_tri: true
      zupt max velocity: 0.03000
      zupt only at beginning: true
      zupt noise multiplier: 1.00000
      zupt max disparity: 8.00000

      use mask: false
      use stereo: false
      use baro: false

      ========================FEATURE INITIALIZER======================
      triangulate 1d: false
      init lamda: 0.00100
      max lamda: 10000000000.00000
      min dx: 0.00000
      min dcost: 0.00000
      lam mult: 10.00000
      min dist: 0.10000
      max dist: 60.00000
      max baseline: 40.00000
      num_opencv_threads: 4
      fast_threshold: 15
      histogram_method: HISTOGRAM
      knn_ratio: 0.70000
      track_frequency: 15.00000
      publish_frequency: 5
      imu takeoff accel thresh: 0.50000
      force init on takeoff: false
      takeoff_threshold(m): -0.100000
      publish stats: false
      max_allowable_cep: 1.00000
      force FLU to NED transform: false
      publish IMU frame: true
      VIO always on (for bench testing): true
      num_features_to_track: 10
      Enable Thermal Enhance: false
      Enable Overlay Landscape: false
      Thermal Brightness: 1.00000
      Thermal Brightness BOSON: 1.00000

      =================================================================
      vio_cam config:
      cam 0:
      enable: 1
      name: tracking
      pipe_for_preview: tracking
      pipe_for_tracking: tracking
      is_occluded_on_ground: 0
      imu: imu_apps
      is_extrinsic_present: 1
      extrinsic cam wrt imu:
      parent: imu_apps
      child: tracking
      T_cam_wrt_imu: 0.027 0.007 0.018
      RPY_imu_to_cam: 0.0 45.0 90.0
      R_cam_to_imu: 0.000 -0.707 0.707
      1.000 0.000 -0.000
      -0.000 0.707 0.707
      cal file: opencv_tracking_intrinsics.yml
      is_cal_present: 1
      cam cal intrinsics:
      width: 640
      height: 480
      fx: 277.659
      fy: 277.763
      cx: 349.269
      cy: 219.049
      n_coeffs: 4
      is_fisheye: 1
      😧 -0.0240 0.0390 -0.0284 0.0077

      vio cam: 0 is occluded: 0
      [INFO] Camera: 0 -- converted extrinsics in FLU are: Roll: -0.000000, Pitch 135.000000, Yaw -90.000000 (-1.570796)
      WORLD QUATERNION: -0.000000 0.000000 -0.000000 1.000000
      OpenVINS using fisheye camera
      OpenVINS FINAL Cam extrinsics to IMU for tracking: 7
      -0.653281
      0.653281
      -0.270598
      0.270598
      0.0273
      -0.0067
      -0.0182
      ++++++++++++++++++++++++++

      OpenVINS reports number of cameras being used, regardless of delivery method (pipe, merge, etc...): 1

      ++++++++++++++++++++++++++
      Set camera intrinsics and extrinsics

      ====> Using Internal KLT feature tracker (w/ GPU) <====
      initialized ocl manager

      Current reference counts:
      trackDB: 1
      trackFEATS: 1
      propagator: 2
      updaterMSCKF: 1
      updaterSLAM: 1
      active_tracks_initializer: 1
      initializer: 1
      thread is locked to cores: 4 5 6 7
      create_server_pipes
      connecting client pipes
      imu pipe name: imu_apps
      Number of Cameras active: 1
      Camera merge --- > ch: 1 to cam id: 0
      Opening camera pipe: tracking
      tmp_camera_pipe_names.push_back(): tracking
      client "voxl-portal66662777" connected to overlay
      [WARN] (0.005064 and 0.235771) Cannot initialize FRD to IMU transform--too much drift: your IMU may need to be recalibrated or is OVERHEATED!
      [WARN] (0.004868 and 0.241071) Cannot initialize FRD to IMU transform--too much drift: your IMU may need to be recalibrated or is OVERHEATED!
      [WARN] (0.003866 and 0.231757) Cannot initialize FRD to IMU transform--too much drift: your IMU may need to be recalibrated or is OVERHEATED!
      [INFO] world : 1.000000 1.000000 (2)
      [WARN] (0.003118 and 0.237088) Cannot initialize FRD to IMU transform--too much drift: your IMU may need to be recalibrated or is OVERHEATED!
      [WARN] (0.005283 and 0.226763) Cannot initialize FRD to IMU transform--too much drift: your IMU may need to be recalibrated or is OVERHEATED!
      FAILED TO FETCH IMG RINGBUF at time 0 -2 -2 -2 -2 -2
      [INFO] FRD to IMU NED configuration done. g direction: -1
      [INFO] gravity direction (2) : -1
      [INFO] *** FRD to IMU transform READY! ***
      FAILED TO FETCH IMG RINGBUF at time 0 -2 -2 -2 -2 -2
      waiting for enough clone states (1 of 5)....
      [WARN] Motion detected, going to full processing
      waiting for enough clone states (2 of 5)....
      waiting for enough clone states (3 of 5)....
      waiting for enough clone states (4 of 5)....
      [VIO_BAD_STATE] Quality less than 1.
      WARNING auto-resetting, Bad VIO, State: true Q: -1 Vel: 0.043736 Uncert: 0.949216 State: 0(1)
      [INFO] restarting managers STATELESS
      Set camera intrinsics and extrinsics

      ====> Using Internal KLT feature tracker (w/ GPU) <====
      initialized ocl manager

      Current reference counts:
      trackDB: 1
      trackFEATS: 1
      propagator: 2
      updaterMSCKF: 1
      updaterSLAM: 1
      active_tracks_initializer: 1
      initializer: 1
      Camera queue size after reset: 0
      IMU samples too small, make your window smaller (params.init_window_time), can't initalize 1959.206927 - 1958.867053 (0.339874)
      IMU samples too small, make your window smaller (params.init_window_time), can't initalize 1959.237218 - 1958.867053 (0.370165)
      IMU samples too small, make your window smaller (params.init_window_time), can't initalize 1959.282138 - 1958.867053 (0.415084)
      IMU samples too small, make your window smaller (params.init_window_time), can't initalize 1959.311426 - 1958.867053 (0.444373)
      IMU samples too small, make your window smaller (params.init_window_time), can't initalize 1959.336785 - 1958.867053 (0.469732)
      waiting for enough clone states (1 of 5)....
      [INFO] TAKEOFF: DISPARITY disturbed, possible motion detected. Avg: 434.788239 (8.000000) # feats: 2 (20).
      waiting for enough clone states (2 of 5)....
      [INFO] TAKEOFF: DISPARITY disturbed, possible motion detected. Avg: 0.000000 (8.000000) # feats: 2 (20).
      waiting for enough clone states (3 of 5)....
      waiting for enough clone states (4 of 5)....
      [WARN] Motion detected, going to full processing
      [VIO_BAD_STATE] Quality less than 1.
      WARNING auto-resetting, Bad VIO, State: true Q: -1 Vel: 7.194683 Uncert: 0.586549 State: 0(1)
      [INFO] restarting managers STATELESS
      Set camera intrinsics and extrinsics

      ====> Using Internal KLT feature tracker (w/ GPU) <====
      initialized ocl manager

      Current reference counts:
      trackDB: 1
      trackFEATS: 1
      propagator: 2
      updaterMSCKF: 1
      updaterSLAM: 1
      active_tracks_initializer: 1
      initializer: 1
      Camera queue size after reset: 0
      IMU samples too small, make your window smaller (params.init_window_time), can't initalize 1965.271825 - 1964.916372 (0.355453)
      IMU samples too small, make your window smaller (params.init_window_time), can't initalize 1965.311861 - 1964.916372 (0.395488)
      IMU samples too small, make your window smaller (params.init_window_time), can't initalize 1965.342133 - 1964.916372 (0.425761)
      IMU samples too small, make your window smaller (params.init_window_time), can't initalize 1965.376322 - 1964.916372 (0.459950)
      IMU samples too small, make your window smaller (params.init_window_time), can't initalize 1965.411513 - 1964.916372 (0.495141)
      waiting for enough clone states (1 of 5)....

      posted in Ask your questions right here!
      Yufei JiangY
      Yufei Jiang