Drone Movement

English translation

Assuming forward and sideways directions stay the same after turning will lead to an incorrect path. First check the coordinate frames through calculation.

Before practice

01 Which axis does forward movement follow after a turn?

Description

Movement follows the Body Frame's forward direction, so its direction in the World Frame depends on yaw.

02 Will the endpoint stay the same if the command order changes?

Description

Translation and rotation generally cannot be interchanged. Accumulate path coordinates and compare them.

Execution conditions

This exercise simulates coordinates. When extending it to actual flight, separately check the provided device's coordinate system, units, and command response behavior.

Practice

Preview practice notebookDownload practice notebook

1. Check movement command coordinates

Starting conditions

Start at (0,0) m with yaw=0°. Forward is body +x, right is body -y, and yaw is counterclockwise. Use the 5 provided commands.

Procedure

  1. For each command, record one table row with displacement in the Body Frame, displacement in the World Frame, cumulative position, and yaw.
  2. Use body_to_world to compare your predicted positions with the code.
  3. Label the XY path with command sequence numbers and axis units.

Results to retain

Items to record and points to check
Command
Displacement in the Body Frame [m]
Displacement in the World Frame [m]
Cumulative (x,y) [m]
yaw [deg]

Points to check

  • Does position remain unchanged when only a yaw command executes?
  • Does the displacement vector retain its length after rotation?

2. Different paths to the same destination

Starting conditions

Use the final position of the first command sequence as the destination and create a new path aligned with the world axes, keeping yaw=0.

Procedure

  1. Specify the second command sequence you designed.
  2. Compare the two paths' final position error, total travel distance, and number of turns.
  3. Explain whether shortest distance and ease of executing actual commands are the same criterion.

Results to retain

Items to record and points to check
Path
Final position
Destination error [m]
Travel distance [m]
Number of turns

Points to check

  • Do both paths have the same starting point and destination?
  • Have you avoided assuming planar coordinates are identical to the flight SDK's actual coordinate frame?

3. Paths with command errors

Starting conditions

Add ±5% error to each movement distance. Fix seed=7 and 30 repetitions, and set yaw error to 0.

Procedure

  1. In each repetition, perturb only distance commands and save the final position.
  2. Plot the final positions as a scatter plot and calculate the mean and maximum distance error from the destination.
  3. Compare results with error rates of 0%,5%,10%.

Results to retain

Items to record and points to check
Error rate
Repetition count
Mean position error [m]
Maximum error [m]

Points to check

  • Did you record the seed and error distribution?
  • At 0% error, does the path return to the reference path's destination?

Official examples and data