ESC failure error after SDK 1.1.2 upgrade
-
After having some issues with voxl-esc previous issue and recently upgrading to SDK 1.1.2, I am now facing an issue where when I try to arm I get the following in QGC:
My output from voxl-esc spin:
Finished! [1702925954.747698] TX=508, RX=505 packets, RX CRC ERRORS=0 Average RPMs: 0.00 0.00 0.00 2996.27 Average RPM deviation between ESCs : 2996.27
My output from voxl-esc scan:
INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 2000000, protocol: firmware INFO: Verifying ESC Params.. INFO: ESC Information: INFO: --------------------- ID : 0 Board : version 37: ModalAi 4-in-1 ESC (M0134-1) UID : 0x2033303852465719004F002E Firmware : version 39, hash d4fe8e3d Bootloader : version 183, hash b4fa2cf8 Params : ../voxl-esc-params/mavic_mini_2/mavic_mini_2.xml ID : 1 Board : version 37: ModalAi 4-in-1 ESC (M0134-1) UID : 0x20333038524657190050003B Firmware : version 39, hash d4fe8e3d Bootloader : version 183, hash b4fa2cf8 Params : ../voxl-esc-params/mavic_mini_2/mavic_mini_2.xml ID : 2 Board : version 37: ModalAi 4-in-1 ESC (M0134-1) UID : 0x203330385246571900460047 Firmware : version 39, hash d4fe8e3d Bootloader : version 183, hash b4fa2cf8 Params : ../voxl-esc-params/mavic_mini_2/mavic_mini_2.xml ID : 3 Board : version 37: ModalAi 4-in-1 ESC (M0134-1) UID : 0x2033303852465719004D002C Firmware : version 39, hash d4fe8e3d Bootloader : version 183, hash b4fa2cf8 Params : ../voxl-esc-params/mavic_mini_2/mavic_mini_2.xml --------------------- successfully pinged ESCs
My output from voxl-esc detect:
Received standard error event 2 ESC detected: ModalAi 4-in-1 ESC (M0134-1)
Also when I try to run any of the below:
./voxl-esc-verify-params.py ./voxl-esc-scan.py ./voxl-esc-calibrate.py
I get:
Detected Python version : 3.6.9 (default, Mar 10 2023, 16:46:00) [GCC 8.4.0] Found voxl-esc tools bin version: 1.4 VOXL Platform: M0054 Detected RB5 Flight, VOXL2 M0054 or M0104! INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 2000000 Sending library name request: libslpi_qrb5165_io.so Received standard error event 2 Sending initialization request Received standard error event 2 Couldn't configure flight_controller sensor ERROR: fc_sensor_initialize failed ERROR: Failed to initialize slpi ERROR: Encountered error while initializing bus 12 ERROR: voxl_uart_flush: Bus '12' is not initialized ERROR: voxl_uart_read_bytes: Bus '12' is not initialized ERROR: voxl_uart_write: Bus '12' is not initialized ERROR: voxl_uart_write: Bus '12' is not initialized ERROR: voxl_uart_read_bytes: Bus '12' is not initialized ERROR: voxl_uart_write: Bus '12' is not initialized ERROR: voxl_uart_write: Bus '12' is not initialized ERROR: voxl_uart_read_bytes: Bus '12' is not initialized ERROR: voxl_uart_write: Bus '12' is not initialized ERROR: voxl_uart_write: Bus '12' is not initialized ERROR: voxl_uart_read_bytes: Bus '12' is not initialized ERROR: voxl_uart_write: Bus '12' is not initialized ERROR: voxl_uart_write: Bus '12' is not initialized ERROR: voxl_uart_read_bytes: Bus '12' is not initialized ERROR: voxl_uart_read_bytes: Bus '12' is not initialized ERROR: voxl_uart_read_bytes: Bus '12' is not initialized ERROR: voxl_uart_read_bytes: Bus '12' is not initialized ERROR: voxl_uart_flush: Bus '12' is not initialized ERROR: voxl_uart_close: Bus '12' is not initialized INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 250000
And then it hangs there. I saw a similar issue here.
My model is StarlingV2 with SKU MRB-D0005-4-V2-C6
-
@smilon , when you are running the wrapper
voxl-esc
, it will automatically stop px4 if it is running, however if you are running the python scripts directly, this does not happen. Can you please try stopping px4 manually before running runningvoxl-esc-*.py
scripts:systemctl stop voxl-px4
-
@Alex-Kushleyev Hi, indeed they run just fine. Also performed a calibration and everything returns fine. However, when I boot up the drone I get a "sad" sound from the ESC's, much quietter than I used to get previously. Any ideas how to proceed?
-
I ran a voxl-configure-mpa and while im still getting quietter sounds from ESC, the Sentinel seems now fully functional. A lot of parameters were for some reason N/A and got filled in by this operation.
-
@smilon , I am glad that you got it working. I am a bit unclear about the following:
- "Also performed a calibration and everything returns fine" -- which calibration you had to run?
- "A lot of parameters were for some reason N/A and got filled in by this operation." -- are you talking about PX4 parameters?
Regarding the motor sounds getting quieter, perhaps you had much older ESC params which had louder sounds - I believe we lowered the volume so that it's not too loud. When in doubt, the
voxl-esc-scan.py
andvoxl-esc-verify-params.py
scripts can verify that your ESC is configured properly. -
@Alex-Kushleyev Hi Alex, to clarify what you asked:
-
For ESC calibration I ran the voxl-esc-tools/voxl-esc-calibrate.py. This was not something I was prompted to do but since all of the voxl-esc scan/detect / voxl-esc-verify-params.py tools returned fine and was still getting "ESC failure" from QGC, I wanted to make sure that my ESC's are calibrated correctly.
-
The parameters I refer to were PX4 params. Unfortunately I have not captured the output but they were several "ESC_" prefixed params. From my understanding, after flashing SDK 1.1.2 I had to run voxl-esc-calibrate.py and then voxl-configre-mpa again in order to register them properly to PX4.
Thank you!
-
-
@smilon ,
voxl-esc-calibrate.py
is a script that runs a test procedure in a single motor (with propeller mounted) to calibrate the behavior of the motor / propeller. This procedure only needs to be run once if you change motor or propeller type from a default configuration. The output of this script is just 3 coeficients a1, a2, a3 which you would need to manually enter into an ESC calibration xml file and then upload the xml paramer file to the ESC. Full details about the ESC calibration (when to do it and how) can be found here : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-tools/calibration.md?ref_type=headsIf you are using standard motors and propellers (one of standard ModalAI drones), you do not need to run this calibration procedure.
It sounds like you got it working, I believe
voxl-configre-mpa
took care of it. You can see whatvoxl-configure-mpa
typically does here : https://docs.modalai.com/voxl-configure-mpa/ , which includes runningvoxl-esc
to upload the latest firmware and params for a specific vehicle. -
@Alex-Kushleyev I am now experiencing this same issue. Updated to SDK 1.1.2 recently on our custom air vehicle and now in QGC I received the failsafe for ESC Failure. I am able to run
voxl-esc-scan.py
, and even upload firmware and params. I have other systems running on SDK 1.0 with the same firmware and params and the work fine. Should I do thevoxl-configure-mpa
as mentioned above? -
you should check your PX4 params on the fresh system with 1.1.2, specifically the params related to the ESC and compare to those on your working SDK 1.0 (which have the same firmware and ESC params).
My guess either missing PX4 params to enable the modalai ESC driver or incorrect baud rate for ESC in PX4 params
voxl-configure-mpa
script could help getting everything in order, however since you have a custom vehicle, our standard configurator script would not be able to set those custom px4 params for your vehicle. -
@Alex-Kushleyev All the
voxl_esc
params are the same in QGC. -
@Alex-Kushleyev I even tried to flash the sentinel params in QGC just to make sure I hadn't missed something and I am having the same issue.
-
Are the leds on ESC blinking while you run
voxl-px4
? they indicate communication to the host (VOXL2)Also, some helpful commands:
px4-listener esc_status
Also, if you run
voxl-px4
in foregroundsystemctl stop voxl-px4
voxl-px4 -d
then you can open another terminal / adb and run:
px4-qshell voxl_esc status
- this will print status of
voxl esc
driver and the params (in the window wherevoxl-px4 -d
is running)
-
@Alex-Kushleyev I ran
voxl-configure-mpa
and was able to get the ESC to function again. Of course it caused other issues due to resetting files and params so I am now trying to work through setting everything back up. Im not sure what would have caused the mpa to need to be reconfigured because I had just done that obviously with the flash of SDK 1.1.2. -
This post is deleted!