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?
-
@YUUJI-INOUE Can you send a PX4 log? If you can arm in manual mode then the PX4 IMU is working fine. The last voxl-px4 message sequence shows the IMU start correctly. If the parameters file does not yet exist (e.g. no PX4 parameters have been updated yet) then there will be no /data/px4/param/parameters file and you will see the error message: "open '/data/px4/param/parameters' failed". That is fine and to be expected. Once you have updated some parameters (e.g. running voxl-px4-param) then that file will be created and that error message will no longer appear.
-
Updated Support Request: Parameter Fix Attempt & Remaining Accelerometer/Position Mode Issues
Following the advice to update parameters, we have made progress but still cannot enter Position Mode due to persistent sensor checks failures.
Actions Taken
- Parameter Reset & Load:
- Executed
voxl-configure-px4-params --wizardand selected D0013 (Stinger). - Confirmed that
/data/px4/param/parametersis now created and populated.
- Executed
- Battery Configuration Fix:
- Manually corrected
BAT_N_CELLSto 4 (was defaulting to 6) andBAT_LOW_VOLTto 14.0V. - This successfully resolved the "Low Voltage" warning in QGC.
- Manually corrected
- Re-Calibration:
- Performed fresh Accelerometer, Level Horizon, and Compass calibrations in QGC.
- Performed Camera calibration.
Current Status
- Manual Mode: OK. We can Arm the drone and spin motors in Manual Mode. We have also performed a successful test flight in Manual Mode.
- VIO: OK. The virtual drone in Web Portal follows the real drone perfectly.
- Position Mode: FAILED.
- QGC shows "Ready for flight" briefly after reboot, but rejects Arming (Command denied).
- After disarming from a Manual Mode test, Position Mode switches to "Not Ready".
- Web Portal System Check: FAILED.
voxl-px4still reportssensor_accel: result false.- Values (e.g.,
z: 9.70) seem correct, but the check fails.
Persistent Logs Errors (New Logs Attached)
Despite the parameter fix,
voxl-px4.logstill shows communication timeouts with the sensors:ERROR [muorb] [sensors] Accel #0 fail: TIMEOUT! ERROR [qshell] Command failed ERROR [muorb] [drivers__device] i2c probe failedQuestions
- Since we can Arm in Manual Mode (suggesting the IMU hardware is working) and have loaded the correct D0013 parameters, why does
voxl-px4still reportsensor_accel: result falsewith timeouts? - Is there a specific driver or timing parameter in SDK 1.6.2 (with the
devbranch IMU server) that causes these spurious timeouts on the Stinger? - What is preventing Position Mode Arming even when VIO is healthy and Manual Arming works?
We have attached the latest logs (
voxl-px4.log,voxl-vision-hub.log) from this new configuration state.
voxl-px4.log
voxl-vision-hub.log - Parameter Reset & Load:
-
@YUUJI-INOUE said in Persistent PX4 Sensor/Accel Failure on Stinger (D0013) with SDK 1.6.2 + Dev IMU/OV Servers:
Updated Support Request: Parameter Fix Attempt & Remaining Accelerometer/Position Mode Issues
Following the advice to update parameters, we have made progress but still cannot enter Position Mode due to persistent sensor checks failures.
Actions Taken
- Parameter Reset & Load:
- Executed
voxl-configure-px4-params --wizardand selected D0013 (Stinger). - Confirmed that
/data/px4/param/parametersis now created and populated.
- Executed
- Battery Configuration Fix:
- Manually corrected
BAT_N_CELLSto 4 (was defaulting to 6) andBAT_LOW_VOLTto 14.0V. - This successfully resolved the "Low Voltage" warning in QGC.
- Manually corrected
- Re-Calibration:
- Performed fresh Accelerometer, Level Horizon, and Compass calibrations in QGC.
- Performed Camera calibration.
Current Status
- Manual Mode: OK. We can Arm the drone and spin motors in Manual Mode. We have also performed a successful test flight in Manual Mode.
- VIO: OK. The virtual drone in Web Portal follows the real drone perfectly.
- Position Mode: FAILED.
- QGC shows "Ready for flight" briefly after reboot, but rejects Arming (Command denied).
- After disarming from a Manual Mode test, Position Mode switches to "Not Ready".
- Web Portal System Check: FAILED.
voxl-px4still reportssensor_accel: result false.- Values (e.g.,
z: 9.70) seem correct, but the check fails.
Persistent Logs Errors (New Logs Attached)
Despite the parameter fix,
voxl-px4.logstill shows communication timeouts with the sensors:ERROR [muorb] [sensors] Accel #0 fail: TIMEOUT! ERROR [qshell] Command failed ERROR [muorb] [drivers__device] i2c probe failedQuestions
- Since we can Arm in Manual Mode (suggesting the IMU hardware is working) and have loaded the correct D0013 parameters, why does
voxl-px4still reportsensor_accel: result falsewith timeouts? - Is there a specific driver or timing parameter in SDK 1.6.2 (with the
devbranch IMU server) that causes these spurious timeouts on the Stinger? - What is preventing Position Mode Arming even when VIO is healthy and Manual Arming works?
We have attached the latest logs (
voxl-px4.log,voxl-vision-hub.log) from this new configuration state.
voxl-px4.log
voxl-vision-hub.logI've been hooked on this for two weeks now. Can someone tell me how to set up STINGER VER1 from scratch?
- Parameter Reset & Load:
-
@YUUJI-INOUE I'm very confused by the voxl-px4.log file you attached. It is filled with a bunch of
-- Reboot --lines. Where do those lines come from? How did you generate voxl-px4.log? The onlyAccel #0 fail: TIMEOUT!I see is after a shutdown command has been issued to PX4. TheCommand failedis normal. The startup script attempts to do some auto-configuration by looking for devices that may not be attached to the drone and will produce those messages. Same with thei2c probe failedmessages. The fact that you can fly in manual mode means that the IMU is fine.