ERROR: failed to initialize IMU0
-
I got new VOXL Flight Deck.
But it seems imu0 is not detected.
voxl-imu-server.conf is default.
Do I need to do any configuration to use IMU0?/ # voxl-list-pipes | grep "imu" imu1 / # journalctl -u voxl-imu-server -- Logs begin at Thu 1970-01-01 00:00:04 UTC, end at Mon 2022-06-27 07:43:07 UT C. -- Jan 01 00:00:07 apq8096 systemd[1]: Starting voxl-imu-server... Jan 01 00:00:09 apq8096 systemd[1]: Started voxl-imu-server. Jan 01 00:00:09 apq8096 voxl-imu-server[2782]: ERROR: imu_detect failed to find a valid part Jan 01 00:00:09 apq8096 voxl-imu-server[2782]: ERROR: failed to initialize IMU0
M0019-REV B
-
Do you mind sharing the output of
voxl-imu-server --test
andvoxl-version
thanks!VIO can be configured to use either IMU, to select IMU1 just run voxl-configure-qvio and select IMU1 when prompted which to use.
-
voxl:~$ voxl-imu-server --test exising instance of voxl-imu-server found, attempting to stop it ERROR: imu_detect failed to find a valid part detected ICM20948 on spi bus[id] 1 Starting self-test on ICM20948 on SPI bus 1 gyro axis: 0 ratio: 1.009 response: 15858 factory: 15709 offset_dps: -0.97 gyro axis: 1 ratio: 1.012 response: 18092 factory: 17878 offset_dps: -0.08 gyro axis: 2 ratio: 1.004 response: 20218 factory: 20145 offset_dps: -0.22 accl axis: 0 ratio: 0.998 response: 6729 factory: 6742 accl axis: 1 ratio: 1.001 response: 7094 factory: 7086 accl axis: 2 ratio: 1.017 response: 8710 factory: 8561 ================================================================= RESULT FOR IMU0 on SPI BUS 10 GYRO X: FAIL GYRO Y: FAIL GYRO Z: FAIL ACCL X: FAIL ACCL Y: FAIL ACCL Z: FAIL OVERALL FAIL: COULD NOT COMMUNICATE WITH IMU ================================================================= ================================================================= RESULT FOR IMU1 on SPI BUS 1 GYRO X: PASS GYRO Y: PASS GYRO Z: PASS ACCL X: PASS ACCL Y: PASS ACCL Z: PASS OVERALL PASS ================================================================= This self-test required the voxl-imu-server service to stop You can restart it if desired with: systemctl restart voxl-imu-server Exiting Cleanly
voxl:~$ voxl-version cat: /etc/modalai/voxl-software-bundle-version.txt: No such file or directory -------------------------------------------------------------------------------- system-image: ModalAI 3.6.0 BUILDER: ekatzfey BUILD_TIME: 2022-02-28_23:47 kernel: #1 SMP PREEMPT Mon Feb 28 23:55:47 UTC 2022 3.18.71-perf factory-bundle: 1.0.1 (Yocto installation) -------------------------------------------------------------------------------- architecture: aarch64 processor: apq8096 os: GNU/Linux -------------------------------------------------------------------------------- voxl-suite: Package: voxl-suite Version: 0.5.0 Depends: libjpeg_turbo (>= 9.0.4), libmodal_exposure (>= 0.0.2), libmodal_json (>= 0.3.6), libmodal_pipe (>= 2.1.1), librc_math (>= 1.1.5), libvoxl_cutils (>= 0.0.2), libvoxl_io (>= 0.5.4), mavlink-camera-manager (>= 0.0.2), mongoose (>= 7.3.0), opencv (>= 4.5.2-2), openmp (>= 10.0.2), voxl-camera-calibration (>= 0.1.1), voxl-camera-server (>= 0.8.1), voxl-cpu-monitor (>= 0.2.0), voxl-dfs-server (>= 0.2.2), voxl-docker-support (>= 1.1.3), voxl-gphoto2 (>= 0.0.5), voxl-imu-server (>= 0.9.1), voxl-mavlink (>= 0.0.2), voxl-modem (>= 0.12.0), voxl-mpa-tools (>= 0.3.6), voxl-nodes (>= 0.2.0), voxl-portal (>= 0.1.2), voxl-qvio-server (>= 0.3.4), voxl-streamer (>= 0.2.6), voxl-tag-detector (>= 0.0.2), voxl-tflite (>= 2.2.3), voxl-tflite-server (>= 0.1.5), voxl-utils (>= 0.8.4), voxl-vision-px4 (>= 0.9.5), voxl-vpn (>= 0.0.3) Status: install user installed Section: base Architecture: all Maintainer: james@modalai.com MD5Sum: f55ec020942e92ff12bc137c2aa8d2a5 Size: 1956 Filename: voxl-suite_0.5.0.ipk Description: meta-package for voxl-suite software collection Installed-Time: 1656138820 Package: voxl-suite Version: 0.2.0 Depends: docker, imu_app (= 0.0.6), libvoxl_io (= 0.5.2), voxl-cam-manager (= 0.2.2), voxl-docker-support (= 1.1.1), voxl-hal3-tof-cam-ros (= 0.0.2), voxl-modem (= 0.10.0), voxl-nodes (= 0.0.8), voxl-rtsp (= 1.0.2), voxl-utils (= 0.5.2), voxl-vision-px4 (= 0.6.8), voxl_imu (= 0.0.4), voxl-time-sync (= 0.0.1), voxl-vpn (= 0.0.2), librc_math (= 1.1.2), libmodal_pipe (= 1.2.2), modalai-vl (= 0.1.3) Status: unknown ok not-installed Section: base Architecture: armv7a Maintainer: james@modalai.com MD5Sum: af706cd3c1ea59f274f2ed9b93141f1d Size: 870 Filename: voxl-suite_0.2.0.ipk Description: meta-package to install all of the voxl-suite --------------------------------------------------------------------------------
Yes, VIO works if I select IMU1 (default is IMU0).
I flashed system image to 3.6.0 (preserve the /data/ parition).
I didn't confirm whether IMU0 was working at 3.3.0.
If necessary, I can re-install 3.3.0 and check again. -
@James-Strawson Could you please check the outputs?
I want to know whether this is hardware issue or configuration issue. -
I flashed system image v3.3.0.
But imu0 still doesn't work./ # voxl-imu-server --test exising instance of voxl-imu-server found, attempting to stop it ERROR: imu_detect failed to find a valid part detected ICM20948 on spi bus[id] 1 Starting self-test on ICM20948 on SPI bus 1 gyro axis: 0 ratio: 1.009 response: 15851 factory: 15709 offset_dps: -0.92 gyro axis: 1 ratio: 1.010 response: 18051 factory: 17878 offset_dps: -0.08 gyro axis: 2 ratio: 1.003 response: 20198 factory: 20145 offset_dps: -0.17 accl axis: 0 ratio: 0.997 response: 6724 factory: 6742 accl axis: 1 ratio: 1.009 response: 7151 factory: 7086 accl axis: 2 ratio: 1.001 response: 8572 factory: 8561 ================================================================= RESULT FOR IMU0 on SPI BUS 10 GYRO X: FAIL GYRO Y: FAIL GYRO Z: FAIL ACCL X: FAIL ACCL Y: FAIL ACCL Z: FAIL OVERALL FAIL: COULD NOT COMMUNICATE WITH IMU ================================================================= ================================================================= RESULT FOR IMU1 on SPI BUS 1 GYRO X: PASS GYRO Y: PASS GYRO Z: PASS ACCL X: PASS ACCL Y: PASS ACCL Z: PASS OVERALL PASS ================================================================= This self-test required the voxl-imu-server service to stop You can restart it if desired with: systemctl restart voxl-imu-server Exiting Cleanly / # voxl-version cat: /etc/modalai/voxl-software-bundle-version.txt: No such file or directory -------------------------------------------------------------------------------- system-image: ModalAI 3.3.0 BUILDER: ekatzfey BUILD_TIME: 2021-06-06_19:28 kernel: #1 SMP PREEMPT Sun Jun 6 19:41:01 UTC 2021 3.18.71-perf factory-bundle: 1.0.1 (Yocto installation) -------------------------------------------------------------------------------- architecture: aarch64 processor: apq8096 os: GNU/Linux -------------------------------------------------------------------------------- voxl-suite: Package: voxl-suite Version: 0.5.0 Depends: libjpeg_turbo (>= 9.0.4), libmodal_exposure (>= 0.0.2), libmodal_json (>= 0.3.6), libmodal_pipe (>= 2.1.1), librc_math (>= 1.1.5), libvoxl_cutils (>= 0.0.2), libvoxl_io (>= 0.5.4), mavlink-camera-manager (>= 0.0.2), mongoose (>= 7.3.0), opencv (>= 4.5.2-2), openmp (>= 10.0.2), voxl-camera-calibration (>= 0.1.1), voxl-camera-server (>= 0.8.1), voxl-cpu-monitor (>= 0.2.0), voxl-dfs-server (>= 0.2.2), voxl-docker-support (>= 1.1.3), voxl-gphoto2 (>= 0.0.5), voxl-imu-server (>= 0.9.1), voxl-mavlink (>= 0.0.2), voxl-modem (>= 0.12.0), voxl-mpa-tools (>= 0.3.6), voxl-nodes (>= 0.2.0), voxl-portal (>= 0.1.2), voxl-qvio-server (>= 0.3.4), voxl-streamer (>= 0.2.6), voxl-tag-detector (>= 0.0.2), voxl-tflite (>= 2.2.3), voxl-tflite-server (>= 0.1.5), voxl-utils (>= 0.8.4), voxl-vision-px4 (>= 0.9.5), voxl-vpn (>= 0.0.3) Status: install user installed Architecture: all Installed-Time: 218 --------------------------------------------------------------------------------
-
@James-Strawson
Hello,
When I upgrade to v3.8, voxl-imu-server no longer starts.
I think imu0 is not available, it is an initial defect.root@apq8096:~# voxl-version -------------------------------------------------------------------------------- system-image: 3.8.0 kernel: #1 SMP PREEMPT Tue Apr 26 18:08:39 UTC 2022 3.18.71-perf -------------------------------------------------------------------------------- hw version: VOXL -------------------------------------------------------------------------------- voxl-suite: 0.7.0 -------------------------------------------------------------------------------- root@apq8096:~# voxl-imu-server --test ERROR: imu_detect failed to find a valid part detected ICM20948 on spi bus[id] 1 Starting self-test on ICM20948 on SPI bus 1 received SIGINT Ctrl-C gyro axis: 0 ratio: 1.012 response: 15893 factory: 15709 offset_dps: -0.99 gyro axis: 1 ratio: 1.013 response: 18108 factory: 17878 offset_dps: -0.10 gyro axis: 2 ratio: 1.005 response: 20253 factory: 20145 offset_dps: -0.18 accl axis: 0 ratio: 0.999 response: 6735 factory: 6742 accl axis: 1 ratio: 1.008 response: 7146 factory: 7086 accl axis: 2 ratio: 1.000 response: 8562 factory: 8561 ================================================================= RESULT FOR IMU0 on SPI BUS 10 GYRO X: FAIL GYRO Y: FAIL GYRO Z: FAIL ACCL X: FAIL ACCL Y: FAIL ACCL Z: FAIL OVERALL FAIL: COULD NOT COMMUNICATE WITH IMU ================================================================= ================================================================= RESULT FOR IMU1 on SPI BUS 1 GYRO X: PASS GYRO Y: PASS GYRO Z: PASS ACCL X: PASS ACCL Y: PASS ACCL Z: PASS OVERALL PASS ================================================================= This self-test required the voxl-imu-server service to stop You can restart it if desired with: systemctl restart voxl-imu-server Exiting Cleanly root@apq8096:~# voxl-inspect-services Service Name | Enabled | Running | CPU Usage --------------------------------------------------------------- docker-autorun | Disabled | Not Running | docker-daemon | Disabled | Not Running | modallink-relink | Disabled | Not Running | voxl-camera-server | Enabled | Running | 4.9 voxl-cpu-monitor | Enabled | Running | 0.0 voxl-dfs-server | Disabled | Not Running | voxl-imu-server | Enabled | Not Running | voxl-mavlink-server | Enabled | Running | 0.0 voxl-modem | Disabled | Not Running | voxl-portal | Enabled | Running | 0.0 voxl-qvio-server | Enabled | Running | 0.0 voxl-streamer | Disabled | Not Running | voxl-tag-detector | Disabled | Not Running | voxl-tflite-server | Disabled | Not Running | voxl-time-sync | Disabled | Not Running | voxl-vision-px4 | Enabled | Running | 0.0 voxl-wait-for-fs | Enabled | Completed |
The log showed that the service was stuck in a restart loop due to "Service hold-off time over, scheduling restart".
root@apq8096:~# journalctl -u voxl-imu-server -- Logs begin at Thu 1970-01-01 00:34:23 UTC, end at Mon 2022-08-22 06:05:16 UTC. -- Jan 01 00:34:27 apq8096 systemd[1]: Starting voxl-imu-server... Jan 01 00:34:29 apq8096 systemd[1]: Started voxl-imu-server. Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: ERROR: imu_detect failed to find a valid part Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: ERROR in imu_detect_board detecting imu0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: loading calibration file Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: ================================================================= Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: calibration for IMU0: Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: Gyro Offsets (rad/s): X: 0.000 Y: 0.000 Z: 0.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: Accl Offsets (m/s^2): X: 0.000 Y: 0.000 Z: 0.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: Accl Scale : X: 1.000 Y: 1.000 Z: 1.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: has_baseline_temp: 0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: gyro_baseline_temp (C): 30.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: accl_baseline_temp (C): 30.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: has_temp_cal: 0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: gyro_drift_coeff: X: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: gyro_drift_coeff: Y: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: gyro_drift_coeff: Z: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: accl_drift_coeff: X: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: accl_drift_coeff: Y: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: accl_drift_coeff: Z: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: calibration for IMU1: Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: Gyro Offsets (rad/s): X: 0.000 Y: 0.000 Z: 0.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: Accl Offsets (m/s^2): X: 0.000 Y: 0.000 Z: 0.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: Accl Scale : X: 1.000 Y: 1.000 Z: 1.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: has_baseline_temp: 0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: gyro_baseline_temp (C): 30.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: accl_baseline_temp (C): 30.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: has_temp_cal: 0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: gyro_drift_coeff: X: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: gyro_drift_coeff: Y: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: gyro_drift_coeff: Z: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: accl_drift_coeff: X: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: accl_drift_coeff: Y: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: accl_drift_coeff: Z: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: calibration for IMU2: Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: Gyro Offsets (rad/s): X: 0.000 Y: 0.000 Z: 0.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: Accl Offsets (m/s^2): X: 0.000 Y: 0.000 Z: 0.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: Accl Scale : X: 1.000 Y: 1.000 Z: 1.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: has_baseline_temp: 0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: gyro_baseline_temp (C): 30.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: accl_baseline_temp (C): 30.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: has_temp_cal: 0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: gyro_drift_coeff: X: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: gyro_drift_coeff: Y: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: gyro_drift_coeff: Z: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: accl_drift_coeff: X: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: accl_drift_coeff: Y: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: accl_drift_coeff: Z: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: calibration for IMU3: Jan 01 00:34:29 apq8096 systemd[1]: [[1;39mvoxl-imu-server.service: Main process exited, code=exited, status=255/n/a[[0 m Jan 01 00:34:29 apq8096 systemd[1]: [[1;39mvoxl-imu-server.service: Unit entered failed state.[[0m Jan 01 00:34:29 apq8096 systemd[1]: [[1;39mvoxl-imu-server.service: Failed with result 'exit-code'.[[0m Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: Gyro Offsets (rad/s): X: 0.000 Y: 0.000 Z: 0.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: Accl Offsets (m/s^2): X: 0.000 Y: 0.000 Z: 0.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: Accl Scale : X: 1.000 Y: 1.000 Z: 1.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: has_baseline_temp: 0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: gyro_baseline_temp (C): 30.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: accl_baseline_temp (C): 30.000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: has_temp_cal: 0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: gyro_drift_coeff: X: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: gyro_drift_coeff: Y: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: gyro_drift_coeff: Z: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: accl_drift_coeff: X: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: accl_drift_coeff: Y: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: accl_drift_coeff: Z: 0.000000 0.000000 0.000000 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: ================================================================= Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: loading config file Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: ================================================================= Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: imu0_enable: 1 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: imu0_bus: 10 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: imu0_sample_rate_hz: 1000.0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: imu0_lp_cutoff_freq_hz: 92.0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: imu0_rotate_common_frame 1 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: imu0_read_every_n_samples: 10 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: imu1_enable: 1 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: imu1_bus: 1 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: imu1_sample_rate_hz: 1000.0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: imu1_lp_cutoff_freq_hz: 92.0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: imu1_rotate_common_frame 1 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: imu1_read_every_n_samples: 10 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: aux_imu2_enable: 0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: aux_imu2_spi_bus: 9 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: aux_imu2_sample_rate_hz: 1000.0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: aux_imu2_lp_cutoff_freq_hz: 92.0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: aux_imu2_read_every_n_samples: 10 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: aux_imu2_enable: 0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: aux_imu2_spi_bus: 11 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: aux_imu2_sample_rate_hz: 1000.0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: aux_imu2_lp_cutoff_freq_hz: 92.0 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: aux_imu2_read_every_n_samples: 10 Jan 01 00:34:29 apq8096 voxl-imu-server[2894]: ================================================================= Jan 01 00:34:29 apq8096 systemd[1]: voxl-imu-server.service: Service hold-off time over, scheduling restart. Jan 01 00:34:29 apq8096 systemd[1]: Stopped voxl-imu-server. Jan 01 00:34:29 apq8096 systemd[1]: Starting voxl-imu-server...
-
@JP-Drone were you able to fix it?
-
@stevedan Couldn't find the way to solve so we sent back to ModalAI with RMA.
I wonder what was the issue of this. -
@JP-Drone In my case, I was using the rb5 so the correct service was voxl-px4-imu-server, which was already running. The qvio, vison-px4 takes imu from imu_px4 not imu0. This is specific for the rb5.