Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Brand Logo

ModalAI Forum

S

Samuel Marchetti

@Samuel Marchetti
Unfollow Follow
About
Posts
5
Topics
4
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • VIO features not getting detected on drone takeoff
    S Samuel Marchetti

    Hi all,

    I am running the voxl 2 mini with 3x ar0144 cameras, all extrinsics and intrinsics were verified, and a Kalibr calibration was done for each camera. When doing a bench test and moving the drone, handheld feature recognition is great.
    The problem is when the drones take off on its own, from the 0 feature state, it doesn't start recognizing new features, and the position hold doesn't work. I have to manually pick up the drone and shake it around a bit, and then it will start to recognize new features.
    Here is a log, my estimator, open-vins-server and vision-hub settings: https://review.px4.io/plot_app?log=589a6bd9-e8dd-4aaa-8e0d-b0b386450142

    %YAML:1.0
    
    verbosity: INFO
    use_fej: true
    integration: rk4
    use_stereo: false
    max_cameras: 3
    calib_cam_extrinsics: true
    calib_cam_intrinsics: true
    calib_cam_timeoffset: true
    calib_imu_intrinsics: false
    calib_imu_g_sensitivity: false
    max_clones: 11
    max_slam: 30
    max_slam_in_update: 15
    max_msckf_in_update: 10
    dt_slam_delay: 2
    gravity_mag: 9.81
    feat_rep_msckf: ANCHORED_MSCKF_INVERSE_DEPTH
    feat_rep_slam: ANCHORED_MSCKF_INVERSE_DEPTH
    feat_rep_aruco: ANCHORED_MSCKF_INVERSE_DEPTH
    try_zupt: true
    zupt_chi2_multipler: 1.0
    zupt_max_velocity: 0.03
    zupt_noise_multiplier: 1
    zupt_max_disparity: 8
    zupt_only_at_beginning: true
    init_window_time: 2.0
    init_imu_thresh: 1.0
    init_max_disparity: 20.0
    init_max_features: 30
    init_dyn_use: true
    init_dyn_mle_opt_calib: false
    init_dyn_mle_max_iter: 50
    init_dyn_mle_max_time: 0.05
    init_dyn_mle_max_threads: 4
    init_dyn_num_pose: 13
    init_dyn_min_deg: 5.0
    init_dyn_inflation_ori: 10
    init_dyn_inflation_vel: 100
    init_dyn_inflation_bg: 10
    init_dyn_inflation_ba: 100
    init_dyn_min_rec_cond: 1e-12
    init_dyn_bias_g: [0.0, 0.0, 0.0]
    init_dyn_bias_a: [0.0, 0.0, 0.0]
    init_gravity_max_angle: 15.0
    record_timing_information: false
    record_timing_filepath: /tmp/traj_timing.txt
    save_total_state: false
    filepath_est: /tmp/ov_estimate.txt
    filepath_std: /tmp/ov_estimate_std.txt
    filepath_gt: /tmp/ov_groundtruth.txt
    use_klt: true
    use_gpu: true
    num_pts: 100
    fast_threshold: 3
    grid_x: 4
    grid_y: 3
    min_px_dist: 8
    knn_ratio: 0.70
    track_frequency: 30.0
    downsample_cameras: false
    num_opencv_threads: 4
    histogram_method: CLAHE
    fi_min_dist: 0.1
    fi_max_dist: 60
    fi_max_baseline: 40
    fi_refine_features: true
    fi_max_runs: 5
    use_aruco: false
    num_aruco: 1024
    downsize_aruco: true
    up_msckf_sigma_px: 1.2
    up_msckf_chi2_multipler: 20.0
    up_slam_sigma_px: 1.2
    up_slam_chi2_multipler: 1.0
    up_aruco_sigma_px: 1.0
    up_aruco_chi2_multipler: 3.5
    use_mask: false
    relative_config_imu: kalibr_imu_chain.yaml
    relative_config_imucam: kalibr_imucam_chain.yaml
    
    {
            "en_auto_reset":        true,
            "auto_reset_max_velocity":      20,
            "auto_reset_max_v_cov_instant": 0.20000000298023224,
            "auto_reset_max_v_cov": 0.20000000298023224,
            "auto_reset_max_v_cov_timeout_s":       0.5,
            "auto_reset_min_features":      1,
            "auto_reset_min_feature_timeout_s":     10,
            "ok_state_grace_timeout_s":     2,
            "auto_fallback_timeout_s":      3,
            "auto_fallback_min_v":  0.600000023841858,
            "en_cont_yaw_checks":   false,
            "fast_yaw_thresh":      5,
            "fast_yaw_timeout_s":   1.75,
            "yaml_folder":  "/usr/share/modalai/voxl-open-vins/VoxlConfig/custom_tunnel",
            "using_stereo": 0,
            "takeoff_alt_threshold":        0.5,
            "takeoff_occlude_stereo_left":  false,
            "takeoff_occlude_stereo_right": false,
            "sync_config":  true,
            "fusion_rate_dt_ms":    20,
            "imu_body_frame_mode":  true,
            "quality_low_thresh_initial":   15,
            "quality_low_thresh_good":      14,
            "quality_high_thresh":  35,
            "quality_initial_to_bad_count": 20,
            "quality_initial_to_good_count":        50,
            "quality_bad_to_good_count":    60,
            "quality_good_to_bad_count":    45
    }
    
    {
            "config_file_version":  1,
            "en_localhost_mavlink_udp":     false,
            "localhost_udp_port_number":    14551,
            "en_vio":       true,
            "vio_pipe":     "ov",
            "secondary_vio_pipe":   "qvio",
            "vfc_vio_pipe": "ov",
            "en_reset_vio_if_initialized_inverted": true,
            "vio_warmup_s": 3,
            "send_odom_while_failed":       true,
            "horizon_cal_tolerance":        0.5,
            "en_hitl":      false,
            "offboard_mode":        "vfc",
            "follow_tag_id":        0,
            "figure_eight_move_home":       true,
            "robot_radius": 0.300000011920929,
            "collision_sampling_dt":        0.1,
            "max_lookahead_distance":       1,
            "wps_move_home":        true,
            "wps_stride":   0,
            "wps_timeout":  0,
            "wps_damp":     1,
            "wps_vfc_mission":      true,
            "wps_vfc_mission_loop": false,
            "wps_vfc_mission_to_ramp":      25,
            "wps_vfc_mission_to_kp":        0.10000000149011612,
            "wps_vfc_mission_cruise_speed": 1,
            "tracking_trigger_ch":  12,
            "tracking_trigger_ch_thresh_temp":      1200,
            "tracking_trigger_ch_thresh_new":       1800,
            "en_tag_fixed_frame":   false,
            "fixed_frame_filter_len":       5,
            "en_transform_mavlink_pos_setpoints_from_fixed_frame":  false,
            "en_voa":       false,
            "voa_upper_bound_m":    -0.15000000596046448,
            "voa_lower_bound_m":    0.15000000596046448,
            "voa_voa_memory_s":     1,
            "voa_max_pc_per_fusion":        100,
            "voa_pie_max_dist_m":   20,
            "voa_pie_min_dist_m":   0.25,
            "voa_pie_under_trim_m": 1,
            "voa_pie_threshold":    3,
            "voa_send_rate_hz":     20,
            "voa_pie_slices":       36,
            "voa_pie_bin_depth_m":  0.15000000596046448,
            "voa_inputs":   [{
                            "enabled":      true,
                            "type": "point_cloud",
                            "input_pipe":   "dfs_point_cloud",
                            "frame":        "stereo_l",
                            "max_depth":    8,
                            "min_depth":    0.300000011920929,
                            "cell_size":    0.079999998211860657,
                            "threshold":    4,
                            "x_fov_deg":    68,
                            "y_fov_deg":    56,
                            "conf_cutoff":  0
                    }, {
                            "enabled":      true,
                            "type": "point_cloud",
                            "input_pipe":   "stereo_front_pc",
                            "frame":        "stereo_front_l",
                            "max_depth":    8,
                            "min_depth":    0.300000011920929,
                            "cell_size":    0.079999998211860657,
                            "threshold":    4,
                            "x_fov_deg":    68,
                            "y_fov_deg":    56,
                            "conf_cutoff":  0
                    }, {
                            "enabled":      true,
                            "type": "point_cloud",
                            "input_pipe":   "stereo_rear_pc",
                            "frame":        "stereo_rear_l",
                            "max_depth":    8,
                            "min_depth":    0.300000011920929,
                            "cell_size":    0.079999998211860657,
                            "threshold":    4,
                            "x_fov_deg":    68,
                            "y_fov_deg":    56,
                            "conf_cutoff":  0
                    }, {
                            "enabled":      true,
                            "type": "tof",
                            "input_pipe":   "tof",
                            "frame":        "tof",
                            "max_depth":    6,
                            "min_depth":    0.15000000596046448,
                            "cell_size":    0.079999998211860657,
                            "threshold":    3,
                            "x_fov_deg":    106.5,
                            "y_fov_deg":    85.0999984741211,
                            "conf_cutoff":  125
                    }, {
                            "enabled":      true,
                            "type": "rangefinder",
                            "input_pipe":   "rangefinders",
                            "frame":        "body",
                            "max_depth":    8,
                            "min_depth":    0.300000011920929,
                            "cell_size":    0.079999998211860657,
                            "threshold":    4,
                            "x_fov_deg":    68,
                            "y_fov_deg":    56,
                            "conf_cutoff":  0
                    }]
    }
    

    Any help will be appreciated, thanks!

    VOXL 2 Mini

  • Odometry not showing in QGC mavlink inspector
    S Samuel Marchetti

    Hi all,

    As the title states, I have no odometry showing up in QGC, and I'm getting X/Y position error. My voxl-vision-hub and voxl-open-vins-server are all up and running, and I have tested with voxl-inspect-vins and voxl-portal to confirm that features are good and extrinsics are correctly configured. I have attached a copy of my Vision Hub and OpenVins server conf files. I also have all the default params for the indoor no-GPS drone configuration. Here you can see all of the params from this log.

    For reference, I am building a custom x8 quad using the VOXL 2 mini as my flight controller with no GPS or mag attached, as it is an indoor drone.

    {
            "en_auto_reset":        true,
            "auto_reset_max_velocity":      20,
            "auto_reset_max_v_cov_instant": 0.20000000298023224,
            "auto_reset_max_v_cov": 0.20000000298023224,
            "auto_reset_max_v_cov_timeout_s":       0.5,
            "auto_reset_min_features":      5,
            "auto_reset_min_feature_timeout_s":     10,
            "ok_state_grace_timeout_s":     2,
            "auto_fallback_timeout_s":      3,
            "auto_fallback_min_v":  0.600000023841858,
            "en_cont_yaw_checks":   false,
            "fast_yaw_thresh":      5,
            "fast_yaw_timeout_s":   1.75,
            "yaml_folder":  "/usr/share/modalai/voxl-open-vins/VoxlConfig/custom_tunnel",
            "using_stereo": 0,
            "takeoff_alt_threshold":        0.1,
            "takeoff_occlude_stereo_left":  false,
            "takeoff_occlude_stereo_right": false,
            "sync_config":  true,
            "fusion_rate_dt_ms":    33,
            "imu_body_frame_mode":  true,
            "quality_low_thresh_initial":   15,
            "quality_low_thresh_good":      14,
            "quality_high_thresh":  35,
            "quality_initial_to_bad_count": 20,
            "quality_initial_to_good_count":        50,
            "quality_bad_to_good_count":    60,
            "quality_good_to_bad_count":    45
    }
    
    {
            "config_file_version":  1,
            "en_localhost_mavlink_udp":     false,
            "localhost_udp_port_number":    14551,
            "en_vio":       true,
            "vio_pipe":     "ov",
            "secondary_vio_pipe":   "ov",
            "vfc_vio_pipe": "ov",
            "en_reset_vio_if_initialized_inverted": true,
            "vio_warmup_s": 3,
            "send_odom_while_failed":       true,
            "horizon_cal_tolerance":        0.5,
            "en_hitl":      false,
            "offboard_mode":        "vfc",
            "follow_tag_id":        0,
            "figure_eight_move_home":       true,
            "robot_radius": 0.300000011920929,
            "collision_sampling_dt":        0.1,
            "max_lookahead_distance":       1,
            "wps_move_home":        true,
            "wps_stride":   0,
            "wps_timeout":  0,
            "wps_damp":     1,
            "wps_vfc_mission":      true,
            "wps_vfc_mission_loop": false,
            "wps_vfc_mission_to_ramp":      25,
            "wps_vfc_mission_to_kp":        0.10000000149011612,
            "wps_vfc_mission_cruise_speed": 1,
            "tracking_trigger_ch":  12,
            "tracking_trigger_ch_thresh_temp":      1200,
            "tracking_trigger_ch_thresh_new":       1800,
            "en_tag_fixed_frame":   false,
            "fixed_frame_filter_len":       5,
            "en_transform_mavlink_pos_setpoints_from_fixed_frame":  false,
            "en_voa":       false,
            "voa_upper_bound_m":    -0.15000000596046448,
            "voa_lower_bound_m":    0.15000000596046448,
            "voa_voa_memory_s":     1,
            "voa_max_pc_per_fusion":        100,
            "voa_pie_max_dist_m":   20,
            "voa_pie_min_dist_m":   0.25,
            "voa_pie_under_trim_m": 1,
            "voa_pie_threshold":    3,
            "voa_send_rate_hz":     20,
            "voa_pie_slices":       36,
            "voa_pie_bin_depth_m":  0.15000000596046448,
            "voa_inputs":   [{
                            "enabled":      true,
                            "type": "point_cloud",
                            "input_pipe":   "dfs_point_cloud",
                            "frame":        "stereo_l",
                            "max_depth":    8,
                            "min_depth":    0.300000011920929,
                            "cell_size":    0.079999998211860657,
                            "threshold":    4,
                            "x_fov_deg":    68,
                            "y_fov_deg":    56,
                            "conf_cutoff":  0
                    }, {
                            "enabled":      true,
                            "type": "point_cloud",
                            "input_pipe":   "stereo_front_pc",
                            "frame":        "stereo_front_l",
                            "max_depth":    8,
                            "min_depth":    0.300000011920929,
                            "cell_size":    0.079999998211860657,
                            "threshold":    4,
                            "x_fov_deg":    68,
                            "y_fov_deg":    56,
                            "conf_cutoff":  0
                    }, {
                            "enabled":      true,
                            "type": "point_cloud",
                            "input_pipe":   "stereo_rear_pc",
                            "frame":        "stereo_rear_l",
                            "max_depth":    8,
                            "min_depth":    0.300000011920929,
                            "cell_size":    0.079999998211860657,
                            "threshold":    4,
                            "x_fov_deg":    68,
                            "y_fov_deg":    56,
                            "conf_cutoff":  0
                    }, {
                            "enabled":      true,
                            "type": "tof",
                            "input_pipe":   "tof",
                            "frame":        "tof",
                            "max_depth":    6,
                            "min_depth":    0.15000000596046448,
                            "cell_size":    0.079999998211860657,
                            "threshold":    3,
                            "x_fov_deg":    106.5,
                            "y_fov_deg":    85.0999984741211,
                            "conf_cutoff":  125
                    }, {
                            "enabled":      true,
                            "type": "rangefinder",
                            "input_pipe":   "rangefinders",
                            "frame":        "body",
                            "max_depth":    8,
                            "min_depth":    0.300000011920929,
                            "cell_size":    0.079999998211860657,
                            "threshold":    4,
                            "x_fov_deg":    68,
                            "y_fov_deg":    56,
                            "conf_cutoff":  0
                    }]
    }
    

    If anyone has any recommendations, please let me know. I've been stuck on this for a while.

    Thanks,
    Sam

    VOXL 2 Mini

  • Throttle not working in Stabilize mode
    S Samuel Marchetti

    @Eric-Katzfey Thank you so much this fixed the issue!

    VOXL 2 Mini

  • Throttle not working in Stabilize mode
    S Samuel Marchetti

    Hello all,

    I have a custom build using the voxl2-mini running px4 but I have this very weird issue where once I arm the drone in stabilize mode, and see them spinning at the arm speed, the motors don't respond to any inputs from the RC controller. A few things to know are that I don't have a GPS or MAG, the inputs work completely fine in acro mode, and other modes, such as position and althold produce the same bug as stabilize. Here is a PX4 flight log.

    Any help would be appreciated,

    Thanks,
    Sam

    VOXL 2 Mini
  • Login

  • Don't have an account? Register

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