Why does the offboard-functionality require GPS? "Correct workaround"?

If I understand it correctly the use of offboard in python-mavsdk requires a gps-lock. I have seen different people talk about workarounds but I have not seen a more “official” way of doing it.

So:

  • Why does the offboard functionality requires GNSS? The point is to let someone else to make the calls - for example drone.offboard.set_velocity_ned() or drone.offboard.set_velocity_body()
  • As far as I can see (but haven’t tested it) the c++ version does not require gps lock - why is that?
  • Is there any recommended way around this?

I’m asking because the requirement goes against what I understand is the goal of the functionality and I want to see what I’m missing.

I have a control system very well external to the FC that keeps tracks of the drone with it’s own coordinate system and I want to fly indoors where I cannot get a gps-lock.