hi I am using parrot olympe sdk in Python to pilot a anafi drone
I am handling a moveByEnd event to know how much exactly the drone moved
its returns the right data when the error = OK I mean when it finishes the last move
but when it is interrupted it gives me the wrong values its not accurate ?? anything could be done?
is there any other way to know how much the drone moved
@olympe.listen_event()
def onAnyEvent(self, event, scheduler):
if isinstance(event, olympe.ArsdkMessageEvent):
if event.message.fullName == "ardrone3.PilotingEvent.moveByEnd":
error = event.args["error"].name
print(event.message.fullName,"(forward :{dX}, right:{dY}, down :{dZ}, rotate :{dPsi}, error {error.name})".format(**event.args))
I tried a moveBy(1,0,0,0).wait()
the moveByEnd returned (dx=0.9,dy=0,...,error=ok)
but when I don't use wait or the move is not finished
the moveByEnd returned (dx=0.4,,...,error=interrupted)
I know it's not completed so it is not going to be 1 but the sum of it when I move a 1-meter distance it is not equal to 1.