After upgrading our ANAFI UKR fleet from firmware 8.3.2 to 8.4.x, two commands
our GroundSdk Android app relies on stopped having any effect while the drone
is hovering. Both are still accepted without error; the drone just does not move.
1. In-place yaw via GuidedPilotingItf
move(RelativeMoveDirective(0, 0, 0, 30°, null)): 8.3.2 turns 29.5°;
8.4.0 turns 0° and the move finishes in ~300 ms.move(LocationDirective(current position, Orientation.Start(+40°), null)):
8.3.2 turns 39.6°; 8.4.0 turns 0° in ~200 ms.
On 8.4.0 the yaw is skipped for any guided move with less than about 1 m of
displacement (legacy or extended encoding, any speed settings). The drone log
shows AbsoluteMove.Event.done immediately. The same +30° yaw is executed
once the move carries 1.5 m of displacement.
2. Absolute gimbal pitch
MainGimbal.control(POSITION, null, -25°, null)in hover: 8.3.2 goes to
-25.0°; 8.4.0 stays put.
On 8.4.0 POSITION is still honoured on the ground and during an active guided
move. In hover, only VELOCITY control and resetAttitude() move the gimbal.
Reproduction
Sphinx 2.25.2, anafi3-pc image 8.3.2 vs 8.4.0, same host, world, APK and
scripts, ~8 m hover. We see the same behaviour on real drones running 8.4.3.
Updating GroundSdk to 8.4.2 changes nothing.
Workaround
Point’n’fly (Point directive) still yaws in place and moves the gimbal on
8.4, so we now aim through that.
Questions
- Is this change intended in 8.4?
- What is the supported way to do a one-shot in-place yaw and an absolute
gimbal pitch setpoint while hovering? - The ultimate goal is to choose a point on the video stream x,y and the drone yaws and gimbal points at that exact location