PreArm: need position Estimate with good HDOP, no glitch with and without compass (GSF)

I’m encountering the error “PreArm: Need position estimate” without finding a solution.

The EKF indicates that the horizontal position is not enabled.

This is a nano-drone (~250g) equipped with a homemade flight controller running Ardupilot 4.6.0 Beta 4.

I tested, among other things, without success:

  • wait over an hour
  • change the values ​​of the GPS1_GNSS_MODE parameter;
  • Since the compass data seemed unreliable, I also wanted to test in GSF mode (EK3_SRC1-YAW=8 and disabling compass);
  • switch to a single IMU (FC has 2);
  • Increase the value of the EK3_POSNE_M_USE parameter to 10 as much as possible;
  • 3D (Re)calibration;
  • Disable FastSampling IMUs
  • Perform SET_HOME and EKF Origin from Mission Planner;

This is the parameter file :
20250821_quad.param (16.2 KB)

And the disarmed log :
https://drive.google.com/file/d/1dmJGk5jg3jSS_UARyauqaZntCpEOdRwI/view?usp=sharing

Does anyone have any ideas where this might be coming from?

Update to ArduPilot 4.6.2, that version has some bugs.
And get a better un-obstructed sky view

Thank you…

We tried also in a field, with a large non-obstructed sky view, without any changes.

We’ll give a chance to the 4.6.2, but next week, we are in holidays… I’ll update this begin of september.

Hello,

We upgraded to 4.6.2 without any more success.

I uploaded the new log file :

If you can have a look and tell me what is wrong because I’m totally stuck here !

Thanks a lot

From my understanding this can’t work on a stationary copter as the initial alignment between the true north earth frame and the copter frame is missing in GSF mode.

1 Like

I think about that, but I have the same behaviour with GSF mode and compass mode.

Because we build a very small copter, we have only an internal compass that we can’t rely on.

But I think ths GSF mode should work for arming the copter. For example assuming the copter point North to align body and earth frame. Then on the first move recalibrate every thing with the GPS course.
Am I wrong ?

Well, perhaps you’re right…
I tested again with the compass enabled and I’m able to arm…

The GSF mode would be a very nice alternative to the compass for my use case.
I think I will arm and takeoff with compass, and the switch to the EKF3_SRC2 with the YAW ource configured with GSF.

Do you think it could work ?

@Juergen-Fahlbusch Nice truck :wink:

As a copter can move in any direction how does it know if it is a true north direction. As long as the copter is stationary this isn’t solveable with just a single GPS no additional information.
Did you read this information: Compass-less Operation — Copter documentation

1 Like

You can first try to calibrate your compass by using magfit tool. But I don’t have any self experience

Yes I read this information…
But didn’t understand that it shouldn’t work with a static copter.

But a copter doesn’t have to know its direction to takeoff. It can rely on the gyros for its stability and then when it moves on the GPS course to align the body frame with the earth one.

I didn’t know about the Magfit tool… I’ll give it a chance.
But I really think that I can’t rely my compass and need a way to configure Ardupilot to not use it.

Hm, on copter or helicopter not always the nose (body frame) is pointing in the same direction as the movement starts.

Yes, but with the accelerometers we are able to know the direction of the movement compared to the body frame

Sure, but this needs an acceptable movement with not to slow speed if only GPS based.

1 Like