Run SITL simulation without GPS

I am currently doing a SITL simulation for a model similar to that of the iris example. I removed the gps plugin from the .sdf model since I don’t want to use gps navigation. I am able to arm but takeoff is denied:

pxh> WARN  [commander] Takeoff denied! Please disarm and retry	
INFO  [tone_alarm] notify negative
INFO  [commander] Armed by internal command	
WARN  [commander] Failsafe enabled: No manual control stick input	
INFO  [commander] Failsafe mode activated	
INFO  [tone_alarm] battery warning (fast)
INFO  [commander] Disarmed by auto preflight disarming	
INFO  [commander] Failsafe mode deactivated

What other changes are necessary to be done so that navigation can occur without GPS?

That’s a quite interesting question! Few days ago I reached the same trouble… Maybe @LorenzMeier could answer to this question, because i didn’t find any possible answer…!!

As the log shows, the failsafe is triggered not due to the gps missing but because there is no manual input.

Since there us no gps, you can only fly in manual flight modes

Hi! thanks for the response.
So I understand that GPS is required for auto navigation. However, is it possible for the navigation algorithms to use the IMU measurements as a substitute of the GPS? In that way, no-GPS navigation could be performed since the IMU is providing position data.

No, IMU provides acceleration and angular rates and therefore this cannot be a substitute of gps measurements since your position is not observable.

Other alternatives could be that you replace gps with other substitutes such as a vision based position estimation (e.g.VIO)


So isn’t the navigation algorithm integrating the acceleration measurements from the IMU to obtain the position? I understood so…
In that case, if we provide the relevant initial conditions, couldn’t it be possible to use the IMU data as a gps-substitute?

Thanks @Jaeyoung-Lim i am quite interested in this topic too !! In my case im trying to fly a tricopter with altimeter and one IMU, i am a very beginner in this world… would be that possible??

@Xun @JuSevRo the position error of an unaided inertial navigation system (INS) is exponential and unbounded. It is only usable for more than a couple of seconds after initialization when using high grade IMUs. You can find a good read here: What is an Inertial Navigation System? · VectorNav
(The Pixhawks usually contains “consumer grade” IMUs)


Thanks for the reply @bresch.
Lets say I want to use a navigation grade IMU. And also an altimeter. Is there any way that those sensors provide enough information for navigation, provided I modify the control algorithms? Can I bypass the presence of GPS check for take off? What needs to be changed in the code to do this?