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

    Reconfiguring VIO

    Ask your questions right here!
    3
    9
    790
    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.
    • K
      Kris
      last edited by 22 Feb 2023, 00:40

      Hello, I am trying to reconfigure one of the Seeker's stereo image sensors to be used for VIO instead of the tracking image sensor. I found the documentation on ModalAi's website, but it does not explain how to do this. Could someone please help me out with this?
      VIO.png

      K 1 Reply Last reply 22 Feb 2023, 01:47 Reply Quote 0
      • K
        Kris @Kris
        last edited by 22 Feb 2023, 01:47

        I was thinking that reconfiguring this would be located in the camera configuration, but there isn’t a “ TOF + Stereo “ option here.
        BB2675C9-EA85-4C1B-9F25-9FF8A2D52375.jpeg

        1 Reply Last reply Reply Quote 0
        • C
          Chad Sweet ModalAI Team
          last edited by 22 Feb 2023, 02:53

          You are trying to configure the extrinsic parameters. See configure extrinsics for more information

          K 3 Replies Last reply 28 Feb 2023, 01:15 Reply Quote 0
          • K
            Kris @Chad Sweet
            last edited by 28 Feb 2023, 01:15

            @Chad-Sweet
            Thank you for the response.
            I’m just a little confused on where I should make the changes for this kind of setup in the extrinsics.
            Should I replace the #0 and #1 child to stereo_r or stereo_l ?
            Or should I add a #8 to the file with parent as body and child as one of the stereo sensors?
            Could you please show me an example or template that I can look at to make sure I’m setting this up correctly?
            Thank you.

            1 Reply Last reply Reply Quote 0
            • K
              Kris @Chad Sweet
              last edited by 28 Feb 2023, 05:27

              @Chad-Sweet
              Here are my extrinsics parameters from factory.

              voxl:~$ voxl-inspect-extrinsics
              #0:
                  parent:                imu0
                  child:                 tracking
                  T_child_wrt_parent:    0.014   0.005   0.005 
                  RPY_parent_to_child: -45.0     0.0     0.0  
                  R_child_to_parent:     1.000  -0.000   0.000 
                                         0.000   0.707   0.707 
                                        -0.000  -0.707   0.707 
              #1:
                  parent:                imu1
                  child:                 tracking
                  T_child_wrt_parent:   -0.034   0.030   0.005 
                  RPY_parent_to_child: -45.0     0.0     0.0  
                  R_child_to_parent:     1.000  -0.000   0.000 
                                         0.000   0.707   0.707 
                                        -0.000  -0.707   0.707 
              #2:
                  parent:                body
                  child:                 imu0
                  T_child_wrt_parent:    0.050  -0.015   0.016 
                  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 
              #3:
                  parent:                body
                  child:                 imu1
                  T_child_wrt_parent:    0.046   0.033  -0.013 
                  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 
              #4:
                  parent:                body
                  child:                 stereo_l
                  T_child_wrt_parent:    0.055  -0.040   0.000 
                  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 
              #5:
                  parent:                body
                  child:                 ground
                  T_child_wrt_parent:    0.000   0.000   0.045 
                  RPY_parent_to_child:   0.0     0.0     0.0  
                  R_child_to_parent:     1.000  -0.000   0.000 
                                         0.000   1.000  -0.000 
                                         0.000   0.000   1.000 
              #6:
                  parent:                imu1
                  child:                 imu0
                  T_child_wrt_parent:   -0.048   0.037   0.002 
                  RPY_parent_to_child:   0.0     0.0     0.0  
                  R_child_to_parent:     1.000  -0.000   0.000 
                                         0.000   1.000  -0.000 
                                         0.000   0.000   1.000 
              #7:
                  parent:                body
                  child:                 tof
                  T_child_wrt_parent:    0.055   0.000   0.000 
                  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 
              
              
              1 Reply Last reply Reply Quote 0
              • K
                Kris
                last edited by Kris 7 Mar 2023, 03:55 7 Mar 2023, 03:50

                Here is my voxl-qvio-server.conf parameters.

                {                                                                                         
                        "imu_name":     "imu1",                                                                                                                     
                        "cam_name":     "tracking",                                                       
                        "lens_cal_path":        "/data/modalai/opencv_tracking_intrinsics.yml",           
                        "cam_extrinsics_name":  "tracking",                                               
                        "use_second_cam_if_stereo":     false,                                            
                        "odr_hz":       30,                                                               
                        "use_camera_height_bootstrap":  true,                                             
                        "camera_height_off_ground_m":   0.085000000894069672,                             
                        "enable_init_while_moving":     false,                                            
                        "cam_imu_timeshift_s":  -0.0020000000949949026,                                   
                        "cam_imu_timeshift_s_uncertainty":      0.0010000000474974513,                    
                        "T_cam_wrt_imu_uncertainty":    [0.00050000002374872565, 0.00050000002374872565, 0
                        "R_cam_to_imu_uncertainty":     [0.00499999988824129, 0.00499999988824129, 0.00499
                        "accl_fsr_ms2": 156,                                                              
                        "gyro_fsr_rad": 34,                                                               
                        "accl_noise_std_dev":   0.31600001454353333,                                      
                        "gyro_noise_std_dev":   0.00999999977648258,                                      
                        "cam_noise_std_dev":    100,                                                      
                        "min_std_pixel_noise":  0.5,                                                      
                        "fail_high_pixel_noise_points": 1.6650999784469604,                               
                        "limited_imu_bw_trigger":       25,                                               
                        "gps_imu_time_alignment_s":     0,                                                
                        "T_gps_wrt_imu":        [0, 0, 0],                                                
                        "enable_mapping":       true,                                                     
                        "enable_gps_vel":       false,                                                    
                        "show_extra_points_on_overlay": false,                                            
                        "en_auto_reset":        true,                                                     
                        "auto_reset_max_velocity":      10,                                               
                        "auto_reset_max_v_cov_instant": 0.10000000149011612,                              
                        "auto_reset_max_v_cov": 0.00999999977648258,                                      
                        "auto_reset_max_v_cov_timeout_s":       0.5,                                      
                        "auto_reset_min_features":      3,                                                
                        "auto_reset_min_feature_timeout_s":     1                                         
                }                                                                                        
                

                Not sure how to set this up.
                Should I name my "cam_name" to stereo_r or stereo instead of tracking?
                If so, the "lens_cal_path" should be changed to "/data/modalai/opencv_stereo_intrinsics.yml" right?
                Or should I enable the "use_second_cam_if_stereo" option to true instead of false?

                1 Reply Last reply Reply Quote 0
                • K
                  Kris
                  last edited by 6 Apr 2023, 02:46

                  This post is deleted!
                  1 Reply Last reply Reply Quote 0
                  • K
                    Kris @Chad Sweet
                    last edited by Kris 6 Apr 2023, 02:49 6 Apr 2023, 02:48

                    @Chad-Sweet
                    Could I please get some help with this setup procedure?
                    I have read through the configure extrinsic instructions, but it does not explain how to setup one of the stereo cameras for VIO.

                    1 Reply Last reply Reply Quote 0
                    • Steve TurnerS
                      Steve Turner
                      last edited by 7 Apr 2023, 23:36

                      Use cam name = "stereo" and there should be an option for using either the left or right stereo camera.

                      As Chad pointed out you will need to also configure extrinsics if they aren't already for the stereo camera.
                      https://gitlab.com/voxl-public/voxl-sdk/services/voxl-qvio-server/-/blob/master/server/config_file.h#L155

                      I have a PR to fix an issue with using a stereo camera here with the QVIO Server: https://gitlab.com/voxl-public/voxl-sdk/services/voxl-qvio-server/-/merge_requests/10 that you will need as well I believe.

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