I’m currently experimenting with moveBy() commands in indoor environments. While this works well in general, I wonder if there’s a lower threshold on the dX/dY/dZ/dPsi values. More precisely, if I send small commands I instantly receive a moveByEnd() event in return which indicates zero movement. Here is an example:
2020-08-21 16:00:51,352 [INFO] olympe.drone.ANAFI-G039575 - _send_command_impl - ardrone3.Piloting.moveBy(0.004597945980727673, 0.002724135707598208, -0.037009913921356205, -0.0010966336107648864) has been sent to the device 2020-08-21 16:00:51,358 [INFO] olympe.drone.ANAFI-G039575 - _recv_cmd_cb - ardrone3.PilotingEvent.moveByEnd(dX=0.0, dY=0.0, dZ=0.0, dPsi=0.0, error=MoveByEnd_Error.ok) 2020-08-21 16:00:51,359 [INFO] olympe.drone.ANAFI-G039575 - _recv_cmd_cb - ardrone3.PilotingState.FlyingStateChanged(state=FlyingStateChanged_State.flying) 2020-08-21 16:00:51,359 [INFO] olympe.drone.ANAFI-G039575 - _recv_cmd_cb - ardrone3.PilotingState.FlyingStateChanged(state=FlyingStateChanged_State.hovering)
Can someone confirm that there indeed are lower thresholds? If yes, at what level (I’d assume 50mm or 100mm, not sure about yaw)? Can they be adjusted? I was not able to find anything in the documentation concerning these questions, so maybe that needs an update if my assumption turns out to be true.
PS: on a side note, it looks like I never get any dPsi value returned by moveByEnd at all. An example is here, where I moved 180° but it told me it didn’t yaw at all (and only performed very small translational movement):
INFO:olympe.drone.ANAFI-G039575:ardrone3.Piloting.moveBy(0.0, 0.0, 0.0, 3.1415) has been sent to the device INFO:olympe.drone.ANAFI-G039575:ardrone3.PilotingState.FlyingStateChanged(state=FlyingStateChanged_State.flying) INFO:olympe.drone.ANAFI-G039575:ardrone3.PilotingEvent.moveByEnd(dX=0.00010586909047560766, dY=-0.0007729656063020229, dZ=-0.010499179363250732, dPsi=0.0, error=$ INFO:olympe.drone.ANAFI-G039575:ardrone3.PilotingState.FlyingStateChanged(state=FlyingStateChanged_State.hovering)