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

    Compatible ToF sensor setup with VOXL2 Mini

    VOXL Accessories
    4
    16
    446
    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.
    • Alex KushleyevA
      Alex Kushleyev ModalAI Team @Morten Nissov
      last edited by Alex Kushleyev

      Hi @Morten-Nissov ,

      Sorry for the delay. We will get the M0172 board available for purchase ASAP.

      Since your configuration uses M0014 camera, which would not be able to plug into M0172 splitter, here is your connection option:

      • VOXL2 Mini J6:
        • M0076 or M0135 interposer + M0014 camera
      • VOXL2 Mini J7:
        • M0172 interposer + TOF

      (You could swap the connections, such as TOF is connected to J6, and vice versa). You would simply need to update the sensormodules (camera drivers) used, according to the slot id of each camera.)

      When using VOXL2 mini with TOF, our guidance is to use only one TOF V2 per VOXL2 mini

      • the TOF V2 sensor uses 5V power input, however VOXL 2 Mini only has a budget of 900mA on the 5V rail because the input voltage to the mini is 3.8V and there is a step-up regulator to 5.0V. This is different from VOXL2, which uses an APM / ESC to supply 5V 6A into VOXL2.
      • the TOF V2 internally uses 3.3V and the pulsed current draw in different operating modes can be found here : https://docs.modalai.com/M0178/#irs2975-operating-modes . Using multiple TOF sensors on voxl2 mini can result in exceeding the current limit on the 5V regulator.

      Keep in mind that you will still be able to plug in additional cameras if you need to:

      • a uCoax camera plugged into M0172 (M0161, M0166, etc)
      • any camera that uses older connector plugged into M0135 (M0014, M0107, etc)

      One thing to keep in mind when using M0076 and M0135 is because they were originally designed for VOXL2, though compatible with VOXL2 mini, the interposers may interfere with the mini's mounting holes, because M0076 / M0135 (when inserted) have slight overlap with the mounting holes. However, the overlap may not be an issue if you dont have stand-offs on the side where M0076 / M0135 plugs into VOXL2 mini.

      We will update this thread once M0172 is available in the shop.

      Alex

      VinnyV 1 Reply Last reply Reply Quote 0
      • VinnyV
        Vinny ModalAI Team @Alex Kushleyev
        last edited by

        @Alex-Kushleyev @Morten-Nissov , The team just posted the M0172 for sale.
        Sorry for the delays....
        https://www.modalai.com/products/mdk-m0172-1-00

        Morten NissovM 2 Replies Last reply Reply Quote 0
        • Morten NissovM
          Morten Nissov @Vinny
          last edited by

          @Vinny Sorry thought I had responded, thanks!

          1 Reply Last reply Reply Quote 0
          • Morten NissovM
            Morten Nissov @Vinny
            last edited by

            @Vinny @Alex-Kushleyev

            Hi,

            We are trying to configure Voxl 2 Mini with the ToF sensor and a tracking camera with the , and we're having trouble with getting the ToF sensor to work. This is with the new ToF sensor and the new interposer you suggested for us to use.

            The cameras are attached in the following way:
            J7 <-> M0135 (JL) <-> M0014
            J6 <-> M0172 (J1L) <-> M0170 <-> tof
            The voxl suite we have on the board is: voxl-suite: 1.5.0

            To configure the cameras we run:
            voxl-configure-sku
            choosing options 23 (voxl-configure-sku) and 5 (pmd-tof ov7251 tracking).
            The output was the following:

            Your answers would construct the following SKU:
            
            family code:   MCCA-M0104 (voxl2-mini-board-only (MCCA-M0104))
            compute board: 6 (voxl2-mini)
            hw version:    1
            cam config:    05
            modem config:   ()
            tx config:      ()
            extras config:  ()
            SKU:           MCCA-M0104-C05-T0-M0-X0
            
            This sku will be saved to persistent memory so VOXL
            will remember what it is installed in, even between
            system image flashes.
            

            So we run: voxl-configure-mpa and reboot

            To inspect the cameras, we run voxl-inspect-cam -a , but we were able to see only the tracking camera:

            | Pipe Name |  bytes  | wide |  hgt |exp(ms)| gain | frame id |latency(ms)|  fps |  mbps  | format
            |  tracking |  307200 |  640 |  480 |  2.51 |   51 |      204 |     11.5  | 30.0 |   73.7 | RAW8
            

            So we restarted the service voxl-camera-server , but we got the following error + warnings:

            existing instance of voxl-camera-server found, attempting to stop it
            =================================================================
            configuration for 2 cameras:
            
            cam #0
                name:                tof
                sensor type:         pmd-tof
                isEnabled:           1
                camId:               0
                camId2:              -1
                fps:                 5
                en_rotate:           1
                en_rotate2:          0
            
                en_preview:          1
                pre_width:           224
                pre_height:          1557
                en_raw_preview:      1
            
                en_small_video:      0
                small_video_width:   -1
                small_video_height:  -1
            
                en_large_video:      0
                large_video_width:   -1
                large_video_height:  -1
            
                en_misp:             0
                misp_width:          -1
                misp_height:         -1
            
                en_snapshot:         0
                snap_width:          -1
                snap_height:         -1
                exif_focal_length:   0.000000
                exif_focal_len_35mm_format:0
                exif_fnumber:        0.000000
            
                ae_mode:             off
                msv_exposure_min_us: 20
                msv_exposure_max_us: 33000
                gain_min           : 54
                gain_max           : 8000
                standby_enabled:     0
                decimator:           5
                independent_exposure:0
            
            cam #1
                name:                tracking
                sensor type:         ov7251
                isEnabled:           1
                camId:               1
                camId2:              -1
                fps:                 30
                en_rotate:           0
                en_rotate2:          0
            
                en_preview:          1
                pre_width:           640
                pre_height:          480
                en_raw_preview:      1
            
                en_small_video:      0
                small_video_width:   -1
                small_video_height:  -1
            
                en_large_video:      0
                large_video_width:   -1
                large_video_height:  -1
            
                en_misp:             0
                misp_width:          -1
                misp_height:         -1
            
                en_snapshot:         0
                snap_width:          -1
                snap_height:         -1
                exif_focal_length:   0.000000
                exif_focal_len_35mm_format:0
                exif_fnumber:        0.000000
            
                ae_mode:             lme_msv
                msv_exposure_min_us: 20
                msv_exposure_max_us: 33000
                gain_min           : 54
                gain_max           : 8000
                standby_enabled:     0
                decimator:           1
                independent_exposure:0
            
            fsync_en:            0
            fsync_gpio:          109
            =================================================================
            thread is locked to cores: 4 5 6 7
            connected to mavlink pipe
            Connected to cpu-monitor
            Starting Camera: tof (id #0)
            ERROR:   Camera 0 failed to find supported preview config: 224x1557
            WARNING: Failed to start cam tof due to invalid resolution
            WARNING: assuming cam is missing and trying to compensate
            Starting Camera: tracking (originally id #1) with id offset: 1
            gbm_create_device(156): Info: backend name is: msm_drm
            setting ov7251 BLC register for cam id 0
            
            ------ voxl-camera-server: Started 1 of 2 cameras
            
            ------ voxl-camera-server: Camera server is now running
            

            Note, we also tried to modify the preview resolution, as well as disabling the preview entirely. But making these changes to the /etc/modalai/voxl-camera-server.conf file didn't seem to change the actual configuration used, as reported when running voxl-camera-server in terminal.

            Do you have any suggestions for how we can get this working?

            Morten NissovM 1 Reply Last reply Reply Quote 0
            • Morten NissovM
              Morten Nissov @Morten Nissov
              last edited by

              Additional debugging:

              Moreover, we test some other configurations:

              • J7 <-> M0135 (JL) <-> M0014
              • J6 <-> M0172 (J1L) <-> M0170 <-> tof

              We copied the files: com.qti.sensormodule.ov7251_*.bin and com.qti.sensormodule.irs2975c_*.bin into the folder: /usr/lib/camera
              We used the command: camera-server-config-helper tracking:ov7251:0 tof:pmd-tof:2 giving the following output:

              successfully wrote this camera config to disk:
              =================================================================
              configuration for 2 cameras:
              
              cam #0
                  name:                tracking
                  sensor type:         ov7251
                  isEnabled:           1
                  camId:               0
                  camId2:              -1
                  fps:                 30
                  en_rotate:           0
                  en_rotate2:          0
              
                  en_preview:          1
                  pre_width:           640
                  pre_height:          480
                  en_raw_preview:      1
              
                  en_small_video:      0
                  small_video_width:   -1
                  small_video_height:  -1
              
                  en_large_video:      0
                  large_video_width:   -1
                  large_video_height:  -1
              
                  en_misp:             0
                  misp_width:          -1
                  misp_height:         -1
              
                  en_snapshot:         0
                  snap_width:          -1
                  snap_height:         -1
                  exif_focal_length:   0.000000
                  exif_focal_len_35mm_format:0
                  exif_fnumber:        0.000000
              
                  ae_mode:             lme_msv
                  msv_exposure_min_us: 20
                  msv_exposure_max_us: 33000
                  gain_min           : 54
                  gain_max           : 8000
                  standby_enabled:     0
                  decimator:           1
                  independent_exposure:0
              
              cam #1
                  name:                tof
                  sensor type:         pmd-tof
                  isEnabled:           1
                  camId:               2
                  camId2:              -1
                  fps:                 5
                  en_rotate:           1
                  en_rotate2:          0
              
                  en_preview:          1
                  pre_width:           224
                  pre_height:          1557
                  en_raw_preview:      1
              
                  en_small_video:      0
                  small_video_width:   -1
                  small_video_height:  -1
              
                  en_large_video:      0
                  large_video_width:   -1
                  large_video_height:  -1
              
                  en_misp:             0
                  misp_width:          -1
                  misp_height:         -1
              
                  en_snapshot:         0
                  snap_width:          -1
                  snap_height:         -1
                  exif_focal_length:   0.000000
                  exif_focal_len_35mm_format:0
                  exif_fnumber:        0.000000
              
                  ae_mode:             off
                  msv_exposure_min_us: 20
                  msv_exposure_max_us: 33000
                  gain_min           : 54
                  gain_max           : 8000
                  standby_enabled:     0
                  decimator:           5
                  independent_exposure:0
              
              fsync_en:            0
              fsync_gpio:          109
              =================================================================
              camera_server_config_helper is done
              

              Then we run voxl-camera-server giving the following output:

              existing instance of voxl-camera-server found, attempting to stop it
              =================================================================
              configuration for 2 cameras:
              
              cam #0
                  name:                tracking
                  sensor type:         ov7251
                  isEnabled:           1
                  camId:               0
                  camId2:              -1
                  fps:                 30
                  en_rotate:           0
                  en_rotate2:          0
              
                  en_preview:          1
                  pre_width:           640
                  pre_height:          480
                  en_raw_preview:      1
              
                  en_small_video:      0
                  small_video_width:   -1
                  small_video_height:  -1
              
                  en_large_video:      0
                  large_video_width:   -1
                  large_video_height:  -1
              
                  en_misp:             0
                  misp_width:          -1
                  misp_height:         -1
              
                  en_snapshot:         0
                  snap_width:          -1
                  snap_height:         -1
                  exif_focal_length:   0.000000
                  exif_focal_len_35mm_format:0
                  exif_fnumber:        0.000000
              
                  ae_mode:             lme_msv
                  msv_exposure_min_us: 20
                  msv_exposure_max_us: 33000
                  gain_min           : 54
                  gain_max           : 8000
                  standby_enabled:     0
                  decimator:           1
                  independent_exposure:0
              
              cam #1
                  name:                tof
                  sensor type:         pmd-tof
                  isEnabled:           1
                  camId:               2
                  camId2:              -1
                  fps:                 5
                  en_rotate:           1
                  en_rotate2:          0
              
                  en_preview:          1
                  pre_width:           224
                  pre_height:          1557
                  en_raw_preview:      1
              
                  en_small_video:      0
                  small_video_width:   -1
                  small_video_height:  -1
              
                  en_large_video:      0
                  large_video_width:   -1
                  large_video_height:  -1
              
                  en_misp:             0
                  misp_width:          -1
                  misp_height:         -1
              
                  en_snapshot:         0
                  snap_width:          -1
                  snap_height:         -1
                  exif_focal_length:   0.000000
                  exif_focal_len_35mm_format:0
                  exif_fnumber:        0.000000
              
                  ae_mode:             off
                  msv_exposure_min_us: 20
                  msv_exposure_max_us: 33000
                  gain_min           : 54
                  gain_max           : 8000
                  standby_enabled:     0
                  decimator:           5
                  independent_exposure:0
              
              fsync_en:            0
              fsync_gpio:          109
              =================================================================
              thread is locked to cores: 4 5 6 7
              connected to mavlink pipe
              Connected to cpu-monitor
              Starting Camera: tracking (id #0)
              gbm_create_device(156): Info: backend name is: msm_drm
              setting ov7251 BLC register for cam id 0
              Starting Camera: tof (id #2)
              WARNING: cam tof (id 2) does not seem to be alive
              
              ------ voxl-camera-server: Started 1 of 2 cameras
              
              ------ voxl-camera-server: Camera server is now running
              

              And running voxl-inspect-cam -a still gives the following output:

              | Pipe Name |  bytes  | wide |  hgt |exp(ms)| gain | frame id |latency(ms)|  fps |  mbps  | format
              |  tracking |  307200 |  640 |  480 |  2.28 |   51 |      294 |     11.5  | 30.0 |   73.7 | RAW8
              

              To be sure that all the parts were working, we tested two M0172 and 2 ToF sensors, which were actually working on VOXL 2. We also swapped the tracking camera and the ToF sensor (J6 <-> J7), copying the .bin files according to and adjusting the ID numbers.

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

                @Morten-Nissov , please only put one sensormodule with the correct slot number in /usr/lib/camera. This will help eliminate any confusion.

                Also, does voxl-camera-server -l actually detect your TOF module?

                It seems your camera id is actually incorrect. It should be 1. The slot id is 2 (which is tied to the hardware), but the software camera Id is assigned as the cameras are probed in each slot. voxl-camera-server -l will tell you (at the top) which cameras have been detected, which slot and camera ids.

                Alex

                Morten NissovM 1 Reply Last reply Reply Quote 0
                • Morten NissovM
                  Morten Nissov @Alex Kushleyev
                  last edited by

                  @Alex-Kushleyev Thanks for getting back to us so quickly.

                  We removed all the com.qti.sensormodule.ov7251_*.bin and the com.qti.sensormodule.irs2975c_*.bin files.
                  Then we ran, as you suggested, the command: voxl-camera-server -l. The output was:

                  existing instance of voxl-camera-server found, attempting to stop it
                  DEBUG:   Attempting to open the hal module
                  DEBUG:   SUCCESS: Camera module opened on attempt 0
                  DEBUG:   ----------- Number of cameras: 2
                  DEBUG:   Cam idx: 0, Cam slot: 0, Slave Address: 0x00E2, Sensor Id: 0x7750
                  DEBUG:   Cam idx: 1, Cam slot: 2, Slave Address: 0x007A, Sensor Id: 0x2975
                  DEBUG:   Note: This list comes from the HAL module and may not be indicative
                  DEBUG:          of configurations that have full pipelines
                  DEBUG:   Number of cameras: 2
                  ====================================
                  Stats for camera: 0
                  ANDROID_SCALER_AVAILABLE_RAW_SIZES:
                  These are likely supported by the sensor
                   640 x  480
                   640 x  480
                   640 x  480
                  ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS:
                  These are NOT necessarily supported by the sensor
                   640 x  480 HAL_PIXEL_FORMAT_YCbCr_420_888
                   640 x  480 HAL_PIXEL_FORMAT_BLOB
                   640 x  400 HAL_PIXEL_FORMAT_YCbCr_420_888
                   640 x  400 HAL_PIXEL_FORMAT_BLOB
                   640 x  360 HAL_PIXEL_FORMAT_YCbCr_420_888
                   640 x  360 HAL_PIXEL_FORMAT_BLOB
                   352 x  288 HAL_PIXEL_FORMAT_YCbCr_420_888
                   352 x  288 HAL_PIXEL_FORMAT_BLOB
                   320 x  240 HAL_PIXEL_FORMAT_YCbCr_420_888
                   320 x  240 HAL_PIXEL_FORMAT_BLOB
                   240 x  320 HAL_PIXEL_FORMAT_YCbCr_420_888
                   240 x  320 HAL_PIXEL_FORMAT_BLOB
                   176 x  144 HAL_PIXEL_FORMAT_YCbCr_420_888
                   176 x  144 HAL_PIXEL_FORMAT_BLOB
                   640 x  480 HAL_PIXEL_FORMAT_RAW10
                   640 x  480 HAL_PIXEL_FORMAT_RAW12
                   640 x  480 HAL_PIXEL_FORMAT_RAW16
                   640 x  480 HAL_PIXEL_FORMAT_RAW_OPAQUE
                  ANDROID_SENSOR_INFO_SENSITIVITY_RANGE
                          min = 54
                          max = 3451
                  ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY
                          3451
                  ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE
                          min = 0ns
                          max = 1266732525ns
                  ====================================
                  Stats for camera: 1
                  ANDROID_SCALER_AVAILABLE_RAW_SIZES:
                  These are likely supported by the sensor
                   240 x 1629
                  ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS:
                  These are NOT necessarily supported by the sensor
                   240 x  320 HAL_PIXEL_FORMAT_YCbCr_420_888
                   240 x  320 HAL_PIXEL_FORMAT_BLOB
                   176 x  144 HAL_PIXEL_FORMAT_YCbCr_420_888
                   176 x  144 HAL_PIXEL_FORMAT_BLOB
                   240 x 1629 HAL_PIXEL_FORMAT_RAW10
                   240 x 1629 HAL_PIXEL_FORMAT_RAW12
                   240 x 1629 HAL_PIXEL_FORMAT_RAW16
                   240 x 1629 HAL_PIXEL_FORMAT_RAW_OPAQUE
                  ANDROID_SENSOR_INFO_SENSITIVITY_RANGE
                          min = 54
                          max = 0
                  ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY
                          0
                  ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE
                          min = 0ns
                          max = 0ns
                  ====================================
                  Number of cameras detected: 2
                  ====================================
                  

                  Given the output, we copied the files com.qti.sensormodule.ov7251_0.bin and com.qti.sensormodule.irs2975c_2.bin into /usr/lib/camera folder.
                  Then we ran: camera-server-config-helper tracking:ov7251:0 tof:pmd-tof:2 and got the following output:

                  successfully wrote this camera config to disk:
                  =================================================================
                  configuration for 2 cameras:
                  cam #0
                      name:                tracking
                      sensor type:         ov7251
                      isEnabled:           1
                      camId:               0
                      camId2:              -1
                      fps:                 30
                      en_rotate:           0
                      en_rotate2:          0
                      en_preview:          1
                      pre_width:           640
                      pre_height:          480
                      en_raw_preview:      1
                      en_small_video:      0
                      small_video_width:   -1
                      small_video_height:  -1
                      en_large_video:      0
                      large_video_width:   -1
                      large_video_height:  -1
                      en_misp:             0
                      misp_width:          -1
                      misp_height:         -1
                      en_snapshot:         0
                      snap_width:          -1
                      snap_height:         -1
                      exif_focal_length:   0.000000
                      exif_focal_len_35mm_format:0
                      exif_fnumber:        0.000000
                      ae_mode:             lme_msv
                      msv_exposure_min_us: 20
                      msv_exposure_max_us: 33000
                      gain_min           : 54
                      gain_max           : 8000
                      standby_enabled:     0
                      decimator:           1
                      independent_exposure:0
                  cam #1
                      name:                tof
                      sensor type:         pmd-tof
                      isEnabled:           1
                      camId:               2
                      camId2:              -1
                      fps:                 5
                      en_rotate:           1
                      en_rotate2:          0
                      en_preview:          1
                      pre_width:           224
                      pre_height:          1557
                      en_raw_preview:      1
                      en_small_video:      0
                      small_video_width:   -1
                      small_video_height:  -1
                      en_large_video:      0
                      large_video_width:   -1
                      large_video_height:  -1
                      en_misp:             0
                      misp_width:          -1
                      misp_height:         -1
                      en_snapshot:         0
                      snap_width:          -1
                      snap_height:         -1
                      exif_focal_length:   0.000000
                      exif_focal_len_35mm_format:0
                      exif_fnumber:        0.000000
                      ae_mode:             off
                      msv_exposure_min_us: 20
                      msv_exposure_max_us: 33000
                      gain_min           : 54
                      gain_max           : 8000
                      standby_enabled:     0
                      decimator:           5
                      independent_exposure:0
                  fsync_en:            0
                  fsync_gpio:          109
                  =================================================================
                  camera_server_config_helper is done
                  

                  Finally, we ran: voxl-camera-server, and we got:

                  existing instance of voxl-camera-server found, attempting to stop it
                  =================================================================
                  configuration for 2 cameras:
                  cam #0
                      name:                tracking
                      sensor type:         ov7251
                      isEnabled:           1
                      camId:               0
                      camId2:              -1
                      fps:                 30
                      en_rotate:           0
                      en_rotate2:          0
                      en_preview:          1
                      pre_width:           640
                      pre_height:          480
                      en_raw_preview:      1
                      en_small_video:      0
                      small_video_width:   -1
                      small_video_height:  -1
                      en_large_video:      0
                      large_video_width:   -1
                      large_video_height:  -1
                      en_misp:             0
                      misp_width:          -1
                      misp_height:         -1
                      en_snapshot:         0
                      snap_width:          -1
                      snap_height:         -1
                      exif_focal_length:   0.000000
                      exif_focal_len_35mm_format:0
                      exif_fnumber:        0.000000
                      ae_mode:             lme_msv
                      msv_exposure_min_us: 20
                      msv_exposure_max_us: 33000
                      gain_min           : 54
                      gain_max           : 8000
                      standby_enabled:     0
                      decimator:           1
                      independent_exposure:0
                  cam #1
                      name:                tof
                      sensor type:         pmd-tof
                      isEnabled:           1
                      camId:               2
                      camId2:              -1
                      fps:                 5
                      en_rotate:           1
                      en_rotate2:          0
                      en_preview:          1
                      pre_width:           224
                      pre_height:          1557
                      en_raw_preview:      1
                      en_small_video:      0
                      small_video_width:   -1
                      small_video_height:  -1
                      en_large_video:      0
                      large_video_width:   -1
                      large_video_height:  -1
                      en_misp:             0
                      misp_width:          -1
                      misp_height:         -1
                      en_snapshot:         0
                      snap_width:          -1
                      snap_height:         -1
                      exif_focal_length:   0.000000
                      exif_focal_len_35mm_format:0
                      exif_fnumber:        0.000000
                      ae_mode:             off
                      msv_exposure_min_us: 20
                      msv_exposure_max_us: 33000
                      gain_min           : 54
                      gain_max           : 8000
                      standby_enabled:     0
                      decimator:           5
                      independent_exposure:0
                  fsync_en:            0
                  fsync_gpio:          109
                  =================================================================
                  thread is locked to cores: 4 5 6 7
                  connected to mavlink pipe
                  Connected to cpu-monitor
                  Starting Camera: tracking (id #0)
                  gbm_create_device(156): Info: backend name is: msm_drm
                  setting ov7251 BLC register for cam id 0
                  Starting Camera: tof (id #2)
                  WARNING: cam tof (id 2) does not seem to be alive
                  ------ voxl-camera-server: Started 1 of 2 cameras
                  ------ voxl-camera-server: Camera server is now running
                  

                  Just to make sure that only one camera was working, we ran: voxl-inspect-cam -a and got:

                  | Pipe Name |  bytes  | wide |  hgt |exp(ms)| gain | frame id |latency(ms)|  fps |  mbt
                  |  tracking |  307200 |  640 |  480 |  5.04 |  111 |      179 |     11.6  | 30.0 |   73.7 | RAW8
                  

                  What do you think?

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

                    @Morten-Nissov said in Compatible ToF sensor setup with VOXL2 Mini:

                    DEBUG: Cam idx: 0, Cam slot: 0, Slave Address: 0x00E2, Sensor Id: 0x7750
                    DEBUG: Cam idx: 1, Cam slot: 2, Slave Address: 0x007A, Sensor Id: 0x2975

                    Please use camera id 1 in your voxl-camera-server.conf instead of 2. The slot # is 2 but camera id is 1.

                    Alex

                    Luca ZanattaL 2 Replies Last reply Reply Quote 0
                    • Luca ZanattaL
                      Luca Zanatta @Alex Kushleyev
                      last edited by

                      This post is deleted!
                      1 Reply Last reply Reply Quote 0
                      • Luca ZanattaL
                        Luca Zanatta @Alex Kushleyev
                        last edited by Luca Zanatta

                        @Alex-Kushleyev

                        Hi, I'm Luca, and I'm currently working on the ModalAI voxl2 mini. Thanks for your help and your quick answers.

                        To recap: I ran voxl-camera-server -l, and I got:

                        DEBUG:   Attempting to open the hal module
                        DEBUG:   SUCCESS: Camera module opened on attempt 0
                        DEBUG:   ----------- Number of cameras: 2
                        
                        DEBUG:   Cam idx: 0, Cam slot: 0, Slave Address: 0x00E2, Sensor Id: 0x7750
                        DEBUG:   Cam idx: 1, Cam slot: 2, Slave Address: 0x007A, Sensor Id: 0x2975
                        DEBUG:   Note: This list comes from the HAL module and may not be indicative
                        DEBUG:          of configurations that have full pipelines
                        
                        DEBUG:   Number of cameras: 2
                        
                        
                        ====================================
                        Stats for camera: 0
                        
                        ANDROID_SCALER_AVAILABLE_RAW_SIZES:
                        These are likely supported by the sensor
                         640 x  480
                         640 x  480
                         640 x  480
                        
                        ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS:
                        These are NOT necessarily supported by the sensor
                         640 x  480 HAL_PIXEL_FORMAT_YCbCr_420_888
                         640 x  480 HAL_PIXEL_FORMAT_BLOB
                         640 x  400 HAL_PIXEL_FORMAT_YCbCr_420_888
                         640 x  400 HAL_PIXEL_FORMAT_BLOB
                         640 x  360 HAL_PIXEL_FORMAT_YCbCr_420_888
                         640 x  360 HAL_PIXEL_FORMAT_BLOB
                         352 x  288 HAL_PIXEL_FORMAT_YCbCr_420_888
                         352 x  288 HAL_PIXEL_FORMAT_BLOB
                         320 x  240 HAL_PIXEL_FORMAT_YCbCr_420_888
                         320 x  240 HAL_PIXEL_FORMAT_BLOB
                         240 x  320 HAL_PIXEL_FORMAT_YCbCr_420_888
                         240 x  320 HAL_PIXEL_FORMAT_BLOB
                         176 x  144 HAL_PIXEL_FORMAT_YCbCr_420_888
                         176 x  144 HAL_PIXEL_FORMAT_BLOB
                         640 x  480 HAL_PIXEL_FORMAT_RAW10
                         640 x  480 HAL_PIXEL_FORMAT_RAW12
                         640 x  480 HAL_PIXEL_FORMAT_RAW16
                         640 x  480 HAL_PIXEL_FORMAT_RAW_OPAQUE
                        
                        ANDROID_SENSOR_INFO_SENSITIVITY_RANGE
                                min = 54
                                max = 3451
                        
                        ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY
                                3451
                        
                        ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE
                                min = 0ns
                                max = 1266732525ns
                        
                        
                        ====================================
                        Stats for camera: 1
                        
                        ANDROID_SCALER_AVAILABLE_RAW_SIZES:
                        These are likely supported by the sensor
                         240 x 1629
                        
                        ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS:
                        These are NOT necessarily supported by the sensor
                         240 x  320 HAL_PIXEL_FORMAT_YCbCr_420_888
                         240 x  320 HAL_PIXEL_FORMAT_BLOB
                         176 x  144 HAL_PIXEL_FORMAT_YCbCr_420_888
                         176 x  144 HAL_PIXEL_FORMAT_BLOB
                         240 x 1629 HAL_PIXEL_FORMAT_RAW10
                         240 x 1629 HAL_PIXEL_FORMAT_RAW12
                         240 x 1629 HAL_PIXEL_FORMAT_RAW16
                         240 x 1629 HAL_PIXEL_FORMAT_RAW_OPAQUE
                        
                        ANDROID_SENSOR_INFO_SENSITIVITY_RANGE
                                min = 54
                                max = 0
                        
                        ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY
                                0
                        
                        ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE
                                min = 0ns
                                max = 0ns
                        
                        ====================================
                        Number of cameras detected: 2
                        ====================================
                        

                        Instead of checking the Cam slot, I have to check Cam idx. So I ran the following command: camera-server-config-helper tracking:ov7251:0 tof:pmd-tof:1 and got the following output:

                        successfully wrote this camera config to disk:
                        =================================================================
                        configuration for 2 cameras:
                        
                        cam #0
                            name:                tracking
                            sensor type:         ov7251
                            isEnabled:           1
                            camId:               0
                            camId2:              -1
                            fps:                 30
                            en_rotate:           0
                            en_rotate2:          0
                        
                            en_preview:          1
                            pre_width:           640
                            pre_height:          480
                            en_raw_preview:      1
                        
                            en_small_video:      0
                            small_video_width:   -1
                            small_video_height:  -1
                        
                            en_large_video:      0
                            large_video_width:   -1
                            large_video_height:  -1
                        
                            en_misp:             0
                            misp_width:          -1
                            misp_height:         -1
                        
                            en_snapshot:         0
                            snap_width:          -1
                            snap_height:         -1
                            exif_focal_length:   0.000000
                            exif_focal_len_35mm_format:0
                            exif_fnumber:        0.000000
                        
                            ae_mode:             lme_msv
                            msv_exposure_min_us: 20
                            msv_exposure_max_us: 33000
                            gain_min           : 54
                            gain_max           : 8000
                            standby_enabled:     0
                            decimator:           1
                            independent_exposure:0
                        
                        cam #1
                            name:                tof
                            sensor type:         pmd-tof
                            isEnabled:           1
                            camId:               1
                            camId2:              -1
                            fps:                 5
                            en_rotate:           1
                            en_rotate2:          0
                        
                            en_preview:          1
                            pre_width:           224
                            pre_height:          1557
                            en_raw_preview:      1
                        
                            en_small_video:      0
                            small_video_width:   -1
                            small_video_height:  -1
                        
                            en_large_video:      0
                            large_video_width:   -1
                            large_video_height:  -1
                        
                            en_misp:             0
                            misp_width:          -1
                            misp_height:         -1
                        
                            en_snapshot:         0
                            snap_width:          -1
                            snap_height:         -1
                            exif_focal_length:   0.000000
                            exif_focal_len_35mm_format:0
                            exif_fnumber:        0.000000
                        
                            ae_mode:             off
                            msv_exposure_min_us: 20
                            msv_exposure_max_us: 33000
                            gain_min           : 54
                            gain_max           : 8000
                            standby_enabled:     0
                            decimator:           5
                            independent_exposure:0
                        
                        fsync_en:            0
                        fsync_gpio:          109
                        =================================================================
                        camera_server_config_helper is done
                        

                        Finally, I ran voxl-camera-server and got the following error:

                        =================================================================
                        configuration for 2 cameras:
                        
                        cam #0
                            name:                tracking
                            sensor type:         ov7251
                            isEnabled:           1
                            camId:               0
                            camId2:              -1
                            fps:                 30
                            en_rotate:           0
                            en_rotate2:          0
                        
                            en_preview:          1
                            pre_width:           640
                            pre_height:          480
                            en_raw_preview:      1
                        
                            en_small_video:      0
                            small_video_width:   -1
                            small_video_height:  -1
                        
                            en_large_video:      0
                            large_video_width:   -1
                            large_video_height:  -1
                        
                            en_misp:             0
                            misp_width:          -1
                            misp_height:         -1
                        
                            en_snapshot:         0
                            snap_width:          -1
                            snap_height:         -1
                            exif_focal_length:   0.000000
                            exif_focal_len_35mm_format:0
                            exif_fnumber:        0.000000
                        
                            ae_mode:             lme_msv
                            msv_exposure_min_us: 20
                            msv_exposure_max_us: 33000
                            gain_min           : 54
                            gain_max           : 8000
                            standby_enabled:     0
                            decimator:           1
                            independent_exposure:0
                        
                        cam #1
                            name:                tof
                            sensor type:         pmd-tof
                            isEnabled:           1
                            camId:               1
                            camId2:              -1
                            fps:                 5
                            en_rotate:           1
                            en_rotate2:          0
                        
                            en_preview:          1
                            pre_width:           224
                            pre_height:          1557
                            en_raw_preview:      1
                        
                            en_small_video:      0
                            small_video_width:   -1
                            small_video_height:  -1
                        
                            en_large_video:      0
                            large_video_width:   -1
                            large_video_height:  -1
                        
                            en_misp:             0
                            misp_width:          -1
                            misp_height:         -1
                        
                            en_snapshot:         0
                            snap_width:          -1
                            snap_height:         -1
                            exif_focal_length:   0.000000
                            exif_focal_len_35mm_format:0
                            exif_fnumber:        0.000000
                        
                            ae_mode:             off
                            msv_exposure_min_us: 20
                            msv_exposure_max_us: 33000
                            gain_min           : 54
                            gain_max           : 8000
                            standby_enabled:     0
                            decimator:           5
                            independent_exposure:0
                        
                        fsync_en:            0
                        fsync_gpio:          109
                        =================================================================
                        thread is locked to cores: 4 5 6 7
                        connected to mavlink pipe
                        Connected to cpu-monitor
                        Starting Camera: tracking (id #0)
                        gbm_create_device(156): Info: backend name is: msm_drm
                        setting ov7251 BLC register for cam id 0
                        Starting Camera: tof (id #1)
                        ERROR:   Camera 1 failed to find supported preview config: 224x1557
                        WARNING: Failed to start cam tof due to invalid resolution
                        WARNING: assuming cam is missing and trying to compensate
                        
                        ------ voxl-camera-server: Started 1 of 2 cameras
                        
                        ------ voxl-camera-server: Camera server is now running
                        

                        Do you have any suggestions?

                        Thanks for your help,
                        Luca

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

                          @Luca-Zanatta , I believe your issue is that you are specifying the wrong type of TOF sensor. There are two types:

                          • pmd-tof (old, EOL)
                          • pmd-tof-liow2 (a.k.a irs2975c)

                          Based on your sensor id (Slave Address: 0x007A, Sensor Id: 0x2975), you have pmd-tof-liow2, so you should run camera-server-config-helper tracking:ov7251:0 tof:pmd-tof-liow2:1).

                          When you configured for pmd-tof, the camera server config was incorrectly set for the old TOF sensor, which has resolution of 224x1557. The new TOF sensor has resolution of 240x1629

                          Please try. Sorry i did not catch that earlier.

                          Alex

                          Luca ZanattaL 1 Reply Last reply Reply Quote 0
                          • Luca ZanattaL
                            Luca Zanatta @Alex Kushleyev
                            last edited by

                            Hi @Alex-Kushleyev,

                            Now it's working!

                            Thank you so much for your help and quick answers.

                            Best,
                            Luca

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