@Cliff-Wong Yes, I can confirm that flying manually in Position mode works correctly and accurately follows the XYZ coordinates shown in the voxl-portal VIO page. Additionally, the drone successfully performs the figure 8 trajectories in offboard mode as expected.
Latest posts made by DronAlan
-
RE: tarling - Path planning (blue line) is erratic and drone moves to wrong locationsposted in Ask your questions right here!
-
RE: tarling - Path planning (blue line) is erratic and drone moves to wrong locationsposted in Ask your questions right here!
{
"config_file_version": 1,
"en_localhost_mavlink_udp": false,
"localhost_udp_port_number": 14551,
"en_vio": true,
"vio_pipe": "qvio",
"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": "figure_eight",
"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": true,
"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
}]
}this is my /etc/modalai/voxl-vision-hub.conf, what should i change????
-
RE: tarling - Path planning (blue line) is erratic and drone moves to wrong locationsposted in Ask your questions right here!
I am experiencing a severe issue with trajectory execution in the SLAM/Mapper mode where the drone exhibits an inverted and cumulative 'mirror' behavior regarding position setpoints.
As shown in the attached image:
- If I set a first waypoint directly in front of the drone (1st Point), the drone flies backward instead, covering the intended distance but in the exact opposite direction.
- From that new incorrect position, if I command the drone to return backward by the same distance (2nd point, aiming to return to the original starting location), the drone does not return. Instead, it flies forward, doubling the distance in the opposite direction from the newly commanded point.
It appears as though the drone is accumulating a starting error or interpreting the coordinate frame in a completely mirrored way (FRD vs NED mismatch), where both the direction and the origin reference point are inverted. The dashed lines in the image represent the intended path, while the solid arrows represent the actual path flown. I am on SDK 1.6.3 with factory settings.
-
RE: tarling - Path planning (blue line) is erratic and drone moves to wrong locationsposted in Ask your questions right here!

