HereFlow + GPS behaviour

Hello everyone,

I have recently installed in my drone the HereFlow sensor combined with a LW20/c LiDAR and I have performed several tests indoors and outdoors with the GPS disabled (EK2F_GPS_TYPE=3).

The results obtained so far are great. The drone has been flown in loiter mode during the tests and it has been able to maintain the precission precisely.

Now after these tests I’m wondering how the HereFlow when both, the GPS and the OF sensor, are enabled at the same time in loiter mode. Is the positioning information going to be taken exclusively from the GPS, HereFlow or both at the same time?

In the case of only one of them working, if it’s using the GPS and suddenly we enter into a zone of low GPS coverage, is the HereFlow going to take over and start to be sensor used for the positioning?

Last of all, I would like to know if there is any “basic” configuration in MissionPlanner that allows performing flights in indoors and outdoors without having to change any settings using the GPS + HereFlow. Until now, everytime I want to flight indoors, I have to uncheck some preArms related to the GPS in order to be able to arm the vehicle, due to the bad GPS health indoors. I guess leaving the GPS preArms unchecked could work but it’s a solution I would like to avoid if there is another way of doing it.

Best regards.

The ardupilot will blend flow sensor and GPS into the EKF. EKF will reject any bad signal.

actually the EKF is blending both signals and will progessively reject a bad Gps and use the opticalflow as the velocity estimator (with IMU as state estimators as well). When Gps gets back to normal the EKF will mix it back.

But I guess this only works when loitering.

For navigation, the developers from ardupilot are working on the GPS / non-GPS transition
https://ardupilot.org/plane/docs/common-non-gps-to-gps.html

Hi, thanks for the quick reply!

Knowing that the EKF is blending both signals and rejecting the bad ones for the positioning in loiter, is there any way to know how the EKF makes that signal mixing and generates the solution for the position ,or any place where we can check the sinals received at the EKF and know which ones are being used?

You may check how the EKF works from ardupilot wiki
https://ardupilot.org/dev/docs/ekf.html

I am not sure how to check the EKF source. Maybe you can find some clue in their example lua script, because there is a function that lets you to select source.

Okay, I will check it out, thanks!