Waypoint Navigation Without GPS Lock


I am able to get a Bebop2 drone to follow GPS waypoints using a Mavlink file. I upload the waypoints using:

curl -T test.mavlink

My code then requests the drone to follow the waypoints described by this file. Everything works well. I am also able to transfer my code to a real Bebop2 drone successfully. I used the same process (with appropriate IP address changes) and was able to fly the Bebop2 drone outdoors and have it follow GPS waypoints.

However, when I try this system indoors, the GPS returns the values 500 (which I understand to be no GPS lock). When I request it follow the waypoints described in the Mavlink file, nothing happens.

I have two questions:

  1. Are there anyways to send “fake” GPS data to the drone? (I have access to a 200Hz high accuracy motion tracking system Vicon so creating a GPS message can be done, I just don’t know how to send it to the drone).
  2. Are there anyways to fly the drone autonomously without a GPS lock, without having to create my controllers? (My research involves developing testing techniques, and I do not want to test code which I wrote.)