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?

-
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?

-
You are trying to configure the extrinsic parameters. See configure extrinsics for more information
-
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. -
You are trying to configure the extrinsic parameters. See configure extrinsics for more information
@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.confparameters.{ "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? -
You are trying to configure the extrinsic parameters. See configure extrinsics for more information
@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. -
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#L155I 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.
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
