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. Where to find the ToF and Hires sensors calibration?

Where to find the ToF and Hires sensors calibration?

Scheduled Pinned Locked Moved Ask your questions right here!
8 Posts 3 Posters 962 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.
  • O Offline
    O Offline
    oasisartisan
    wrote on last edited by
    #1

    Hello, I have the Starling Max with the C29 cameras.

    I am able to find intrinsic calibration files for the tracking cameras.

    :~$ voxl-check-calibration
    Calibration File Status:
    Present /data/modalai/voxl-imu-server.cal 
    Present /data/modalai/opencv_tracking_front_intrinsics.yml 
    Present /data/modalai/opencv_tracking_down_intrinsics.yml 
    Present /data/px4/param/parameters_gyro.cal 
    Present /data/px4/param/parameters_acc.cal 
    Present /data/px4/param/parameters_level.cal 
    Present /data/px4/param/parameters_baro_tc.cal 
    Present /data/px4/param/parameters_mag.cal 
    

    I am trying to get the ToF and Hires camera calibration.

    Since ToF also publishes a point cloud, the intrinsics must be there already somewhere for ToF at least ?

    1 Reply Last reply
    1
    • J Offline
      J Offline
      jimbow77
      wrote on last edited by
      #2

      I am also interested for the ToF, and I have the C29 config as well. I tried using voxl-calibrate-camera on the tof_ir stream but it seems I will need a checkerboard with different reflectivity for the black and white squares (my printed one doesn't work well). However, I was able to generate an intrinsics calibration file just fine with my printed checkerboard for the hires camera.

      My guess is the intrinsics for the ToF are hard-coded into the sensor itself and not handled by ModalAI directly, but I don't know for sure.

      Any suggestions for the ToF sensor would be appreciated.

      Alex KushleyevA 1 Reply Last reply
      1
      • J jimbow77

        I am also interested for the ToF, and I have the C29 config as well. I tried using voxl-calibrate-camera on the tof_ir stream but it seems I will need a checkerboard with different reflectivity for the black and white squares (my printed one doesn't work well). However, I was able to generate an intrinsics calibration file just fine with my printed checkerboard for the hires camera.

        My guess is the intrinsics for the ToF are hard-coded into the sensor itself and not handled by ModalAI directly, but I don't know for sure.

        Any suggestions for the ToF sensor would be appreciated.

        Alex KushleyevA Offline
        Alex KushleyevA Offline
        Alex Kushleyev
        ModalAI Team
        wrote on last edited by Alex Kushleyev
        #3

        @jimbow77 and @oasisartisan ,

        TOF V1 (which is now EOL, so you don't have it on Starling 2 Max) was set up the following way:

        • The calibration data was downloaded the first time the sensor was used and stored in /data/misc/camera/, then re-used for next time
        • calibration files include pmd.spc, tof_cal_eeprom.bin and irs10x0c_lens.cal - the latter likely containing the intrinsics calibraiton data (although i have not checked explicitly)

        TOF V2 (what is shipping in Starling 2 (and Max) ), is set up so that the TOF Library downloads (via i2c) the calibration data each time the voxl-camera-server starts. This is done internally to the TOF libraries. I don't know exactly why there is a difference between how the calib data is handled for two sensors by the TOF software, but this is how our sensor vendor helped us set it up. The TOF processing software downloads the calibration from the sensor each time voxl-camera-server starts and applies it to generate the point cloud. It may be possible to get the TOF intrinsics using the TOF library API, but we have not checked.

        Do you have a specific reason why the TOF intrinsics are needed?

        If you wanted to calibrate the TOF sensor yourself, then you would either need a checkerboard some material that is IR reflective ("white") and non-reflective ("black"). Alternatively, you could use an array of IR leds (or IR reflective dots + IR light) and use dot pattern detector as opposed for checkerboard for calibration.

        Regarding Hi-res cameras, the intrinsics are not calibrated and not included. It can be calibrated using our camera calibration app (voxl-camera-calibration), but you should do it at half resolution or smaller (not full size like 4056x3040), otherwise the app runs very slowly. If you need more details how to calibrate at high resolution, let me know (involves downscaling exactly by a factor of 2 and then upscaling the resulting intrinsics)

        Alex

        O 1 Reply Last reply
        2
        • Alex KushleyevA Alex Kushleyev

          @jimbow77 and @oasisartisan ,

          TOF V1 (which is now EOL, so you don't have it on Starling 2 Max) was set up the following way:

          • The calibration data was downloaded the first time the sensor was used and stored in /data/misc/camera/, then re-used for next time
          • calibration files include pmd.spc, tof_cal_eeprom.bin and irs10x0c_lens.cal - the latter likely containing the intrinsics calibraiton data (although i have not checked explicitly)

          TOF V2 (what is shipping in Starling 2 (and Max) ), is set up so that the TOF Library downloads (via i2c) the calibration data each time the voxl-camera-server starts. This is done internally to the TOF libraries. I don't know exactly why there is a difference between how the calib data is handled for two sensors by the TOF software, but this is how our sensor vendor helped us set it up. The TOF processing software downloads the calibration from the sensor each time voxl-camera-server starts and applies it to generate the point cloud. It may be possible to get the TOF intrinsics using the TOF library API, but we have not checked.

          Do you have a specific reason why the TOF intrinsics are needed?

          If you wanted to calibrate the TOF sensor yourself, then you would either need a checkerboard some material that is IR reflective ("white") and non-reflective ("black"). Alternatively, you could use an array of IR leds (or IR reflective dots + IR light) and use dot pattern detector as opposed for checkerboard for calibration.

          Regarding Hi-res cameras, the intrinsics are not calibrated and not included. It can be calibrated using our camera calibration app (voxl-camera-calibration), but you should do it at half resolution or smaller (not full size like 4056x3040), otherwise the app runs very slowly. If you need more details how to calibrate at high resolution, let me know (involves downscaling exactly by a factor of 2 and then upscaling the resulting intrinsics)

          Alex

          O Offline
          O Offline
          oasisartisan
          wrote on last edited by
          #4

          @Alex-Kushleyev Thank you.

          Doing RGB calibration myself should be straightforward.

          The reason I am interested in ToF intrinsics is I am interested in using the IR and the confidence images of the ToF as well. Which are not captured by the pointcloud.

          Thanks for clarifying this is very useful.

          Alex KushleyevA 1 Reply Last reply
          1
          • O oasisartisan

            @Alex-Kushleyev Thank you.

            Doing RGB calibration myself should be straightforward.

            The reason I am interested in ToF intrinsics is I am interested in using the IR and the confidence images of the ToF as well. Which are not captured by the pointcloud.

            Thanks for clarifying this is very useful.

            Alex KushleyevA Offline
            Alex KushleyevA Offline
            Alex Kushleyev
            ModalAI Team
            wrote on last edited by
            #5

            @oasisartisan , I just checked the API for the TOF sensor and it seems we can get the lens calibration. I would need to make a change in the voxl camera server to try it. Please give me a few days..

            Alex

            J 1 Reply Last reply
            1
            • Alex KushleyevA Alex Kushleyev

              @oasisartisan , I just checked the API for the TOF sensor and it seems we can get the lens calibration. I would need to make a change in the voxl camera server to try it. Please give me a few days..

              Alex

              J Offline
              J Offline
              jimbow77
              wrote on last edited by
              #6

              @Alex-Kushleyev I'm also interested for the same reasons as @oasisartisan. Thanks a lot for looking into this!

              Alex KushleyevA 1 Reply Last reply
              0
              • J jimbow77

                @Alex-Kushleyev I'm also interested for the same reasons as @oasisartisan. Thanks a lot for looking into this!

                Alex KushleyevA Offline
                Alex KushleyevA Offline
                Alex Kushleyev
                ModalAI Team
                wrote on last edited by
                #7

                Hi @jimbow77 , @oasisartisan ,

                I updated the voxl-camera-server on a branch to save the tof v2 calibration to a file. Here is the commit : https://gitlab.com/voxl-public/voxl-sdk/services/voxl-camera-server/-/commit/f7aadc13246df35757498ee8c2633897864d47ff .

                Are you able to build the camera server from this branch?
                https://gitlab.com/voxl-public/voxl-sdk/services/voxl-camera-server/-/tree/save-tof-v2-lens-cal

                We will review the changes more thoroughly a bit later and we can merge them to dev..

                On my drone, the calibration file (which will include the serial number of the TOF sensor) is created when running camera server:

                cat /data/misc/camera/irs2975c_8E7F-3715-16E7-2CA0_lens.cal
                VERSION:1.0:VERSION
                #px,py,cx,cy,tan-coeff[0..1], rad-coeff[0..n-1]
                120.985 87.9267 101.435 101.435 0.000431714 -0.000511291 -0.0315991 -0.0224586 0.00496448
                

                Alex

                J 1 Reply Last reply
                1
                • Alex KushleyevA Alex Kushleyev

                  Hi @jimbow77 , @oasisartisan ,

                  I updated the voxl-camera-server on a branch to save the tof v2 calibration to a file. Here is the commit : https://gitlab.com/voxl-public/voxl-sdk/services/voxl-camera-server/-/commit/f7aadc13246df35757498ee8c2633897864d47ff .

                  Are you able to build the camera server from this branch?
                  https://gitlab.com/voxl-public/voxl-sdk/services/voxl-camera-server/-/tree/save-tof-v2-lens-cal

                  We will review the changes more thoroughly a bit later and we can merge them to dev..

                  On my drone, the calibration file (which will include the serial number of the TOF sensor) is created when running camera server:

                  cat /data/misc/camera/irs2975c_8E7F-3715-16E7-2CA0_lens.cal
                  VERSION:1.0:VERSION
                  #px,py,cx,cy,tan-coeff[0..1], rad-coeff[0..n-1]
                  120.985 87.9267 101.435 101.435 0.000431714 -0.000511291 -0.0315991 -0.0224586 0.00496448
                  

                  Alex

                  J Offline
                  J Offline
                  jimbow77
                  wrote on last edited by
                  #8

                  @Alex-Kushleyev Thank you so much!

                  I'm a bit preoccupied with a few other projects but hopefully I can take a look by the end of next week and get back to you.

                  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

                  • Don't have an account? Register

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