Boat Disarms After Motors Used

Our boat seems to disarm every time it bobbles in the water from a jolt of the motors or even just bobbing it up and down. Using a standard Pixhawk with Bluerobotics ESCs/thrusters skid steering.

We occasionally get the yellow/red flashing on the Here3 GPS or the red/blue for EKF? I believe.

I tried a bunch of different configurations to get it to stop like turning off failsafes, auto arming, changing the EKF2->EKF3 but nothing seems to work so far.

I’ve pasted the bin file below.

https://drive.google.com/file/d/1GcOnIbkLbTd5nK2w1TM8UI4vlbX_-tl-/view?usp=sharing

Params here:
current_params.param (16.1 KB)

I used to have a lot of EKF issues whenever actually using the boat in water.

Some things to try:

  1. disable automatic gyroscope calibration ( INS_GYR_CAL )
  2. raise the EKF tolerance ( FS_EKF_THRESH ) to 1.0, relaxed
  3. In the field before you launch the boat, perform a barometric pressure calibration then reboot. This one is very anecdotal, but… it always seems to help me out

Keep us updated. Hopefully I or someone else can help you out. I am planning to compile a master checklist of EKF-related fixes based on people’s experiences in this forum.

1 Like

I didn’t see any magnetic interference issues in the logs, I also did an auto analysis just in case and I don’t see anything too crazy. Alright so I tried what you mentioned @ekrell1 and I actually already had the FS_EKF_THRESH = 1. I tried the INS_GYR_CAL and even set EKF_GYRO_P_NSE = 0.1

The only EKF status that is off (red) is occasionally the velocity_horiz and the pos_horiz_abs.

In the logs the errors I see are EKFCHECK-2 and EKFINAV-1.

Log File C:\Users\Zach\AppData\Local\Temp\tmp9C7.tmp.log
Size (kb) 18513.455078125
No of lines 247812
Duration 0:05:44
Vehicletype ArduRover
Firmware Version V4.0.0
Firmware Hash 0e52bafa
Hardware Type
Free Mem 0
Skipped Lines 0
Test: Autotune = NA -
Test: Brownout = UNKNOWN - No CTUN log data
Test: Compass = GOOD - mag_field interference within limits (13.81%)

Test: Dupe Log Data = GOOD -
Test: Empty = GOOD -
Test: Event/Failsafe = GOOD -
Test: GPS = GOOD -
Test: IMU Mismatch = NA -
Test: Motor Balance = NA -
Test: NaNs = FAIL - Found NaN in STER.LatAcc
Found NaN in POS.RelOriginAlt
Found NaN in THR.Speed

Test: OpticalFlow = FAIL - ‘FLOW_FXSCALER’ not found
Test: Parameters = GOOD -
Test: PM = NA -
Test: Pitch/Roll = NA -
Test: Thrust = NA -
Test: VCC = UNKNOWN - No CURR log data

How exactly do you perform a baro pressure calibration? Couldn’t find much docs on it. I think there’s one in the Pixhawk but I’m not sure what you mean in detail. @ekrell1

Another update - I restarted from scratch with the firmware. When I try to do ‘Onboard Mag Calculation’ nothing happens when I spin around to calibrate as usual. Maybe something internally on my board isn’t working and is the source of the issues.

Well, I am using QGroundControl where it is an option under Sensors.
https://docs.qgroundcontrol.com/master/en/SetupView/sensors_ardupilot.html
Scroll down to Pressure/Barometer .
I suspect that there is something similar in Mission Planner.

Something similar happened to me a few months ago! I was lucky to find another Pixhawk lying around in the lab. I am using (old) Pixhawk Mini: https://docs.px4.io/v1.9.0/en/flight_controller/pixhawk_mini.html

I was spinning around and, like you, nothing was happening. Eventually I found that QGroundControl was not finding any compass. I had been using that Pixhawk without issue for months.

Hey @ekrell1 thanks for the help. We switched out our pixhawk’s but now our Here3 GPS is doing the following flashing cyan blue once: https://www.youtube.com/watch?v=PEFedeusv4M&feature=emb_title (this guy’s in the vid is a Here2). I would test if the new pixhawk works but I won’t know until I fix our GPS now

Edit**** I fixed the GPS, will test tomorrow morning!

Alright its fixed now finally… although now we seem to have two problems.

  1. it disarms whenever there is a large jerk or I let off on the thrust

  2. When the drone is in servo1 = ground steering 26 and servo3 = thrust 72 it works fine in manual mode. I then put it into auto mode with a mission to test and it doesn’t go so well. It goes the completely wrong direction.

Thus I figured it need differential thrust anyway bc that’s what its designed for. (two Bluerobotics thrusters) We put it into thrustright 73 and thrustleft 74 and the stick controls become off by around 90 degrees. ie. whenever I move the stick to the right it goes forward. Whenever I move the stick forward it spins in a circle. I presume these are tuning issues with the PID? I tried messing with the PI and FF but it didn’t seem to change much.

https://drive.google.com/drive/folders/1PVyXe2xdYay4SuVhBQR7nbJjF5q63yap?usp=sharing