moveTo altitude


I tried to use the moveTo to return to my take off position, but it moved to the wrong altitude. Both the latitude and the longitude was very precise, but it ended up ~15m above the ground. From the documentation i have understood it as the moveTo function refers to altitude above sea level, same as the GpsLocationChanged returns.

The height I return to is approximately the double of the take off positions altitude above sea level. Have I misunderstood and the frame of reference of the moveTo-function and moveTo refers it’s height to the altitude of the take off position?

A part of the log is displayed below:

09/07/2019 14:48:03.421178	_recv_cmd_cb                    ardrone3.PilotingState.moveToChanged(latitude=59.85470052294315, longitude=10.485001427393343, altitude=14.0, orientation_mode=MoveToChanged_Orientation_mode.NONE, heading=-0.10540332645177841, status=MoveToChanged_Status.DONE)
Current pos after adjusting height: (59.854700602287465, 10.485001046546458, 28.700000762939453) home pos: (59.85470066666673, 10.48500000000046, 14.0)

The Current pos after adjusting height is taken from the GpsLocationChanged right after the first line shows that the moveTo has completed. The home pos is retrieved the same way, but before takeoff. As you can see, the latitude and longitude is rather precise, but the altitude is twice as high as it should be.

Parrot anafi
Ubuntu 18.04
Python 3.6.1
Olympe 1.0.1

1 Like


The documentation of the moveTo command seems to be outdated. The altitude parameter is actually the height of the drone from its last take off position.

1 Like