Reconfiguring VIO
-
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?
-
I was thinking that reconfiguring this would be located in the camera configuration, but there isn’t a “ TOF + Stereo “ option here.
-
You are trying to configure the extrinsic parameters. See configure extrinsics for more information
-
@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.
-
@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
-
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?