ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Extrinsics Accuracy

    Image Sensors
    2
    5
    212
    Loading More Posts
    • 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.
    • P
      psafi
      last edited by

      what kind of dimensional tolerances are acceptable when configuring the extrinsics for VIO when building a custom vehicle?

      Alex KushleyevA 1 Reply Last reply Reply Quote 0
      • Alex KushleyevA
        Alex Kushleyev ModalAI Team @psafi
        last edited by

        @psafi , are you asking about QVIO?

        For QVIO we typically try to get the extrinsics from CAD, which should be quite accurate. If you don't have exact CAD, then XYZ measurements should be within 5mm accuracy or better and within a few degrees rotation. QVIO actually estimates extrinsics, so it will try to correct as part of its estimated state. QVIO will probably converge to correct extrinsics even if you have a larger initial error in the extrinsics, however it's not a good approach to rely on QVIO doing this every time you start QVIO, because it can make the initialization of QVIO more prone to errors.

        In the case when exact measurements are not available, you just use your best guess and then run QVIO in a feature rich environment, while holding the the drone by hand, smoothly carrying it around (smoothly rotating and translating). QVIO should converge and its state actually reports the estimate of the IMU to Camera translation and rotation (the extrinsics). Running this test several times (completely restarting QVIO) you can see what extrinsics the QVIO converges to and whether they are consistent. Then, you can update your extrinsics guess to the average value of the translation and rotation you obtained after running QVIO.

        Hopefully this helps, let me know if you have any questions.

        Alex

        P 1 Reply Last reply Reply Quote 0
        • P
          psafi @Alex Kushleyev
          last edited by

          @Alex-Kushleyev Thank you. This is helpful.

          What is QVIO as opposed to VIO? My goal is to set up VIO on a custom quadcopter frame and I am following these instructions. I don't see any mention of qvio

          Alex KushleyevA 1 Reply Last reply Reply Quote 0
          • Alex KushleyevA
            Alex Kushleyev ModalAI Team @psafi
            last edited by

            @psafi ,

            We sometimes refer to VIO as QVIO because our VIO software uses a VIO library from Qualcomm (hence the Q). this implementation is robust and works well for a single camera.

            For using multiple cameras, we are using a custom version of OpenVins.

            Both voxl-qvio-server and voxl-open-vins-server are briefly mentioned in the debug section of the doc that you referred to : https://docs.modalai.com/flying-with-vio/#debugging

            Alex

            P 1 Reply Last reply Reply Quote 0
            • P
              psafi @Alex Kushleyev
              last edited by

              @Alex-Kushleyev Ok great. Thanks.
              One more question, to configure VIO/QVIO for a custom frame with a single (downward) camera, how should I go about following the documentations?

              I am starting with https://docs.modalai.com/open-vins/

              However I came across this:
              "This documentaion will assume that there are some steps that have already be taken. ...Assuming that we are working with between two and three camera tracking."

              are there different procedures for a system with single camera? Also a high-level roadmap on how to go about configuring VIO/QVIO for a custom frame would be appreciated in case information is in multiple places in documentation. Thank you for your support.

              1 Reply Last reply Reply Quote 0
              • First post
                Last post
              Powered by NodeBB | Contributors