Skip to content
VOXL® Developer Community

Build smaller, smarter, safer drones.

Ask the ModalAI engineering team, search thousands of solved threads, and share what you're flying — direct from the people who build VOXL.

3324Members
5199Topics
26288Posts
Browse

Categories

  • Note sure where to post? Ask questions here for direct access to the ModalAI engineering team

    2k 12k
    2k Topics
    12k Posts
    Eric KatzfeyE
    What if you disconnect Mission Planner before trying the voxl-ardupilot restart?
  • Commonly asked questions we get from the community

    70 300
    70 Topics
    300 Posts
    Alex KushleyevA
    Starling 2 Max is designed for 4S batteries only (two 2S Li-Ion battery packs, which are connected in series inside the vehicle). The Mini ESC, which also acts as a power source for VOXL2 inside the Starling 2 Max, is rated at least for 4S input (depending on the version of the ESC). There are several versions of the Mini ESC to provide the users some flexibility, in particular the voltage of the VOXL2 regulator (5V for VOXL2 and 3.8V for VOXL2 Mini). Since Starling2 Max uses a VOXL2, the ESC part number will be either M0129-5 or M0129-65. An updated (6S) version of the Mini ESC was released after the release of Starling 2 Max (new ESC part numbers: M0129-63, M0129-65). This ESC update extended the supported voltage for the ESC (not for Starling 2 Max) from 4S to 6S. The 4S version of the ESC has been phased out because the 6S version outperforms the original version even at 4S voltages (due to better Mosfets), so the 6S version is an improvement over the original 4S version of the ESC, while being fully backwards compatible. Using the 6S-rated ESC in the 4S-rated Starling 2 Max is completely safe. If you use the Mini ESC outside of the Starling 2 Max, you need to verify the part number / sticker on the ESC before plugging in 6S battery (M0129-63, M0129-65 only) The ESC variants and part numbers are documented here : https://docs.modalai.com/voxl-mini-esc-datasheet/ Alex
  • Questions by Product

    Product related questions and answers

    2k 12k
    2k Topics
    12k Posts
    S
    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!
  • 505 Topics
    2k Posts
    A
    Hey Arvind, Could you try using this version of voxl-camera-server: http://voxl-packages.modalai.com/dists/qrb5165/dev/binary-arm64/voxl-camera-server_2.2.32-202607291154_arm64.deb Im able to get 2 camera streams, and every time I click the save picture button on QGC I see the snapshots saved without any issues. Heres some versions of my packages I am using: voxl-camera-server 2.2.32 voxl-mavcam-manager 0.6.1-202601081558 voxl-streamer 0.8.1
  • Please request review from ModalAI before building your drone or custom add-on PCB

    17 46
    17 Topics
    46 Posts
    D
    Hello ModalAI team, I am part of a university student research team exploring the development of custom flexible circuit boards based on the VOXL ESC Mini and VOXL 2 Mini. We understand that the complete electrical schematics and design files for these products are not publicly available. Are there any options that would allow our team to move forward with this research, such as additional technical documentation, design files available under an NDA, a university research agreement, or direct engineering support? We would be happy to provide more information about our project, university affiliation, and intended use if needed.