You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Resolve OVERVIEW.md conflict: drop stale --eso-axis and --report/
Statistical Report section; take master's cleaned ESO-only text.
src/constants.rs merged cleanly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: OVERVIEW.md
+3-13Lines changed: 3 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,8 +28,7 @@ All analysis parameters, thresholds, plot dimensions, and algorithmic constants
28
28
* Additional options include `--help` and `--version` for user assistance.
29
29
* The `--output-dir` parameter now requires a directory path when specified. If omitted, plots are saved in the source folder (input file's directory).
30
30
* Handles multiple input files and determines if a directory prefix should be added to output filenames to avoid collisions when processing files from different directories.
@@ -169,7 +168,7 @@ All analysis parameters, thresholds, plot dimensions, and algorithmic constants
169
168
### ESO Gain Optimization (Optional)
170
169
171
170
***Purpose:** Offline system identification of 2nd-order LESO (Linear Extended State Observer) bandwidth (omega_0) from recorded flight data. Finds observer gains that minimise tracking error against measured gyro rate.
172
-
***Activation:** Disabled by default; enable with `--eso`. Optionally restrict axes with `--eso-axis roll,pitch,yaw` and set control effectiveness with `--eso-b0 <value>`.
171
+
***Activation:** Disabled by default; enable with `--eso`. Set control effectiveness with `--eso-b0 <value>`.
173
172
***Algorithm (`src/eso.rs`):**
174
173
* Extracts filtered gyro (omega) and PID sum (P+I+D+F) per axis as measured output and control input respectively.
175
174
* Simulates a discrete Euler-forward 2nd-order LESO at each candidate omega_0:
@@ -179,17 +178,10 @@ All analysis parameters, thresholds, plot dimensions, and algorithmic constants
***Output:** Prints optimal omega_0, beta1, beta2, and MSE per axis to console. Results are also included in the markdown report if `--report` is also given.
181
+
***Output:** Prints optimal omega_0, beta1, beta2, and MSE per axis to console.
183
182
***Limitations:**`b0=1.0` (default) is dimensionless. For absolute accuracy co-tune b0 using known frame inertia. The cost function is MSE on the closed-loop observer output; unimodality is assumed over the search range.
184
183
185
-
### Statistical Report Output (Optional)
186
184
187
-
***Purpose:** Produces a markdown file summarising per-axis signal statistics and optional ESO results alongside plot outputs.
188
-
***Activation:** Enable with `--report`. File is written as `<stem>_report.md` in the output directory.
***Per-axis tables:** Mean, std dev, min, max, RMS, sample count for gyro (filtered), setpoint, PID sum, P-term, I-term, and D-term.
192
-
***ESO table (when `--eso` is also active):** omega_0, beta1, beta2, b0, MSE, and sample count per axis.
193
185
194
186
195
187
@@ -212,8 +204,6 @@ When `--step` flag is not used, all plots below are generated:
212
204
213
205
#### Generated Reports
214
206
215
-
-**`*_report.md`** — Markdown statistical report (requires `--report`). Per-axis signal statistics table and, when combined with `--eso`, the optimised LESO gains.
216
-
217
207
#### P:D Ratio Recommendations
218
208
219
209
The system provides intelligent P:D tuning recommendations based on step-response peak analysis:
0 commit comments