System Info
Hardware: VOXL2 Mini (M0104)
SDK: 1.6.3
voxl-open-vins-server: 0.6.0
libmodal-flow: 1.0.3
libmodal-cv: 0.6.0
Cameras: 4x AR0144 (ON Semi) via M0188 expansion board
Background
Building a custom GPS-denied navigation system targeting 4 AR0144 IR cameras in VIO. All 4 cameras are individually confirmed working as cam0 with good feature counts (80–160 features each, clean init). Single-camera VIO works but two-camera VIO is non-functional.
Issue 1: cam1 always returns 0 features (internal tracker)
With two cameras in vio_cams.conf, cam1 returns 0 features and NaN disparity every frame regardless of which physical camera occupies the slot. Bug follows the VIO slot, not the hardware. Confirmed not a pipe, cal file, GPU/CPU, or config issue.
Enabling en_ext_feature_tracker: true causes cam1 to detect features (58–75), confirming the internal tracker's cam1 slot is broken.
Issue 2: Camera fusion timeouts — two cameras never synchronized
With two cameras enabled, VIO never fuses both streams. The ready mask never reaches 0x3:
Camera fusion timeout (ready mask: 0x1, expected: 0x3)
Camera fusion timeout (ready mask: 0x2, expected: 0x3)
Camera fusion timeout (ready mask: 0x0, expected: 0x3)
This occurs with both internal and external tracker. Increasing fusion_rate_dt_ms to 40ms did not help.
Questions
Is there a known fix or newer package available? apt list --upgradable shows nothing.
Is there a separate package feed for SDK 1.6.3 we should be pulling from?
Is fusion_rate_dt_ms the right parameter to fix the synchronization issue, and if so what value is recommended for two unsynchronized AR0144 cameras?
Our goal is 4-camera simultaneous VIO — is this supported on SDK 1.6.3?