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

ModalAI Forum

  1. ModalAI Support Forum
  2. VOXL Dev Kits
  3. VOXL-CAM
  4. Link VIO to stereo instead of tracking camera

Link VIO to stereo instead of tracking camera

Scheduled Pinned Locked Moved VOXL-CAM
8 Posts 5 Posters 1.4k 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.
  • M Offline
    M Offline
    marian
    Contributor
    wrote on last edited by
    #1

    Hello,

    I'd like your advice on how to connect VIO to the stereo camera instead of the tracking camera. Is it only possible through the extrinsic configuration file or is there a tool that allows you to do it?

    Thanks!

    1 Reply Last reply
    0
    • M Offline
      M Offline
      marian
      Contributor
      wrote on last edited by
      #2

      Hello,

      I changed the extrinsics.conf to add the reference between imu0 and imu1 to stereo_l, and changed the voxl-qvio-server.conf tu use the stereo camera for qvio instead of tracking camera.

      I have two problems :

      1. when I use the voxl tool to change the extrinsics configuration, it added par default the conf cor imu0 / imu1 to the tracking camera

      2. when I restart the qvio server with the new configuration file it recognise my conf for stereo (I used stereo_l) but it use the tracking intrinsics.yml file instaead of the stero intrinsics conf. And, of course I don't get localisation by stereo camera

      Below is the output of the qvio server:

      voxl-qvio-server
      loading qvio config file

      imu_name: imu1
      cam_name: stereo_l
      odr_hz: 30.000
      use_camera_height_bootstrap: 1
      camera_height_off_ground_m: 0.225
      enable_init_while_moving: 1
      cam_imu_timeshift_s: 0.002
      cam_imu_timeshift_s_uncertainty: 0.001
      T_cam_wrt_imu_uncertainty: 0.005 0.005 0.005
      R_cam_to_imu_uncertainty: 0.040 0.040 0.040
      accl_fsr_ms2: 156.000
      gyro_fsr_rad: 34.000
      accl_noise_std_dev: 0.316
      gyro_noise_std_dev: 0.010
      cam_noise_std_dev: 100.000
      min_std_pixel_noise: 0.500
      fail_high_pixel_noise_points: 1.665
      limited_imu_bw_trigger: 35.000
      gps_imu_time_alignment_s: 0.000
      T_gps_wrt_imu: -0.115 0.450 0.100
      enable_mapping: 1
      enable_gps_vel: 0

      exising instance of qvio-server found, attempting to stop it
      setting scheduler
      set FIFO priority successfully!
      loading extrinsics config file
      #0:
      parent: imu1
      child: stereo_l
      T_child_wrt_parent: 0.012 0.055 0.008
      RPY_parent_to_child: 0.0 90.0 90.0
      R_child_to_parent: 0.000 -0.000 1.000
      1.000 0.000 -0.000
      -0.000 1.000 0.000
      tbc: 0.012 0.055 0.008
      ombc: 1.209 1.209 1.209 (axis angle)
      ombc: 0.000 90.000 90.000 (RPY deg)
      loading /data/modalai/opencv_tracking_intrinsics.yml
      using camera intrinsics:

      Could you let me know what I am missing there, please?

      1 Reply Last reply
      0
      • Techsawi TechsawiT Offline
        Techsawi TechsawiT Offline
        Techsawi Techsawi
        wrote on last edited by
        #3

        Hi @marian I'm trying the same solution as my tracking camera is not working, are you able to get it working this way?
        yocto:/etc/modalai$ voxl-qvio-server
        loading qvio config file

        imu_name: imu1
        cam_name: stereo_l
        odr_hz: 30.000
        use_camera_height_bootstrap: 1
        camera_height_off_ground_m: 0.100
        enable_init_while_moving: 1
        cam_imu_timeshift_s: 0.002
        cam_imu_timeshift_s_uncertainty: 0.001
        T_cam_wrt_imu_uncertainty: 0.005 0.005 0.005
        R_cam_to_imu_uncertainty: 0.040 0.040 0.040
        accl_fsr_ms2: 156.000
        gyro_fsr_rad: 34.000
        accl_noise_std_dev: 0.316
        gyro_noise_std_dev: 0.010
        cam_noise_std_dev: 100.000
        min_std_pixel_noise: 0.500
        fail_high_pixel_noise_points: 1.665
        limited_imu_bw_trigger: 35.000
        gps_imu_time_alignment_s: 0.000
        T_gps_wrt_imu: -0.115 0.450 0.100
        enable_mapping: 1
        enable_gps_vel: 0

        exising instance of qvio-server found, attempting to stop it
        setting scheduler
        WARNING Failed to set priority, errno = 1
        This seems to be a problem with ADB, the scheduler
        should work properly when this is a background process
        ERROR failed to set scheduler
        loading extrinsics config file
        #0:
        parent: imu1
        child: stereo_l
        T_child_wrt_parent: 0.017 0.015 0.013
        RPY_parent_to_child: 0.0 0.0 90.0
        R_child_to_parent: 0.000 -1.000 0.000
        1.000 0.000 -0.000
        0.000 0.000 1.000
        tbc: 0.017 0.015 0.013
        ombc: 0.000 0.000 1.571 (axis angle)
        ombc: 0.000 0.000 90.000 (RPY deg)
        loading /data/modalai/opencv_tracking_intrinsics.yml
        using camera intrinsics:
        focal lengths: 291.001662 291.248381
        principle points: 303.812740 244.632261
        distortion: -0.007658 -0.008713 0.013827 -0.003393
        MachineVision is licensed as community user
        LNX_8074 supported? 1
        LNX_8096 supported? 1
        LNX_IA64 supported? 1
        WINDOWS supported? 0
        AR ERROR: arFileOpen(): Failed to open file: /etc/modalai/vislam/Configuration.SF.xml
        FASTCV: fcvAvailableHardware Linux
        mempool cur block size 307200, new block size 307200
        Please ignore the error about Configuration.SF.xml above. ^^^
        It's an optional file, and should be a warning not an error
        waiting for imu
        waiting for cam
        connected to imu server

        1 Reply Last reply
        0
        • M Offline
          M Offline
          marian
          Contributor
          wrote on last edited by marian
          #4

          No, it doesn't and I did't heard anything from the Modalai's team in this thread 😞

          In fact there are 2 problems:

          1. Extrinsics.conf:
          • when loading a new conf file via voxl tool, if the imu0/traching and imu1/tracking conf is not in the file, the voxl tool will automatically add a default conf of these entries at the and of your conf file
          1. QVIO server:
          • when starting it will load default the opencv_tracking conf as below and can't change it from the conf :

          loading /data/modalai/opencv_tracking_intrinsics.yml

          So, the system seems to be blocked to use only tracking camera for VIO

          1 Reply Last reply
          0
          • ? Offline
            ? Offline
            A Former User
            wrote on last edited by
            #5

            Hi All,

            The MVVISLAM library is very touchy and pretty much requires a camera with a wide field of view to give good data. We're aware that the current setup is not very dynamic and are progressing on a couple different solutions:

            Firstly, we've implemented pipelines for a ov9782 sensor with color, 720p, and a field of view that's about halfway between the very-fisheye tracking camera and the current ov7251 pinhole camera. we've primarily been testing the software for this on the VOXL2 platform but the drivers are working on VOXL and we're hoping to have them up for sale in the coming months.

            We've also been updating voxl-qvio-server to be much more dynamic, the dev branch has had a bunch of updates removing some hardcoded places referencing the tracking camera with the intention of supporting the new higher-resolution camera. This code has been proved out on VOXL2 and we currently have a couple platforms flying vio with the new cameras in our lab. We haven't run through extensive testing on voxl1 yet but if you'd like a head start on this the source and build instructions for what we're testing right now is available on the dev branch of the qvio server (though note that this is populated with near daily updates from our team and will often include experimental code).

            M 1 Reply Last reply
            0
            • Steve TurnerS Offline
              Steve TurnerS Offline
              Steve Turner
              wrote on last edited by
              #6

              Alex,

              This new work looks great on the dev branch. We might give it a try to see how it performs.

              Highjacking the thread a bit -- have you looked at other VIO algorithms/implementations? Or is QC MVVISLAM about the best you guys have found on the platform, especially given what I imagine is hardware acceleration provided by the library?

              Thanks!

              1 Reply Last reply
              0
              • Andy JaroszA Offline
                Andy JaroszA Offline
                Andy Jarosz
                wrote on last edited by
                #7

                I'd also love to see an option for 2 tracking cameras, for an even wider tracking FOV.

                1 Reply Last reply
                0
                • ? A Former User

                  Hi All,

                  The MVVISLAM library is very touchy and pretty much requires a camera with a wide field of view to give good data. We're aware that the current setup is not very dynamic and are progressing on a couple different solutions:

                  Firstly, we've implemented pipelines for a ov9782 sensor with color, 720p, and a field of view that's about halfway between the very-fisheye tracking camera and the current ov7251 pinhole camera. we've primarily been testing the software for this on the VOXL2 platform but the drivers are working on VOXL and we're hoping to have them up for sale in the coming months.

                  We've also been updating voxl-qvio-server to be much more dynamic, the dev branch has had a bunch of updates removing some hardcoded places referencing the tracking camera with the intention of supporting the new higher-resolution camera. This code has been proved out on VOXL2 and we currently have a couple platforms flying vio with the new cameras in our lab. We haven't run through extensive testing on voxl1 yet but if you'd like a head start on this the source and build instructions for what we're testing right now is available on the dev branch of the qvio server (though note that this is populated with near daily updates from our team and will often include experimental code).

                  M Offline
                  M Offline
                  marian
                  Contributor
                  wrote on last edited by
                  #8

                  @Alex-Gardner Thank you, is looking good and promising for this use case. I'll give it a try.

                  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