Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers
-
Support Request: Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers
System Information
- Hardware: ModalAI Stinger (D0013)
- Base SDK Version: SDK 1.6.2 (Clean install performed recently)
- Updated Packages:
qrb5165-imu-server: Built fromdevbranch (to support body frame output)voxl-open-vins-server: Built fromdevbranch
- Camera Configuration: Tracking Cameras (Front/Down) only.
Current Status
After a clean install of SDK 1.6.2 and upgrading the IMU and OpenVINS servers to the
devbranch versions (as suggested to handle D0013's inverted IMU natively):- VIO Tracking: Success. The drone is tracking perfectly in the Web Portal's 3D view. The virtual drone follows the real drone's movements correctly (RPY and translation).
- VOXL Vision Hub: Success.
voxl-vision-hubreportsresult: truein the Web Portal system check. - Image Sensors: Success. Previously reported errors, but now
imageSensor0andimageSensor1are detected correctly. - PX4 Flight Controller: FAILURE.
voxl-px4reportsresult: falsein the Web Portal system check.- Specific Error:
sensor_accel: result false(e.g.,x: -0.28, y: -0.28, z: 9.63). - The drone cannot enter Position Flight Mode.
- QGroundControl allows Arming in Manual mode, but rejects Position mode.
Steps Taken
- Clean Install: Re-flashed SDK 1.6.2 to ensure a clean state.
- Custom Build: Built and installed
qrb5165-imu-serverandvoxl-open-vins-serverfrom theirdevbranches on the device (usingvoxl-crossdocker).- This resolved previous issues with "Upside Down" initialization and VIO coordinate frame mismatches.
- Calibration: Performed clean IMU and Camera calibrations via
voxl-configure-mpaand QGroundControl. - Verification: Checked Web Portal. VIO is healthy, but PX4 fails to initialize the accelerometer properly.
Logs & Errors
We have attached the full
voxl-px4.log,voxl-imu-server.log, andvoxl-vision-hub.logfiles. Below are the critical errors observed.1. Parameter File Access Error (from voxl-px4.log)
PX4 fails to access the parameter file, which may be causing it to load incorrect defaults.
Dec 19 09:35:49 m0104 voxl-px4[3893]: INFO [param] selected parameter default file /data/px4/param/parameters Dec 19 09:35:49 m0104 voxl-px4[3893]: ERROR [param] open '/data/px4/param/parameters' failed (2)2. Sensor Start Timeouts (from voxl-px4.log)
The system attempts to start the IMU driver (
icm42688p) but times out.Dec 19 09:35:49 m0104 voxl-px4[3893]: Starting IMU driver with rotation 12 Dec 19 09:36:09 m0104 voxl-px4[3893]: INFO [qshell] Send cmd: 'icm42688p start -s -R 12' Dec 19 09:36:09 m0104 voxl-px4[3893]: ERROR [qshell] command timed out Dec 19 09:36:09 m0104 voxl-px4[3893]: ERROR [qshell] Command failed3. Accelerometer Failure (from voxl-px4.log)
This is the direct cause of the
sensor_accel: result falsestatus.Dec 19 09:36:49 m0104 voxl-px4[2171]: ERROR [muorb] [sensors] Accel #0 fail: TIMEOUT!4. IMU Server Analysis (from voxl-imu-server.log)
The
voxl-imu-serverappears to be running and detecting the IMU correctly (Detected M0104 VOXL2 mini,detected ICM42688).
It loads calibration data successfully.Dec 19 10:13:42 m0104 voxl-imu-server[30843]: detected ICM42688 on spi bus[id] 3 Dec 19 10:13:42 m0104 voxl-imu-server[30843]: started fifo on imu0IMU server seems healthy and publishing data.
5. Vision Hub Analysis (from voxl-vision-hub.log)
voxl-vision-hubsuccessfully connects to the VIO pipe (ov), but reports an issue with finding a specific extrinsic relation.Dec 19 10:07:19 m0104 voxl-vision-hub[1723]: Connected to VIO pipe: ov Dec 19 10:07:19 m0104 voxl-vision-hub[1723]: Geometry module updating to use imu: imu_apps_body for VIO ... Dec 19 10:07:17 m0104 voxl-vision-hub[1723]: ERROR: /etc/modalai/extrinsics.conf missing body to imu_apps_body, sticking with identity for nowAlso, there are connection errors to
voxl-mavlink-server:Dec 19 10:07:19 m0104 voxl-vision-hub[1723]: Error trying to send control command to pipe ch4 /run/mpa/mavlink_onboard/, not connectedThis suggests that while VIO itself is running, the communication chain to send this data to PX4 (via mavlink-server) might be broken or misconfigured.
Questions
Despite VIO working perfectly with the updated servers and
voxl-imu-serverappearing healthy, PX4 consistently fails to validate the accelerometer (sensor_accel: result false).- Is there a specific PX4 parameter or driver configuration in SDK 1.6.2 that conflicts with the Stinger (D0013) hardware, even with the updated IMU server?
- The accelerometer values (
z ~ 9.6) seem physically reasonable for a stationary drone. Why does the check returnfalse? - Are there known compatibility issues with
voxl-px4and thedevbranchqrb5165-imu-server?