Skip to main content
Dryad logo

The aerodynamic force platform as an ergometer


Deetjen, Marc E.; Lentink, David; Chin, Diana (2020), The aerodynamic force platform as an ergometer, Dryad, Dataset,


Animal flight requires aerodynamic power, which is challenging to determine accurately in vivo. Existing methods rely on approximate calculations based on wake flow field measurements, inverse dynamics approaches, or invasive muscle physiological recordings. In contrast, the external mechanical work required for terrestrial locomotion can be determined more directly by using a force platform as an ergometer. Based on an extension of the recent invention of the aerodynamic force platform, we now present a more direct method to determine the in vivo aerodynamic power by taking the dot product of the aerodynamic force vector on the wing with the representative wing velocity vector based on kinematics and morphology. We demonstrate this new method by studying a slowly flying dove, but it can be applied more generally across flying and swimming animals as well as animals that locomote over water surfaces. Finally, our mathematical framework also works for power analyses based on flow field measurements.


This dataset consists of the following collected data:

  • High speed camera data collected to calibrate 5 high speed cameras and 5 high speed projectors
  • High speed camera data (5 cameras + 5 projectors projecting structured-light patterns) collected of a single dove flight as described in the manuscript
  • Aerodynamic force platform data collected for the same single dove flight

This dataset consists of the following processing steps:

  • The calibration data has been processed to calibrate all 5 high speed cameras and projectors using the steps described in this paper: Deetjen ME, Lentink D. Automated calibration of multi-camera-projector structured light systems for volumetric high-speed 3D surface reconstructions. Opt Express. 2018;26(25):33278–304. 
  • The bird has been modeled using structured-light processing steps described in this paper: Deetjen ME, Biewener AA, Lentink D. High-speed surface reconstruction of a flying bird using structured light. J Exp Biol [Internet]. 2017 Jun 1;220(11):1956–61. Available from:
  • The rest of the processing steps to compute aerodynamic power are described in the current publication.

Usage Notes

The main folders are labeled with numbers 0-9 and should all be placed in a single folder. Folder 1 is contained in "1 Experimental", folder 9 is contained in "9", and the other folders are contained in "". Instructions for running and understanding this code/data:

0 MATLAB Base Folder

  • This should be set as your MATLAB startup folder (

1 Experimental Flights

  • This is where all of the collected data is located
  • To save space, only calibrations 1 & 2 (2018_12_11_calib1 & 2018_12_11_calib2) is present, but we combined the first 10 calibrations to give the best result. The results can be seen in the folder: 5 Calibration
  • The flight of interest is in the folder "Dove_OP/2018_12_11_OP_F03". This folder contains recordings from all 5 high speed cameras and the Aerodynamic Force Platform (AFP) data

  • There was originally a folder here, but the content was not relevant to this manuscript, so to save space, this folder was removed.

3 Other data

  • This folder contains the dot patterns used for calibration and the hash patterns used for 3D reconstruction

5 Calibration

  • 1DotPatterns: This folder contains all the dot patterns used for calibration
  • 2Intermediate: This folder contains all the intermediate saved data used for calibration - files here are created as the calibration runs
  • 3Results: This folder contains the results of the calibrations. The calibration file we use for this flight is 2018_12_11_calibAll_1-10/Final_Calib.mat
  • MainCalibCode: All of the main calibration code is located in this folder
  • MultiCalib
  • Run BatchRun.m to run one of the two calibrations (2018_12_11_calib1 & 2018_12_11_calib2) we have provided
  • Run BatchRunCombo.m to combine data from multiple calibrations together into an improved calibration. To save space, this code is set up to run calibrations 1 & 2, but in our test, we combined calibrations 1-10.

6 SLS Reconstruction

  • 2Intermediate: All of the results of Hash_v2 are stored here
  • Hash_v2: Run RunDoveSetupHash.m to compute the automated 3D reconstruction of the dove.
  • Hash_v2/Kinematics: Run the KinClick.m function to manually click kinematics points and update the Kinematics.mat file in 2Intermediate. Afterwards, run the Kin2Dprocess.m file to interpolate and smooth the kinematic points.
  • Hash_v2/SurfFit: Run the WingClick.m function to manually click the region of the left wing so as to isolate it and update the WingClickReg.mat file in 2Intermediate. Run the SurfModel.m script to fit the wing, body, and tail surfaces to the bird and store the result in the 2Intermediate folder.

7 AccuracyXYZ

  • 1 SphereDrop: Run SphereDir.m to find the direction of gravity
  • 2 RodDir: Run RodDir.m to get the forward direction relative to the AFP
  • 4 PerchPos: Run PerchPos.m to get the positions of the perches
  • XYZ_KeyVars: Here are stored all of the key variables to transfer between reference frames as determined by the sphere drop, rod direction, and perch position.


  • Run Aero.m to read in the AFP data and create a simple plot

9 FinalModel

  • Run Model_AeroPower.m to compute all of the necessary parameters to plot the figures in the manuscript and store the data in the folder named Data.
  • Run Model_Figs.m to plot all the figures in the manuscript.


National Science Foundation, Award: DGE-114747

National Science Foundation, Award: 1552419

Air Force Office of Scientific Research, Award: FA9550-16-1-0182

National Defense Science and Engineering Graduate, Award: NA

National Science Foundation, Award: IOS-0744056

Office of Naval Research, Award: N00014-10-1-0951

Army Research Laboratory, Award: MCE-16-17-4.3