ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    snav fails to find libsensor_imu.so

    Ask your questions right here!
    2
    10
    541
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      llgmrl
      last edited by llgmrl

      Hi All,

      I installed the snav-modalai_1.3.0_8x96.ipk on my voxl flight deck. When I ran the "bash configure_snav.sh", the process failed when the script was trying to calibrate the imu sensor via "snav_calibration_manager -s". Here is the error message:
      932aa1b1-f599-4bac-b5b4-e15ecb701adb-image.png

      I checked the /usr/lib/ and there is no libsensor_imu.so in the folder.

      Any help will be appreciated.

      Best,
      Rui

      1 Reply Last reply Reply Quote 0
      • Alex KushleyevA
        Alex Kushleyev ModalAI Team
        last edited by Alex Kushleyev

        Hi Rui,

        A few things..

        • there have been a few updates in SNAV (mainly to support our new ESC, nothing major). Please use the latest release in https://developer.modalai.com/asset : snav-modalai_1.4.1_8x96.ipk
        • in order to run SNAV, you ineed to install imu_app package opkg install imu_app. This may remove some package like voxl-imu-server, since they can't run at the same time. imu_app package provides access to an older version of IMU server, which is used to pass imu data between SNAV and CPU applications (like vio, etc). you can also download the ipk from http://voxl-packages.modalai.com/stable/imu_app_0.0.6.ipk and run opkg install imu_app_0.0.6.ipk
        • in order to install the latest snav ipk, you need to modify /etc/opkg/opkg.conf (commend out the line at the bottom src/gz stable http://voxl-packages.modalai.com/stable . If you don't do this, then the package config will override your new ipk with another package modalai-vl and pull it from the package repo. However it so happens that latest SNAV is not a part of modalai-vl package..
        • after you install the latest snav ipk, you can change opkg.conf back to normal.
        • the rest of SNAV install should work the same as before..
        • if you don't want to use latest SNAV, you don't have to, you can just use your existing version and install the imu app and SNAV should work.

        Hope this helps.

        Alex

        1 Reply Last reply Reply Quote 0
        • L
          llgmrl
          last edited by llgmrl

          Hi Alex,

          Sorry for the late reply. I was moving over last several days.
          I installed the imu_app and the snav-modalai_1.4.1 as you instructed, however, when I tried to run snav_calibration_manager -s, it gave me this error:
          6e013b7e-2fb8-45e9-a14c-ffe7fd5e3e8a-image.png
          I was suspicious that the voxl_imu_server might be running, so I first checked if the voxl_imu_server was removed. It turns out that it was still being installed

          cf5b3e5d-dcac-4b4c-94f2-d180c7ce0a4d-image.png
          I was not sure whether I should manually remove it, so I tried disable the service first as following:

          21f9f80b-526d-4720-b086-a07d6dacad42-image.png

          but after this the snav_calibration_manager -s still gave me the same error. I was also suspicious that the snav might not be running, so I ran start snav, here is the output:
          75d2bd27-b320-487c-88d3-c17869350049-image.png

          Yet after this, the snav_calibration_manager -s still gave me the same error I showed at the beginning of this reply.

          I'm not sure what else I should do. Any advice will be appreciated!

          Best,
          Rui

          1 Reply Last reply Reply Quote 0
          • L
            llgmrl
            last edited by

            Hi All,

            I'm just following up this post to see if there is any advice that you can provide to help resolving this issue.

            Thank you for your time in advance!

            Best,
            Rui

            1 Reply Last reply Reply Quote 0
            • Alex KushleyevA
              Alex Kushleyev ModalAI Team
              last edited by

              Hello Rui,

              After installing SNAV IPK, did you do anything else with SNAV before running snav_calibration_manager?

              Installing the ipk does not autostart SNAV, if I remember correctly. So you might be trying to run calibration manager without snav itself running. SNAV ipk install does put the service files for systemd into /etc/systemd/system (i think), but if you want snav to auto start, you need to run systemctl enable snav. However, enabling snav, does not start it right that moment (until during next boot). if you just want to start snav, use systemctl start snav or you can just run start snav.

              Before starting snav, you need to make sure that snav_params.xml is in place in /usr/lib/rfsa/adsp/ - usually it is either a symlink to a standard configuration or a custom file.

              Then to check if snav is running after starting, i strongly suggest running snav_calibration_manager -d to see what debugging / error messages it prints. If IMU static calibration needs to be performed (which is the case before first flight), you will see a message saying that, at which point you could run snav_calibration_manager -s

              I also usually disable the snav vio app and drone controller (latter is pretty much obsolete) like so:

              systemctl disable snav_dronecontroller
              systemctl disable snav_vio_app
              

              When I know snav itself is working fine, you can make sure VIO params are set correctly and then enable/run snav_vio_app as well. If you know that vio app params are already correct, then you don't need to disable it.

              1 Reply Last reply Reply Quote 0
              • L
                llgmrl
                last edited by

                @Alex-Kushleyev said in snav fails to find libsensor_imu.so:

                Hi Alex,
                Thanks for the reply! I don't recall I ran anything special with snav other than start snav and snav_calibration_manager -s

                As you instructed, After I ran start snav, I tried snav_calibration_manager -d and here is the output it gave:
                e1f66ac9-91b0-4419-89c4-3bb0d52f9da3-image.png
                It doesn't seem to have anything special.
                Then I tried to run snav_calibration_manager -s again and it still gives me this error:
                aee128c4-e35d-4340-b366-6998ccc26d8f-image.png

                1 Reply Last reply Reply Quote 0
                • Alex KushleyevA
                  Alex Kushleyev ModalAI Team
                  last edited by

                  I am sorry, I meant run snav_inspector -d to see the debug messages coming from SNAV. Apologies!

                  Alex

                  1 Reply Last reply Reply Quote 0
                  • L
                    llgmrl
                    last edited by

                    No problem! It seems that the SNAV_IMU_MPC_DRIVER is not able to initialize the IMU0. I'm attaching the full report below:

                    ~ # snav_inspector -d
                    Please wait - attempting to read log file /data/logs/snav/flight/snav_00001_01.log.
                    Updated param file name to snav_params.xml
                    Attempting to parse parameters
                    Attempting to open parameter file: /dev/fs/snav_params.xml. *Note /dev/fs/ on APQ8096 is /usr/lib/rfsa/adsp/
                    Successfully opened file /dev/fs/snav_params.xml [100]
                    XML parser successfully parsed document.
                    Set parameter position_control_params:basethrust to 240
                    Set parameter optic_flow_estimator_params:camera_offset_x to 0.055
                    Set parameter optic_flow_estimator_params:camera_offset_y to 0
                    Set parameter voltage_monitor_params:voltage_warn_threshold to 7.05
                    Set parameter voltage_monitor_params:voltage_warn_critical to 6.95
                    Set parameter voltage_monitor_params:voltage_force_landing to 6.9
                    Set parameter voltage_monitor_params:voltage_no_start to 6.7
                    Set parameter voltage_monitor_params:voltage_warn_threshold_external to 6.85
                    Set parameter voltage_monitor_params:voltage_warn_critical_external to 6.75
                    Set parameter voltage_monitor_params:voltage_force_landing_external to 6.7
                    Set parameter voltage_monitor_params:voltage_no_start_external to 6.6
                    Set parameter voltage_monitor_params:voltage_landing_reset_threshold to 7.7
                    Set parameter voltage_monitor_params:low_voltage_thrust_slope to 700
                    Set parameter att_control_params:kp_roll_moment to 23.084
                    Set parameter att_control_params:kp_pitch_moment to 23.084
                    Set parameter att_control_params:kd_roll_moment to 2.6508
                    Set parameter att_control_params:kd_pitch_moment to 2.6508
                    Set parameter att_control_params:kpy to 109.831
                    Set parameter att_control_params:kdy to 18.699
                    Set parameter att_control_params:second_order_yaw_filter_cutoff_freq to 52.873
                    Set parameter att_control_params:ang_vel_z_ff_factor to 0.6
                    Set parameter att_control_params:prop_config_type to 0
                    Set parameter att_control_params:prop_config_Dx to 0.0707
                    Set parameter att_control_params:prop_config_Dy to 0.08
                    Set parameter att_control_params:prop_config_beta to 0
                    Set parameter att_control_params:prop_rpm_thrust_curve_a2 to 4.2447e-07
                    Set parameter att_control_params:min_rpm to 5500
                    Set parameter att_control_params:max_rpm to 16400
                    Set parameter att_control_params:number_of_props to 4
                    Set parameter att_control_params:use_max_rpm_curve to 1
                    Set parameter att_control_params:max_rpm_curve_a0 to 8000
                    Set parameter att_control_params:max_rpm_curve_a1 to 1200
                    Set parameter rc_params:min_thrust to 60
                    Set parameter rc_params:max_thrust to 460
                    Set parameter rc_params:yaw_acc_limit to 9
                    Set parameter orientation_params:vehicle_center_to_imu_x to 0.05
                    Set parameter orientation_params:vehicle_center_to_imu_y to 0.0152
                    Set parameter orientation_params:vehicle_center_to_imu_z to -0.023
                    Set parameter orientation_params:imu_R00 to 0
                    Set parameter orientation_params:imu_R01 to 1
                    Set parameter orientation_params:imu_R02 to 0
                    Set parameter orientation_params:imu_R10 to -1
                    Set parameter orientation_params:imu_R11 to 0
                    Set parameter orientation_params:imu_R12 to 0
                    Set parameter orientation_params:imu_R20 to 0
                    Set parameter orientation_params:imu_R21 to 0
                    Set parameter orientation_params:imu_R22 to 1
                    Set parameter orientation_params:imu1_R00 to -1
                    Set parameter orientation_params:imu1_R01 to 0
                    Set parameter orientation_params:imu1_R02 to 0
                    Set parameter orientation_params:imu1_R10 to 0
                    Set parameter orientation_params:imu1_R11 to 1
                    Set parameter orientation_params:imu1_R12 to 0
                    Set parameter orientation_params:imu1_R20 to 0
                    Set parameter orientation_params:imu1_R21 to 0
                    Set parameter orientation_params:imu1_R22 to -1
                    Set parameter orientation_params:imu2_R00 to 1
                    Set parameter orientation_params:imu2_R01 to 0
                    Set parameter orientation_params:imu2_R02 to 0
                    Set parameter orientation_params:imu2_R10 to 0
                    Set parameter orientation_params:imu2_R11 to 1
                    Set parameter orientation_params:imu2_R12 to 0
                    Set parameter orientation_params:imu2_R20 to 0
                    Set parameter orientation_params:imu2_R21 to 0
                    Set parameter orientation_params:imu2_R22 to 1
                    Set parameter orientation_params:mag_R00 to -1
                    Set parameter orientation_params:mag_R01 to 0
                    Set parameter orientation_params:mag_R02 to 0
                    Set parameter orientation_params:mag_R10 to 0
                    Set parameter orientation_params:mag_R11 to 1
                    Set parameter orientation_params:mag_R12 to 0
                    Set parameter orientation_params:mag_R20 to 0
                    Set parameter orientation_params:mag_R21 to 0
                    Set parameter orientation_params:mag_R22 to -1
                    Set parameter orientation_params:downward_cam_R00 to 0
                    Set parameter orientation_params:downward_cam_R01 to -1
                    Set parameter orientation_params:downward_cam_R10 to -1
                    Set parameter orientation_params:downward_cam_R11 to 0
                    Set parameter device_drivers_params:rc0_driver_file_name to librc0_spektrum_driver.so
                    Set parameter device_drivers_params:baro0_driver_file_name to libbaro0_bmp280_driver.so
                    Set parameter device_drivers_params:vsense0_driver_file_name to libvsense0_ltc2946_driver.so
                    Set parameter device_drivers_params:isense0_driver_file_name to libvsense0_ltc2946_driver.so
                    Set parameter device_drivers_params:mag0_driver_file_name to libmag0_ak0991x_driver.so
                    Set parameter device_drivers_params:sonar0_driver_file_name to libsonar0_maxbotix_driver.so
                    Set parameter device_drivers_params:gnss0_driver_file_name to libgnss0_qc_driver.so
                    Set parameter device_drivers_params:gnss1_driver_file_name to libgnss0_ublox_driver.so
                    Set parameter device_drivers_params:imu0_driver_file_name to libimu_mpu_driver.so
                    Set parameter device_drivers_params:imu0_description to imu_flight_primary_mpu9250
                    Set parameter device_drivers_params:imu0_bit_rate to 10000000
                    Set parameter device_drivers_params:imu0_update_rate_hz to 500
                    Set parameter device_drivers_params:imu0_hw_accel_lpf_hz to 184
                    Set parameter device_drivers_params:imu0_hw_gyro_lpf_hz to 184
                    Set parameter device_drivers_params:imu0_sw_accel_lpf_hz to 0
                    Set parameter device_drivers_params:imu0_sw_gyro_lpf_hz to 0
                    Set parameter device_drivers_params:imu1_driver_file_name to libimu_mpu_driver_copy1.so
                    Set parameter device_drivers_params:imu1_description to imu_flight_secondary_mpu9250
                    Set parameter device_drivers_params:imu1_bit_rate to 10000000
                    Set parameter device_drivers_params:imu1_update_rate_hz to 1000
                    Set parameter device_drivers_params:imu1_hw_accel_lpf_hz to 184
                    Set parameter device_drivers_params:imu1_hw_gyro_lpf_hz to 184
                    Set parameter device_drivers_params:imu1_sw_accel_lpf_hz to 0
                    Set parameter device_drivers_params:imu1_sw_gyro_lpf_hz to 0
                    Set parameter device_drivers_params:imu2_driver_file_name to libimu_mpu_driver_copy2.so
                    Set parameter device_drivers_params:imu2_description to imu_camera_video_icm20602
                    Set parameter device_drivers_params:imu2_bit_rate to 10000000
                    Set parameter device_drivers_params:imu2_update_rate_hz to 1000
                    Set parameter device_drivers_params:imu2_hw_accel_lpf_hz to 184
                    Set parameter device_drivers_params:imu2_hw_gyro_lpf_hz to 184
                    Set parameter device_drivers_params:imu2_sw_accel_lpf_hz to 0
                    Set parameter device_drivers_params:imu2_sw_gyro_lpf_hz to 0
                    Set parameter device_drivers_params:imu0_device_path to /dev/spi-1
                    Set parameter device_drivers_params:imu1_device_path to /dev/spi-10
                    Set parameter device_drivers_params:rc0_device_path to /dev/tty-12
                    Set parameter device_drivers_params:esc0_device_path to /dev/tty-5
                    Set parameter device_drivers_params:gnss0_device_path to internal
                    Set parameter device_drivers_params:gnss1_device_path to /dev/tty-9
                    Set parameter device_drivers_params:sonar0_device_path to /dev/tty-7
                    Set parameter device_drivers_params:baro0_device_path to /dev/iic-3
                    Set parameter device_drivers_params:mag0_device_path to /dev/iic-6
                    Set parameter device_drivers_params:vsense0_device_path to /dev/iic-8
                    Set parameter device_drivers_params:isense0_device_path to /dev/iic-8
                    Set parameter device_drivers_params:imu0_client_file_name to libimu_server_2_0.so
                    Set parameter device_drivers_params:imu1_client_file_name to libimu_server_2_0.so
                    Set parameter device_drivers_params:imu2_client_file_name to libimu_server_2_0.so
                    Set parameter rc_receiver_params:is_binding_supported to 1
                    Set parameter rc_receiver_params:bind_mode to 2
                    Set parameter rc_receiver_params:power_ctrl_pin to 117
                    Set parameter rc_receiver_params:bind_pin to 86
                    Set parameter logging_params:buffer_size to 200000
                    Parameter parsing successful [0].
                    Parameter loading successful [1].
                    SNAV Parameter checker succeeded
                    Param parsing took 440568 us
                    Setting clock and bus scaling to 100 100
                    Successfully opened file fiducial_markers.xml [100]
                    Read 3465 characters in file fiducial_markers.xml
                    XML parser successfully parsed document.
                    Found "SnavFiducialMarkers" attribute in xml file.
                    Found "FiducialMarker" of type "AprilTag" in xml file.
                    Setting id to 0
                    Setting pos_x to 0.0
                    Setting pos_y to 0.0
                    Setting pos_z to 0.0
                    Setting R_00 to 0.0
                    Setting R_01 to 1.0
                    Setting R_02 to 0.0
                    Setting R_10 to -1.0
                    Setting R_11 to 0.0
                    Setting R_12 to 0.0
                    Setting R_20 to 0.0
                    Setting R_21 to 0.0
                    Setting R_22 to 1.0
                    Successfully added new fiducial marker.
                    id = 0, type = AprilTag
                    position = (0.000000, 0.000000, 0.000000)
                    rotation:
                      [ 0.000000 1.000000 0.000000 ]
                      [ -1.000000 0.000000 0.000000 ]
                      [ 0.000000 0.000000 1.000000 ]
                    [DEVICE_DRIVERS] :  imu0    .so name = libimu_mpu_driver.so
                    [DEVICE_DRIVERS] :  imu1    .so name = libimu_mpu_driver_copy1.so
                    [DEVICE_DRIVERS] :  imu2    .so name = libimu_mpu_driver_copy2.so
                    [DEVICE_DRIVERS] :  baro0   .so name = libbaro0_bmp280_driver.so
                    [DEVICE_DRIVERS] :  sonar0  .so name = libsonar0_maxbotix_driver.so
                    [DEVICE_DRIVERS] :  mag0    .so name = libmag0_ak0991x_driver.so
                    [DEVICE_DRIVERS] :  mag1    .so name = 
                    [DEVICE_DRIVERS] :  vsense0 .so name = libvsense0_ltc2946_driver.so
                    [DEVICE_DRIVERS] :  isense0 .so name = libvsense0_ltc2946_driver.so
                    [DEVICE_DRIVERS] :  led0    .so name = 
                    [DEVICE_DRIVERS] :  rc0     .so name = librc0_spektrum_driver.so
                    [DEVICE_DRIVERS] :  gnss0   .so name = libgnss0_qc_driver.so
                    [DEVICE_DRIVERS] :  gnss1   .so name = libgnss0_ublox_driver.so
                    [DEVICE_DRIVERS] :  esc0    .so name =  (built-in)
                    [DEVICE_DRIVERS] :  imu0_client .so name = libimu_server_2_0.so
                    [DEVICE_DRIVERS] :  imu1_client .so name = libimu_server_2_0.so
                    [DEVICE_DRIVERS] :  imu2_client .so name = libimu_server_2_0.so
                    SNAV_DRIVERS: Could not open library (libgnss0_qc_driver.so): cannot open libgnss_test_skel.so, 0
                    SNAV_DRIVERS: Successfully opened driver : libgnss0_ublox_driver.so, handle=2958424112
                    SNAV_UBLOX_GNSS_DRIVER: Updated gnss device path param to /dev/tty-9
                    SNAV_UBLOX_GNSS_DRIVER: Updated gnss bit rate param to 9600
                    SNAV_UBLOX_GNSS_DRIVER: Updated gnss update interval to 100000
                    SNAV_UBLOX_GNSS_DRIVER: Updated gnss logging function pointer
                    SNAV_UBLOX_GNSS_DRIVER: thread creation Successful
                    SNAV_UBLOX_GNSS_DRIVER: Starting thread, opening device /dev/tty-9 at baud rate of 9600
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 9600
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 9600
                    UBLOX: gps try 10
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 9600
                    SNAV_DRIVERS: Successfully opened driver : libbaro0_bmp280_driver.so, handle=2958433728
                    SNAV_BMP280_DRIVER: Updated baro device path param to /dev/iic-3
                    SNAV_BMP280_DRIVER: Updated baro bit rate to 400000
                    SNAV_BMP280_DRIVER: Updated baro update interval to 20000
                    SNAV_BMP280_DRIVER: thread creation Successful
                    SNAV_BMP280_DRIVER: Starting thread, opening device /dev/iic-3
                    SNAV_BMP280_DRIVER: Setting i2c slave address 0x76, baud rate 400000
                    SNAV_BMP280_DRIVER: BMP280 verify id: read 88, expected 88: SUCCESS!
                    SNAV_BMP280_DRIVER: BMP280 params 27563 26008 50    37767 -10535 3024 7175 -187 -7 15500 -14600 6000
                    SNAV_BMP280_DRIVER: BMP280 sensor config1 ok!
                    SNAV_BMP280_DRIVER: BMP280 sensor config2 ok!
                    SNAV_BMP280_DRIVER: BMP280 initialization successful!
                    SNAV_DRIVERS: Successfully opened driver : libsonar0_maxbotix_driver.so, handle=2958441200
                    SNAV_SONAR0_MAXBOTIX_DRIVER: Updated sonar device path param to /dev/tty-7
                    SNAV_SONAR0_MAXBOTIX_DRIVER: Updated sonar0_bit_rate param to 9600
                    SNAV_SONAR0_MAXBOTIX_DRIVER: Updated sonar update interval to 100000
                    SNAV_SONAR0_MAXBOTIX_DRIVER: Starting thread, opening device /dev/tty-7 at baud rate of 9600
                    SNAV_SONAR0_MAXBOTIX_DRIVER: Setting baud rate to 9600
                    SNAV_DRIVERS: Successfully opened driver : libvsense0_ltc2946_driver.so, handle=2958442208
                    SNAV_LTC2946_DRIVER: Updated vsense device path param to /dev/iic-8
                    SNAV_LTC2946_DRIVER: Updated isense device path param to /dev/iic-8
                    SNAV_LTC2946_DRIVER: Updated vsense0_bit_rate param to 400000
                    SNAV_LTC2946_DRIVER: Updated isense0_bit_rate param to 400000
                    SNAV_LTC2946_DRIVER: Updated vsense update interval to 20000
                    SNAV_LTC2946_DRIVER: Updated isense update interval to 20000
                    SNAV_LTC2946_DRIVER: thread creation Successful
                    SNAV_LTC2946_DRIVER: Starting thread, opening device /dev/iic-8
                    SNAV_DRIVERS: Driver is already open, returning existing interface (libvsense0_ltc2946_driver.so)
                    SNAV_LTC2946_DRIVER: Setting i2c baud rate 400000
                    SNAV_LTC2946_DRIVER: Updated vsense device path param to /dev/iic-8
                    SNAV_LTC2946_DRIVER: Updated isense device path param to /dev/iic-8
                    SNAV_LTC2946_DRIVER: Updated vsense0_bit_rate param to 400000
                    SNAV_LTC2946_DRIVER: Updated isense0_bit_rate param to 400000
                    SNAV_LTC2946_DRIVER: Updated vsense update interval to 20000
                    SNAV_LTC2946_DRIVER: Updated isense update interval to 20000
                    SNAV_LTC2946_DRIVER: Updated measurement scale to 1000.000000
                    SNAV_LTC2946_DRIVER: ltc2946 config failed!
                    SNAV_LTC2946_DRIVER: LTC2946 initialization FAILED!
                    SNAV_LTC2946_DRIVER: Exiting main thread with code (-1)
                    SNAV_DRIVERS: Successfully opened driver : libimu_mpu_driver.so, handle=2958447488
                    imu0: will use blocking read
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): Updated imu device path param to /dev/spi-1
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): Updated imu bit rate param to 10000000
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): Updated imu to use blocking IO=1
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): Updated imu update interval param to 0
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): Updated enable data buffer to 0
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): Updated imu accel lpf to 184.000000
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): Updated imu gyro lpf to 184.000000
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): thread creation Successful
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): Starting thread, opening device
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): attempting to detect sensor (try #1)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): initializing MPU6050/MPU6500/MPU9250/ICM20602/ICM20948 I2C/SPI driver
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): WHOAMI register 117 is 0x40
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): (expected 0x68->mpu6050, 0x70->mpu6500, 0x71->mpu9250, 0x12->icm20602, 0x47>icm42688)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): mpu6050, mpu9250, icm20602 not detected.. trying icm20948
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): WHOAMI register is 0xEA (expected 0xEA for icm20948)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): ICM20948 detected!
                    SNAV_DRIVERS: Successfully opened driver : libimu_mpu_driver_copy1.so, handle=2958482256
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): Updated imu device path param to /dev/spi-10
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): Updated imu bit rate param to 10000000
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): Updated imu to use blocking IO=0
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): Updated imu update interval param to 1000
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): Updated enable data buffer to 1
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): Updated imu accel lpf to 184.000000
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): Updated imu gyro lpf to 184.000000
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): thread creation Successful
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): Starting thread, opening device
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): attempting to detect sensor (try #1)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): initializing MPU6050/MPU6500/MPU9250/ICM20602/ICM20948 I2C/SPI driver
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): WHOAMI register 117 is 0x40
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): (expected 0x68->mpu6050, 0x70->mpu6500, 0x71->mpu9250, 0x12->icm20602, 0x47>icm42688)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): mpu6050, mpu9250, icm20602 not detected.. trying icm20948
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): WHOAMI register is 0xEA (expected 0xEA for icm20948)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): ICM20948 detected!
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    SNAV_DRIVERS: Successfully opened driver : libimu_mpu_driver_copy2.so, handle=2958499744
                    SNAV_IMU_MPU_DRIVER (): Updated imu device path param to 
                    SNAV_IMU_MPU_DRIVER (): Updated imu bit rate param to 10000000
                    SNAV_IMU_MPU_DRIVER (): Updated imu to use blocking IO=0
                    SNAV_IMU_MPU_DRIVER (): Updated imu update interval param to 1000
                    SNAV_IMU_MPU_DRIVER (): Updated enable data buffer to 1
                    SNAV_IMU_MPU_DRIVER (): Updated imu accel lpf to 184.000000
                    SNAV_IMU_MPU_DRIVER (): Updated imu gyro lpf to 184.000000
                    SNAV_IMU_MPU_DRIVER (): thread creation Successful
                    SNAV_IMU_MPU_DRIVER (): Starting thread, opening device
                    SNAV_IMU_MPU_DRIVER (): Failed to open port. Exiting.
                    SNAV_IMU_MPU_DRIVER (): Exiting main thread with code (-1)
                    SNAV_DRIVERS: Successfully opened driver : librc0_spektrum_driver.so, handle=2958506880
                    SNAV_RC_SPEKTRUM_DRIVER: Updated rc0 device path param to /dev/tty-12
                    SNAV_RC_SPEKTRUM_DRIVER: Updated rc bit rate param to 115200
                    UBLOX: did not get ACK for GPS baud rate setting
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    SNAV_DRIVERS: Successfully opened driver : libmag0_ak0991x_driver.so, handle=2958507600
                    SNAV_MAG0_AK0991x_DRIVER: Updated mag device path param to /dev/iic-6
                    SNAV_MAG0_AK0991x_DRIVER: Updated mag bit rate to 400000
                    SNAV_MAG0_AK0991x_DRIVER: Updated mag update interval to 20000
                    SNAV_MAG0_AK0991x_DRIVER: thread creation Successful
                    SNAV_MAG0_AK0991x_DRIVER: Starting thread, opening device /dev/iic-6
                    SNAV_MAG0_AK0991x_DRIVER: Setting i2c slave address 0x0C, baud rate 400000
                    SNAV_MAG0_AK0991x_DRIVER: AK0991x failed to read ID!!!
                    SNAV_MAG0_AK0991x_DRIVER: AK0991x verify ID failed!
                    SNAV_MAG0_AK0991x_DRIVER: Exiting main thread with code (-2)
                    SNAV_DRIVERS: Successfully opened driver : libimu_server_2_0.so, handle=2958613888
                    SNAV_IMU_SERVER_2_0(0): Updated device description to imu_flight_primary_mpu9250
                    SNAV_IMU_SERVER_2_0(0): Updated sample rate to 500
                    SNAV_IMU_SERVER_2_0(0): Updated accel lpf to 184
                    SNAV_IMU_SERVER_2_0(0): Updated gyro lpf to 184
                    SNAV_IMU_SERVER_2_0(0): Updated buffer size to 100
                    SNAV_IMU_SERVER_2_0(0): Updated position vector to 0.00 0.00 0.00
                    SNAV_IMU_SERVER_2_0(0): Updated rotation matrix to 0.00 1.00 0.00   -1.00 0.00 0.00   0.00 0.00 1.00
                    SNAV_DRIVERS: Driver is already open, returning existing interface (libimu_server_2_0.so)
                    SNAV_IMU_SERVER_2_0(1): Updated device description to imu_flight_secondary_mpu9250
                    SNAV_IMU_SERVER_2_0(1): Updated sample rate to 1000
                    SNAV_IMU_SERVER_2_0(1): Updated accel lpf to 184
                    SNAV_IMU_SERVER_2_0(1): Updated gyro lpf to 184
                    SNAV_IMU_SERVER_2_0(1): Updated buffer size to 100
                    SNAV_IMU_SERVER_2_0(1): Updated position vector to 0.00 0.00 0.00
                    SNAV_IMU_SERVER_2_0(1): Updated rotation matrix to -1.00 0.00 0.00   0.00 1.00 0.00   0.00 0.00 -1.00
                    SNAV_DRIVERS: Driver is already open, returning existing interface (libimu_server_2_0.so)
                    SNAV_IMU_SERVER_2_0(2): Updated device description to imu_camera_video_icm20602
                    SNAV_IMU_SERVER_2_0(2): Updated sample rate to 1000
                    SNAV_IMU_SERVER_2_0(2): Updated accel lpf to 184
                    SNAV_IMU_SERVER_2_0(2): Updated gyro lpf to 184
                    SNAV_IMU_SERVER_2_0(2): Updated buffer size to 100
                    SNAV_IMU_SERVER_2_0(2): Updated position vector to 0.00 0.00 0.00
                    SNAV_IMU_SERVER_2_0(2): Updated rotation matrix to 1.00 0.00 0.00   0.00 1.00 0.00   0.00 0.00 1.00
                    ESC: directions: 1 1 1 1 1 1 1 1
                    Compass calibration file open failure (/dev/fs/compass_calib.txt).
                    IMU calibration file open failure (/dev/fs/imu_linear_calib.txt).
                    Offset calibration file open failure (/dev/fs/offset_calib.txt).
                    Optic flow camera yaw calibration file open failure (/dev/fs/of_camera_yaw_calib.txt).
                    IMU0 Rotation matrix is valid
                    IMU1 Rotation matrix is valid
                    IMU2 Rotation matrix is valid
                    Offset calibration file open failure (/dev/fs/imu1_offset_calib.txt).
                    Offset calibration file open failure (/dev/fs/imu2_offset_calib.txt).
                    IMU calibration file open failure (/dev/fs/imu1_linear_calib.txt).
                    IMU calibration file open failure (/dev/fs/imu2_linear_calib.txt).
                    mag0_R = ...
                    [-1.0000000000,  0.0000000000,  0.0000000000]
                    [0.0000000000,  1.0000000000,  0.0000000000]
                    [0.0000000000,  0.0000000000,  -1.0000000000]
                    MAG0 Rotation matrix is valid
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    UBLOX: did not get ACK for GPS baud rate setting
                    UBLOX: Baud rate change FAILED
                    UBLOX: gps try 9
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 9600
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    UBLOX: did not get ACK for GPS baud rate setting
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): available accel hw lpf (hz) : 6,12,24,50,111,246,473,1209
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): available gyro  hw lpf (hz) : 6,12,24,51,120,152,197,361,12106
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): requested accel and gyro lpf = 184.000000 184.000000
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): requested unsupported accel hw lpf 184.000000
                    mpu_driver_core.cpp mpu_config_icm20948() failed, returned: -1
                    
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): attempting to detect sensor (try #2)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): initializing MPU6050/MPU6500/MPU9250/ICM20602/ICM20948 I2C/SPI driver
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): WHOAMI register 117 is 0x40
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): (expected 0x68->mpu6050, 0x70->mpu6500, 0x71->mpu9250, 0x12->icm20602, 0x47>icm42688)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): mpu6050, mpu9250, icm20602 not detected.. trying icm20948
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): WHOAMI register is 0xEA (expected 0xEA for icm20948)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): ICM20948 detected!
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): available accel hw lpf (hz) : 6,12,24,50,111,246,473,1209
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): available gyro  hw lpf (hz) : 6,12,24,51,120,152,197,361,12106
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): requested accel and gyro lpf = 184.000000 184.000000
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): requested unsupported accel hw lpf 184.000000
                    mpu_driver_core.cpp mpu_config_icm20948() failed, returned: -1
                    
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): attempting to detect sensor (try #2)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): initializing MPU6050/MPU6500/MPU9250/ICM20602/ICM20948 I2C/SPI driver
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): WHOAMI register 117 is 0x40
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): (expected 0x68->mpu6050, 0x70->mpu6500, 0x71->mpu9250, 0x12->icm20602, 0x47>icm42688)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): mpu6050, mpu9250, icm20602 not detected.. trying icm20948
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): WHOAMI register is 0xEA (expected 0xEA for icm20948)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): ICM20948 detected!
                    UBLOX: did not get ACK for GPS baud rate setting
                    UBLOX: Baud rate change FAILED
                    UBLOX: gps try 8
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 9600
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    UBLOX: did not get ACK for GPS baud rate setting
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    UBLOX: did not get ACK for GPS baud rate setting
                    UBLOX: Baud rate change FAILED
                    UBLOX: gps try 7
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 9600
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    UBLOX: did not get ACK for GPS baud rate setting
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): available accel hw lpf (hz) : 6,12,24,50,111,246,473,1209
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): available gyro  hw lpf (hz) : 6,12,24,51,120,152,197,361,12106
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): requested accel and gyro lpf = 184.000000 184.000000
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): requested unsupported accel hw lpf 184.000000
                    mpu_driver_core.cpp mpu_config_icm20948() failed, returned: -1
                    
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): attempting to detect sensor (try #3)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): initializing MPU6050/MPU6500/MPU9250/ICM20602/ICM20948 I2C/SPI driver
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): WHOAMI register 117 is 0x40
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): (expected 0x68->mpu6050, 0x70->mpu6500, 0x71->mpu9250, 0x12->icm20602, 0x47>icm42688)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): mpu6050, mpu9250, icm20602 not detected.. trying icm20948
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): WHOAMI register is 0xEA (expected 0xEA for icm20948)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): ICM20948 detected!
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): available accel hw lpf (hz) : 6,12,24,50,111,246,473,1209
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): available gyro  hw lpf (hz) : 6,12,24,51,120,152,197,361,12106
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): requested accel and gyro lpf = 184.000000 184.000000
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): requested unsupported accel hw lpf 184.000000
                    mpu_driver_core.cpp mpu_config_icm20948() failed, returned: -1
                    
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): attempting to detect sensor (try #3)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): initializing MPU6050/MPU6500/MPU9250/ICM20602/ICM20948 I2C/SPI driver
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): WHOAMI register 117 is 0x40
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): (expected 0x68->mpu6050, 0x70->mpu6500, 0x71->mpu9250, 0x12->icm20602, 0x47>icm42688)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): mpu6050, mpu9250, icm20602 not detected.. trying icm20948
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): WHOAMI register is 0xEA (expected 0xEA for icm20948)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): ICM20948 detected!
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    UBLOX: did not get ACK for GPS baud rate setting
                    UBLOX: Baud rate change FAILED
                    UBLOX: gps try 6
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 9600
                    ESC: Number of feedback packets (expected 15) from each ESC ID: 0 0 0 0 0 0 0 0
                    ESC: trying esc 0 version query (attempt 0)
                    ESC: trying esc 0 version query (attempt 1)
                    ESC: trying esc 0 version query (attempt 2)
                    ESC: trying esc 0 version query (attempt 3)
                    ESC: trying esc 0 version query (attempt 4)
                    ESC: trying esc 1 version query (attempt 0)
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    ESC: trying esc 1 version query (attempt 1)
                    ESC: trying esc 1 version query (attempt 2)
                    ESC: trying esc 1 version query (attempt 3)
                    ESC: trying esc 1 version query (attempt 4)
                    ESC: trying esc 2 version query (attempt 0)
                    ESC: trying esc 2 version query (attempt 1)
                    ESC: trying esc 2 version query (attempt 2)
                    ESC: trying esc 2 version query (attempt 3)
                    ESC: trying esc 2 version query (attempt 4)
                    ESC: trying esc 3 version query (attempt 0)
                    ESC: trying esc 3 version query (attempt 1)
                    ESC: trying esc 3 version query (attempt 2)
                    ESC: trying esc 3 version query (attempt 3)
                    ESC: trying esc 3 version query (attempt 4)
                    ESC: SW versions : -1 -1 -1 -1 -1 -1 -1 -1
                    ESC: HW versions : -1 -1 -1 -1 -1 -1 -1 -1
                    ESC: Unique ids : 0 0 0 0 0 0 0 0
                    SNAV_RC_SPEKTRUM_DRIVER: thread creation Successful
                    SNAV_RC_SPEKTRUM_DRIVER: Starting thread, opening device /dev/tty-12 at baud rate of 115200
                    SNAV_RC_SPEKTRUM_DRIVER: Setting baud rate to 115200
                    SNAV_RC_SPEKTRUM_DRIVER: Done init.
                    UBLOX: did not get ACK for GPS baud rate setting
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    IMU0 read error. total number of errors = 50
                    UBLOX: did not get ACK for GPS baud rate setting
                    UBLOX: Baud rate change FAILED
                    UBLOX: gps try 5
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 9600
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): available accel hw lpf (hz) : 6,12,24,50,111,246,473,1209
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): available gyro  hw lpf (hz) : 6,12,24,51,120,152,197,361,12106
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): requested accel and gyro lpf = 184.000000 184.000000
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): requested unsupported accel hw lpf 184.000000
                    mpu_driver_core.cpp mpu_config_icm20948() failed, returned: -1
                    
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): unable to initialize imu
                    SNAV_IMU_MPU_DRIVER (/dev/spi-1): Exiting main thread with code (-2)
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): available accel hw lpf (hz) : 6,12,24,50,111,246,473,1209
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): available gyro  hw lpf (hz) : 6,12,24,51,120,152,197,361,12106
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): requested accel and gyro lpf = 184.000000 184.000000
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): requested unsupported accel hw lpf 184.000000
                    mpu_driver_core.cpp mpu_config_icm20948() failed, returned: -1
                    
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): unable to initialize imu
                    SNAV_IMU_MPU_DRIVER (/dev/spi-10): Exiting main thread with code (-2)
                    IMU0 read error. total number of errors = 100
                    UBLOX: did not get ACK for GPS baud rate setting
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    UBLOX: did not get ACK for GPS baud rate setting
                    UBLOX: Baud rate change FAILED
                    UBLOX: gps try 4
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 9600
                    IMU0 read error. total number of errors = 150
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    UBLOX: did not get ACK for GPS baud rate setting
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    IMU0 read error. total number of errors = 200
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    UBLOX: did not get ACK for GPS baud rate setting
                    UBLOX: Baud rate change FAILED
                    UBLOX: gps try 3
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 9600
                    IMU0 read error. total number of errors = 250
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    UBLOX: did not get ACK for GPS baud rate setting
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    IMU0 read error. total number of errors = 300
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    UBLOX: did not get ACK for GPS baud rate setting
                    UBLOX: Baud rate change FAILED
                    UBLOX: gps try 2
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 9600
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    IMU0 read error. total number of errors = 350
                    UBLOX: did not get ACK for GPS baud rate setting
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    IMU0 read error. total number of errors = 400
                    UBLOX: did not get ACK for GPS baud rate setting
                    UBLOX: Baud rate change FAILED
                    UBLOX: gps try 1
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 9600
                    SNAV_UBLOX_GNSS_DRIVER: Setting baud rate to 230400
                    IMU0 read error. total number of errors = 450
                    

                    Thanks for your help!!
                    Best,
                    Rui

                    1 Reply Last reply Reply Quote 0
                    • Alex KushleyevA
                      Alex Kushleyev ModalAI Team
                      last edited by

                      It looks like you are using a snav_params file which was used for a different (older) board with a different IMU (mpu9250). In your case, both IMUs are detected as newer icm20948 and you are trying to set accel/gyro low pass filter settings which are not supported by this IMU. You can choose the setting that is close to what you need from available options:

                      SNAV_IMU_MPU_DRIVER (/dev/spi-10): attempting to detect sensor (try #2)
                      SNAV_IMU_MPU_DRIVER (/dev/spi-10): initializing MPU6050/MPU6500/MPU9250/ICM20602/ICM20948 I2C/SPI driver
                      SNAV_IMU_MPU_DRIVER (/dev/spi-10): WHOAMI register 117 is 0x40
                      SNAV_IMU_MPU_DRIVER (/dev/spi-10): (expected 0x68->mpu6050, 0x70->mpu6500, 0x71->mpu9250, 0x12->icm20602, 0x47>icm42688)
                      SNAV_IMU_MPU_DRIVER (/dev/spi-10): mpu6050, mpu9250, icm20602 not detected.. trying icm20948
                      SNAV_IMU_MPU_DRIVER (/dev/spi-10): WHOAMI register is 0xEA (expected 0xEA for icm20948)
                      SNAV_IMU_MPU_DRIVER (/dev/spi-10): ICM20948 detected!
                      SNAV_IMU_MPU_DRIVER (/dev/spi-10): available accel hw lpf (hz) : 6,12,24,50,111,246,473,1209
                      SNAV_IMU_MPU_DRIVER (/dev/spi-10): available gyro  hw lpf (hz) : 6,12,24,51,120,152,197,361,12106
                      SNAV_IMU_MPU_DRIVER (/dev/spi-10): requested accel and gyro lpf = 184.000000 184.000000
                      SNAV_IMU_MPU_DRIVER (/dev/spi-10): requested unsupported accel hw lpf 184.000000
                      mpu_driver_core.cpp mpu_config_icm20948() failed, returned: -1
                      

                      You could change your device_driver_params to something like this:

                      <device_drivers_params>
                          <param name="imu0_hw_accel_lpf_hz"     value="50"/>
                          <param name="imu0_hw_gyro_lpf_hz"      value="120"/>
                          <param name="imu1_hw_accel_lpf_hz"     value="50"/>
                          <param name="imu1_hw_gyro_lpf_hz"      value="120"/>
                      </device_drivers_params>
                      

                      You probably don't want such high bandwidth as 184, as the data could be noisy, depending on the vibration characteristics of your drone.

                      1 Reply Last reply Reply Quote 0
                      • L
                        llgmrl
                        last edited by

                        I see! Yes after changing this params I can calibrate the imu now with snav!! Thanks for your help!

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Powered by NodeBB | Contributors