GNSS-free navigation in SITL - why is my copter still flying perfect trajectories without (?) GPS?

Hi everyone!

I am relatively new to Ardupilot (started diving in < a month ago or so) and now trying to implement GNSS-free navigation by myself using a companion computer and custom camera. As the first step, I wanted to completely disable GPS and see how the copter would fly with IMU, compass and baro only however I am facing issues already on this step: my copter is flying perfectly straight trajectories in Guided mode as if it is using GPS.

What I’ve done so far:

  1. configured my vehicle EKF_ sources as described in this guide
  2. configured simulation to not use GPS, following advice in this topic
  3. used this guide on setting up No-GPS navigation using T256 camera as an inspiration and wrote a simple script which in the loop sends VISION_POSITION_DELTA with 0 placed everywhere
  4. studied this precision landing repository, which seemed to me as potentially meaningful, but it seems to be outdated and eventually SITL no longer supports that commands.

None of the steps worked and I still got perfect trajectories. My full param list looks as follows
mav.parm (29.4 KB)

I would appreciate any help, advice on resources to read or direction where to go, if I doing smth wrong, since I am digging into this problem second day in a row and don’t feel like coming closer.

Thanks in advance!

You also need to set AHRS type to 3 to use simulated EKF3, the default value is to use sim state directly.

Indeed it helped, thanks a lot!