Перейти к содержимому

System Identification Explained: White-Box, Gray-Box and Black-Box Models

Erlend Coates

0:00 / 0:00

System Identification Explained: White-Box, Gray-Box and Black-Box Models

58 просмотров · 13 дн. назад
Erlend Coates
18 подписчиков
58 просмотров · 13 дн. назад
System identification: how to find a model of a vehicle from measured data. We compare white-box, gray-box and black-box models on the Otter USV, a small uncrewed surface vessel. ▶ Next: Part 2 – ARX Models and the Equation Error Method:    • System Identification Explained: ARX Model...   📺 Series on system identification:    • System Identification Explained: ARX Model...   📺 Full series on autonomous systems:    • Autonomous Systems   Autopilots, state estimators and simulators all use mathematical models of the vehicle. But where does the model come from? In this first part, we look at: • the vessel as a box: thrust goes in, surge velocity and heading come out • white-box models: physics alone, with the mass, the added mass and the drag • black-box models: data alone, here a small neural network • gray-box (grey box) models: physics gives the structure, data gives the parameters • an experiment: the Otter at several thrust settings, and the surge velocity each run settles at • least squares: the sum of squared errors, and its solution in one line of Python • a test far outside the data: which model holds the Otter near its top speed? Chapters: 0:00 Models, and where they come from 0:21 The vessel as a box 0:37 White box: physics alone 0:55 Black box: data alone 1:10 Gray box: physics and data 1:21 The experiment: thrust and surge velocity 1:48 The white-box and black-box fits 2:05 The gray box: a linear and a quadratic drag term 2:19 Least squares 2:38 The code 2:50 The test: near top speed 3:20 Summary Notation (Fossen, 2021): u: the surge velocity, τ: the thrust in surge m: the mass, X_u̇: the added mass X_u, X_|u|u: the linear and the quadratic damping Newton's second law in surge: (m − X_u̇) u̇ − X_u u − X_|u|u |u|u = τ Steady state (u̇ = 0): τ = −X_u u − X_|u|u |u|u White box (from handbook coefficients): X_|u|u = −½ ρ C_D A Least squares: J = Σᵢ (τᵢ − τ̂ᵢ)² θ = [X_u, X_|u|u]ᵀ φᵢ = [−uᵢ, −|uᵢ|uᵢ]ᵀ Φ = [φ₁, …, φₙ]ᵀ θ̂ = (ΦᵀΦ)⁻¹ Φᵀ τ Simulated and rendered with threepp, a C++ port of three.js with Python bindings: https://github.com/markaren/threepp Reference: T. I. Fossen, Handbook of Marine Craft Hydrodynamics and Motion Control, 2nd ed., Wiley, 2021. #SystemIdentification #ControlEngineering #MarineRobotics