Copter take-off without GPS

Hi there.

I’m building an autonomous and amphibious quadcopter capable of submerging itself underwater, resurfacing, and performing take-off from the water’s surface, following a pre-programmed routine in that exact order. The quadcopter will submerge itself and maintain its depth with a ballast system, which I plan to control with Lua scripts stored on the flight controller’s SD card.

As the take-off is a proof of concept, I hope to achieve a simple altitude rise of ~1m before landing in the water once again. I want to avoid using GPS / Optical Flow and rely just on the AHRS, for budgetary reasons. I’m currently using SITL to wrap my head around ArduCopter.

My question is: can I use the takeoff command with only AHRS and barometer? And in which mode? I’ve disabled the GPS in SITL, temporarily disabled all arming checks, and disabled EKF failsafes also.

In GUIDED mode, the copter fails to arm, with the message AP: PreArm: Need Position Estimate.
In STABILIZE mode, the copter does arm, but then fails to take off: Got COMMAND_ACK: NAV_TAKEOFF: FAILED

Do Not, never ever disable arming checks. Just arm and take off in stabalize.

Hi amilcarlucas, thanks for getting back to me. I’ve re-enabled arming checks.

I’m very new to Ardupilot, so forgive me if this is a dumb question - whenever I attempt the takeoff command, it fails and the copter disarms. Is there some parameter I have to configure, given that there’s no GPS, only AHRS and barometer?


If automatic take-off can’t be achieved without GPS, I’ve also tried sending velocity x y z and rc all 1000 commands to see if I can get the copter to move once armed, but nothing happens and no error is thrown - it just waits 10 seconds and disarms.

Like I said above: use stabilize flight mode to take off.

Hi amilcarlucas, the copter is in STABILIZE mode when I send the take-off command, as shown in the images I sent. It only results in a NAV_TAKEOFF:FAILED message.

raise the throttle to 1500
rc 3 1500

Thanks amilcarlucas, this worked. Your help is much appreciated.

Did you have any python code or anything else by which you taked off without gps or you just did that by using terminal by giving rc commands…??