Test Plan - Weber-State-UAV-Program/Documentation-2024-2025 GitHub Wiki

Procedure

Test Board

We initially started our flight tests with a test board with approximately the same measurements as the ones on the base station. This was done to reduce the potential damage done to both the drone and the base station. test_board

Once parameters were tuned enough to land inside the test board troughs with 100% accuracy, we decided to move to testing on the base station.

Base Station Testing

AprilTags

We started testing on the base station with pretty conservative gains for our PI control loop. We finalized on the following parameters:

Parameter Value
rtl_height 5.0
descend_velocity 0.25
p_vel_gain_x 1.2
p_vel_gain_y 1.2
i_vel_gain_x 0.05
i_vel_gain_y 0.05
i_clamp 0.3
position_reached_error_threshold 0.1
velocity_reached_error_threshold 0.15
goto_position_reached_error_threshold 0.5
goto_velocity_reached_error_threshold 0.3
yaw_reached_error_threshold_deg 8.0
yaw_offset_deg 0.0
tag_timeout_seconds 5.0
max_xy_velocity 0.20
min_state_time_seconds 3.0
enable_delta_error_logging false
logging_folder_path "/home/argdrone/ARG-Drone/arg_workspace_2024/PrecisionLandingLogs/actual_flights"

Results

We were able to test 7 full mission flights using these parameters and got the following results:

Metric Value
# of Tests 7
% in Troughs 85.71%
Avg X Error (cm) 2.57
Avg Y Error (cm) -1.43
Max X Error (cm) 13
Max Y Error (cm) -10
Error Tolerance in X (cm) ±15
Error Tolerance in Y (cm) ±5

We tested with these parameters in simulation in order to log the results and see how close we are actually getting to our target position as we go through the Precision Landing Mode and here are the plots of our position differences in X and Y, and orientation difference in Yaw: xyyaw_difference

This is an image of the same flight but shows the safety zones and the actual error in X, Y, and Yaw: unnamed

To see/update our current results from flight testing, see the following spreadsheet: Results Spreadsheet