I have just updated to SDK 1.6.3 doing a complete wipe and applying the factory configuration, but the drone is still executing the trajectory in reverse/backwards. I really don't know what else to try at this point. Any ideas on what could be causing this inverted behavior despite the clean install?
-
RE: tarling - Path planning (blue line) is erratic and drone moves to wrong locationsposted in Ask your questions right here!
@Cliff-Wong said in tarling - Path planning (blue line) is erratic and drone moves to wrong locations:
/etc/modalai/vio_cams.conf
Hi there, thanks for the detailed suggestions!
I have gone through all your steps to discard physical and configuration issues, but it seems I'll need to upgrade. Here is the checklist of what I tested:
-
Camera orientation: I checked the front camera in voxl-portal and it is completely upright (tops are aligned, ceiling is up, floor is down).
-
Physical mounts: The VOXL 2 unit is mounted correctly from the factory (USB-C port facing the ground, WiFi dongle on the top side).
-
IMU Calibration: I ran a full 6DOF voxl-calibrate-imu on a flat surface. It completed successfully, and voxl-inspect-imu shows perfect readings now (X and Y at ~0.00, and Z gravity at exactly -9.80).
-
VIO config: I checked /etc/modalai/vio_cams.conf. tracking_down is disabled/not present, and it is only using the front camera as expected. Here is my exact configuration:
{
"cams": [{
"enable": true,
"name": "tracking",
"pipe_for_preview": "tracking",
"pipe_for_tracking": "tracking",
"is_occluded_on_ground": false,
"imu": "imu_apps",
"cal_file": "opencv_tracking_intrinsics.yml"
}]
}Since all physical and configuration checks passed perfectly, I am going to follow your advice and proceed to flash SDK 1.6.3 to take advantage of the advanced config installer and move to OpenVINS.
Thanks again for the help, I'll keep you posted on how the 1.6.3 update goes!
-
-
RE: tarling - Path planning (blue line) is erratic and drone moves to wrong locationsposted in Ask your questions right here!
Hi,
Thank you for the detailed response and suggestions. I have carefully followed all the steps you mentioned, but unfortunately, the issue persists.
Here is what I did:
1. I edited
/etc/modalai/voxl-vision-hub.confto set the reset parameter to false. Here is my current file:{
"config_file_version": 1,
"en_localhost_mavlink_udp": false,
"localhost_udp_port_number": 14551,
"en_vio": true,
"vio_pipe": "qvio",
"secondary_vio_pipe": "ov",
"vfc_vio_pipe": "ov",
"en_reset_vio_if_initialized_inverted": false,
"vio_warmup_s": 3,
"send_odom_while_failed": true,
"horizon_cal_tolerance": 0.5,
"en_hitl": false,
"offboard_mode": "trajectory",
"follow_tag_id": 0,
"figure_eight_move_home": true,
"robot_radius": 0.300000011920929,
"collision_sampling_dt": 0.1,
"max_lookahead_distance": 1,
"backtrack_seconds": 60,
"backtrack_rc_chan": 8,
"backtrack_rc_thresh": 1500,
"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,
"en_tag_fixed_frame": false,
"fixed_frame_filter_len": 5,
"en_transform_mavlink_pos_setpoints_from_fixed_frame": false,
"vfc_rate": 100,
"vfc_rc_chan_min": 980,
"vfc_rc_chan_max": 2020,
"vfc_thrust_ch": 3,
"vfc_roll_ch": 1,
"vfc_pitch_ch": 2,
"vfc_yaw_ch": 4,
"vfc_submode_ch": 6,
"vfc_alt_mode_rc_min": 0,
"vfc_alt_mode_rc_max": 0,
"vfc_flow_mode_rc_min": 0,
"vfc_flow_mode_rc_max": 0,
"vfc_hybrid_flow_mode_rc_min": 0,
"vfc_hybrid_flow_mode_rc_max": 0,
"vfc_position_mode_rc_min": 0,
"vfc_position_mode_rc_max": 2100,
"vfc_traj_mode_rc_min": 0,
"vfc_traj_mode_rc_max": 0,
"vfc_yaw_deadband": 30,
"vfc_vxy_deadband": 50,
"vfc_vz_deadband": 150,
"vfc_min_thrust": 0,
"vfc_max_thrust": 0.800000011920929,
"vfc_tilt_max": 0.43599998950958252,
"vfc_yaw_rate_max": 3,
"vfc_thrust_hover": 0.5,
"vfc_vz_max": 1,
"vfc_kp_z": 5.2899999618530273,
"vfc_kd_z": 5.9800000190734863,
"vfc_vxy_max": 3,
"vfc_kp_xy": 0.63999998569488525,
"vfc_kd_xy": 2.559999942779541,
"vfc_kp_z_vio": 5.2899999618530273,
"vfc_kd_z_vio": 5.9800000190734863,
"vfc_kp_xy_vio": 3.2400000095367432,
"vfc_kd_xy_vio": 3.9600000381469727,
"vfc_w_filt_xy_vio": 10,
"vfc_w_filt_xy_flow": 3,
"vfc_vel_ff_factor_vio": 0.899999976158142,
"vfc_xy_acc_limit_vio": 2.5,
"vfc_max_z_delta": 3,
"vfc_att_transition_time": 0.5,
"vfc_stick_move_threshold": 30,
"vfc_flow_transition_time": 1,
"vfc_q_min": 10,
"vfc_points_min": 7,
"vfc_en_submode_announcement": 1,
"vfc_disable_fallback": false,
"vfc_traj_csv": "/data/voxl-vision-hub/traj.csv",
"en_voa": true,
"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": false,
"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": false,
"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": false,
"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": false,
"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
}]
}2. I forced the VIO reset right before takeoff.
I ransystemctl restart voxl-qvio-servervia SSH just as you suggested, keeping the drone perfectly still on the ground.3. I verified the extrinsics settings.
I checked/etc/modalai/extrinsics.confand confirmed that thebody to imuparameter is indeed[0, 0, 0].
Here is my current extrinsics file:
{
"name": "starling_v2_voxl2",
"extrinsics": [{
"parent": "imu_apps",
"child": "tracking",
"T_child_wrt_parent": [0.0229, 0.006, 0.023],
"RPY_parent_to_child": [0, 45, 90]
}, {
"parent": "body",
"child": "imu_apps",
"T_child_wrt_parent": [0.0407, -0.006, -0.0188],
"RPY_parent_to_child": [0, 0, 0]
}, {
"parent": "body",
"child": "tof",
"T_child_wrt_parent": [0.068, -0.0116, -0.0168],
"RPY_parent_to_child": [0, 90, 180]
}, {
"parent": "body",
"child": "lepton0_raw",
"T_child_wrt_parent": [-0.06, 0, 0.01],
"RPY_parent_to_child": [0, 0, 90]
}, {
"parent": "body",
"child": "ground",
"T_child_wrt_parent": [0, 0, 0.0309],
"RPY_parent_to_child": [0, 0, 0]
}]
}Despite doing all of this, the 180-degree rotation (mirror effect) is still happening.
Given that these steps didn't resolve the issue and you mentioned that these anomalies have been corrected in newer versions, would you recommend that my best course of action right now is to flash the drone and upgrade to SDK 1.6.x (or newer) to use the new OpenVINS subsystem?
I would also appreciate it if you could take a look at the files I sent you in this message to make sure everything is correct.
One more thing:
Looking at my SKU (MRB-D0005-4-V2...), is it possible that the tracking camera or the IMU was physically mounted 180° rotated at the factory?
If this is a known hardware discrepancy for this specific batch, should I manually compensate for it in the extrinsics or will the SDK 1.6.x upgrade fix it automatically?
Thanks again for your help!
-
RE: tarling - Path planning (blue line) is erratic and drone moves to wrong locationsposted in Ask your questions right here!
Now he's doing it the other way around, I don't understand anything
-
RE: tarling - Path planning (blue line) is erratic and drone moves to wrong locationsposted in Ask your questions right here!
Just one more quick detail to add: this behavior is not constant. Sometimes the drone executes the trajectory perfectly fine, and other times it does the opposite thing and goes to (-1,-1).


