Hello! I am struggling to resolve an issue with our starling 2. In the process of building and deploying our own offboard mode, it seems that we have introduced a problem. We have since cloned the voxl-vision-hub repo, and built and deployed it in attempt to get back to square one. We cannot get VIO to work properly anymore. Please help me determine how to make progress!
Background:
system-image: 1.8.04-M0054-14.1a-perf
kernel: #1 SMP PREEMPT Mon Mar 24 22:31:58 UTC 2025 4.19.125
────────────────────────────────────────────────────────────────────────────────
hw platform: M0054
mach.var: 1.0.1
SKU: MRB-D0014-4-V1-C27-T7-M22-X0
────────────────────────────────────────────────────────────────────────────────
voxl-suite: 1.5.0
─────────────────────────────────────────
voxl2:/$ voxl-inspect-services
Scanning services...
Service Name | Enabled | Running | CPU Usage
───────────────────────────────────────────────────────────────────
docker-autorun | Disabled | Not Running |
modallink-relink | Disabled | Not Running |
voxl-camera-server | Enabled | Running | 75.0%
voxl-cpu-monitor | Enabled | Running | 0.0%
voxl-dfs-server | Disabled | Not Running |
voxl-elrs-startup | Disabled | Not Running |
voxl-feature-tracker | Disabled | Not Running |
voxl-flow-server | Disabled | Not Running |
voxl-imu-server | Enabled | Running | 1.9%
voxl-joystick-server | Disabled | Not Running |
voxl-lepton-server | Disabled | Not Running |
voxl-lepton-tracker | Disabled | Not Running |
voxl-logger | Disabled | Not Running |
voxl-mavcam-manager | Enabled | Running | 0.0%
voxl-mavlink-server | Enabled | Running | 1.9%
voxl-mini-tof-server | Disabled | Not Running |
voxl-modem-doodle | Disabled | Not Running |
voxl-modem | Disabled | Not Running |
voxl-open-vins-server | Enabled | Running | 82.7%
voxl-osd | Disabled | Not Running |
voxl-portal | Enabled | Running | 0.0%
voxl-px4 | Enabled | Running | 25.0%
voxl-qvio-server | Enabled | Running | 34.6%
voxl-rangefinder-server | Enabled | Running | 0.0%
voxl-remote-id | Disabled | Not Running |
voxl-seek-server | Disabled | Not Running |
voxl-softap | Disabled | Not Running |
voxl-state-estimator | Disabled | Not Running |
voxl-static-ip | Disabled | Not Running |
voxl-streamer | Enabled | Running | 0.0%
voxl-tag-detector | Disabled | Not Running |
voxl-tflite-server | Disabled | Not Running |
voxl-time-sync | Disabled | Not Running |
voxl-uvc-server | Disabled | Not Running |
voxl-vision-hub | Enabled | Not Running |
voxl-vrx | Disabled | Not Running |
voxl-vtx | Disabled | Not Running |
voxl-wait-for-fs | Enabled | Completed |
Here is the message we get when running voxl-vision-hub -o (important part at bottom):
voxl2:/$ voxl-vision-hub -o
loading our own config file
=================================================================
Parameters as loaded from config file:
config_file_version: 1
MAVROS / MAVSDK
en_localhost_mavlink_udp 0
localhost_udp_port_number: 14551
VIO
en_vio: 1
vio_pipe: qvio
secondary_vio_pipe: ov
en_reset_vio_if_initialized_inverted: 1
vio_warmup_s: 10.000000
send_odom_while_failed: 1
MISC FEATURES
horizon_cal_tolerance: 0.500000
en_hitl: 0
OFFBOARD MODE
offboard_mode: figure_eight
follow_tag_id: 0
figure_eight_move_home: 1
wps_move_home: 1
wps_timeout: 0.000000
wps_damp: 1.000000
wps_vfc_mission: true
wps_vfc_mission_loop: false
wps_vfc_mission_to_ramp: 25.000000
wps_vfc_mission_cruise_speed: 1.000000
wps_vfc_mission_to_kp: 0.100000
robot_radius: 0.300000
collision_sampling_dt: 0.100000
max_lookahead_distance: 1.000000
backtrack_seconds : 60
backtrack_rc_chan : 8
backtrack_rc_thresh : 1500
FIXED FRAME RELOCALIZATION
en_tag_fixed_frame: 0
fixed_frame_filter_len: 5
en_transform_mavlink_pos_setpoints_from_fixed_frame:0
VOXL FLIGHT CONTROLLER (VFC)
vfc_rate 100.000000
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.000000
vfc_max_thrust 0.800000
vfc_tilt_max 0.436000
vfc_yaw_rate_max 3.000000
vfc_thrust_hover 0.500000
vfc_vz_max 1.000000
vfc_kp_z 5.290000
vfc_kd_z 5.980000
vfc_vxy_max 3.000000
vfc_kp_xy 0.640000
vfc_kd_xy 2.560000
vfc_kp_z_vio 5.290000
vfc_kd_z_vio 5.980000
vfc_kp_xy_vio 3.240000
vfc_kd_xy_vio 3.960000
vfc_w_filt_xy_vio 10.000000
vfc_w_filt_xy_flow 3.000000
vfc_vel_ff_factor_vio 0.900000
vfc_xy_acc_limit_vio 2.500000
vfc_max_z_delta 3.000000
vfc_att_transition_time 0.500000
vfc_stick_move_threshold 30.000000
vfc_flow_transition_time 1.000000
vfc_q_min 10
vfc_points_min 7
vfc_en_submode_announcement 1
vfc_disable_fallback 0
COLLISION PREVENTION (VOA)
en_voa: 1
voa_upper_bound_m: -0.150000
voa_lower_bound_m: 0.150000
voa_memory_s: 1.000000
voa_max_pc_per_fusion: 100
voa_pie_min_dist_m: 0.250000
voa_pie_max_dist_m: 20.000000
voa_pie_under_trim_m: 1.000000
voa_pie_threshold: 3
voa_pie_slices: 36
voa_pie_bin_depth_m: 0.150000
voa_send_rate_hz: 20.000000
voa_input #0
enabled: 1
type: point_cloud
input_pipe: dfs_point_cloud
frame: stereo_l
max_depth: 8.000000
min_depth: 0.300000
cell_size: 0.080000
threshold: 4
x_fov_deg: 68.000000
y_fov_deg: 56.000000
conf_cutoff: 0
voa_input #1
enabled: 1
type: point_cloud
input_pipe: stereo_front_pc
frame: stereo_front_l
max_depth: 8.000000
min_depth: 0.300000
cell_size: 0.080000
threshold: 4
x_fov_deg: 68.000000
y_fov_deg: 56.000000
conf_cutoff: 0
voa_input #2
enabled: 1
type: point_cloud
input_pipe: stereo_rear_pc
frame: stereo_rear_l
max_depth: 8.000000
min_depth: 0.300000
cell_size: 0.080000
threshold: 4
x_fov_deg: 68.000000
y_fov_deg: 56.000000
conf_cutoff: 0
voa_input #3
enabled: 1
type: tof
input_pipe: tof
frame: tof
max_depth: 6.000000
min_depth: 0.150000
cell_size: 0.080000
threshold: 3
x_fov_deg: 106.500000
y_fov_deg: 85.099998
conf_cutoff: 125
voa_input #4
enabled: 1
type: rangefinder
input_pipe: rangefinders
frame: body
max_depth: 8.000000
min_depth: 0.300000
cell_size: 0.080000
threshold: 4
x_fov_deg: 68.000000
y_fov_deg: 56.000000
conf_cutoff: 0
=================================================================
loading extrinsics config file
loading horizon cal file
starting geometry module
starting autopilot monitor
starting mavlink IO
Waiting to connect to voxl-mavlink-server
Connected to voxl-mavlink-server
starting fixed pose input
starting vio manager
Connected to VIO pipe: qvio
Connected to VIO pipe: ov
starting tag manager
starting voa manager
Connected to VOA input pipe: tof
starting horizon cal module
Connected to VOA input pipe: rangefinders
starting imu manager
starting state manager
starting offboard figure eight
Detected Autopilot Mavlink SYSID 1
requesting autopilot_version
Init complete
Detected autopilot version: 1.14.0
WARNING, _stop_helper_and_remove_pipe timed out joining read thread
WARNING, _stop_helper_and_remove_pipe timed out joining read thread
ERROR in pipe_client_get_info_json, channel 0 not initialized yet
WARNING: failed to get info json from qvio server
ERROR in pipe_client_get_info_json, channel 1 not initialized yet
WARNING: failed to get info json from qvio server
^C