System Identification with ArduPilot's Web Tool: Extracting Dynamic Models from Flight Data
0:17 System Identification Overview: Explains the concept of system identification for extracting aircraft dynamic models from time-history data, useful for vehicle dynamics, actuators, or engine modeling. Both time and frequency domain techniques can be used.
1:29 Frequency Domain Focus: The ArduPilot web tool utilizes frequency domain techniques, best suited for linear models, requiring data that covers the desired range of dynamics (e.g., using frequency sweeps).
3:45 Physics-Based vs. Linear State-Space Models:
Physics-based models use aircraft properties to calculate forces and moments, suitable for simulating across the flight envelope and handling nonlinearities. Requires extensive flight data validation.
Linear state-space models are based on a single trim condition, using flight test data (e.g., frequency sweeps) to determine the model. They are time-invariant and linear, not ideal for systems with saturations or rate limits.
7:10 State-Space Model Structure: Describes the basic state-space equation format (x_dot = Ax + Bu, y = Cx + Du) and the specific form used in the web tool, which differs slightly.
9:36 Transfer Functions: Explains that transfer functions describe relationships between single inputs and single outputs (e.g., lateral stick input to roll rate), useful for analyzing single-axis dynamics, kinematic consistency, and providing starting values for state-space models.
11:05 Tool Development Acknowledgements: Credits the Google Summer of Code student and mentors who developed the web tool.
11:38 Web Tool Features:
Designed to analyze frequency sweeps from ArduPilot's system ID flight mode for multirotors and helicopters.
Estimates transfer functions and state-space models.
Requires contiguous time-history data (ideally from a single system ID flight mode run).
15:49 Transfer Function Features:
Allows specification of numerator and denominator orders, including only relevant powers of 's'.
User-defined frequency range for fitting (start and stop frequencies from the system ID sweep are recommended as initial values).
Anti-aliasing filter (low-pass filter) for data conditioning.
18:18 Transfer Function Tool Usage: Walks through using the tool interface, including selecting input and output signals, specifying numerator/denominator structures, setting frequency ranges, and applying gravity compensation (when relevant).
26:16 Gravity Compensation: Explains the need for gravity compensation when estimating lateral or longitudinal accelerations, as roll and pitch affect body accelerations.
28:36 State-Space Model Features:
Supports Single Input Single Output (SISO) and Single Input Multiple Output (SIMO) systems.
Offers manual or pre-defined setups (e.g., for multirotor model structures).
29:29 Multirotor Model Structure: Discusses a common multirotor lateral axis model structure, noting the use of a lag term and the near-zero values for YP and LP derivatives (which can be initially set to zero to simplify the solving process).
30:15 State-Space Tool Usage: Details using the tool for state-space model estimation, including selecting data, choosing manual or pre-defined setups, specifying inputs, outputs, variables, bounds, constraints, and setting frequency ranges.
40:20 State-Space Model Results: Briefly discusses the interpretation of results, including cost value, eigenvalues, variable values, A and B matrices, and coherence plots.
42:22 Conclusion: Summarizes the presentation and encourages users to explore the web tool for system identification tasks.