Skip to content

Four-controller meta-analysis: passive + opt_passive + ff+PID + CC on shared T=0.5–7 s axis (H=0.05 m) #41

Description

@salhus

Goal

Complete the controller comparison ladder as a second meta-analysis (follow-up to the CC-vs-ff+PID comparison landing today). Produce a single overlay across all four controllers:

  • passive (linear viscous damper) → baseline
  • opt_passive (optimal passive damping) → practical non-reactive ceiling
  • exc_ff_pid (tuned causal/active) → engineered controller
  • cc (complex-conjugate) → theoretical optimum (Budal-matching)

Tasks

1. Add 6 missing configs

passive and opt_passive currently exist only for VGM-0 and VGM-45. Add, modeled on the VGM-0/45 templates with angle-matched H5:

  • config/vgoswec_10_passive.yaml, config/vgoswec_20_passive.yaml, config/vgoswec_90_passive.yaml
  • config/vgoswec_10_opt_passive.yaml, config/vgoswec_20_opt_passive.yaml, config/vgoswec_90_opt_passive.yaml

2. Sweep coverage for passive + opt_passive

Add capture-efficiency sweeps (no such scripts exist today) on the shared T=0.5–7 s grid, H=0.05 m, writing to analysis/passive/ and analysis/opt_passive/ (own folders, mirroring analysis/cc/).

  • opt_passive should re-tune design_omega = 2π/T per sweep point (optimal-passive at each period, like CC does), not fixed at resonance.
  • passive runs with its fixed B_pto per period.

3. ⚠️ Reconcile wave-amplitude inconsistency (correctness blocker)

The existing ff+PID analysis docs disagree on sea state:

  • analysis/BENCHMARK_NOTES.md: H=0.05 m, A=0.025 m, grid ω=4–12 (T≈0.5–1.57 s)
  • analysis/README.md + docs/CONTROLLERS.md: A=0.014 m (H=0.028 m), grid T=2.0–7.0 s

CC uses H=0.05 m. Pin ALL four controllers to H=0.05 m (A=0.025 m) and fix the doc conflict so every P_capture and P_opt is computed at the same amplitude. Without this, all cross-controller ratios silently break.

4. Four-controller overlay

Extend the comparison overlay (from today's cc_vs_ffpid_comparison.py) to all four controllers on the shared T=0.5–7 s axis: P_capture and η panels, per-flap + cross-flap summary. Order the legend as the ladder: passive → opt_passive → ff+PID → cc.

Validation

  • All four controllers swept on identical T=0.5–7 s grid at H=0.05 m for all 5 flaps.
  • Amplitude reconciled to a single H=0.05 m across docs and scripts.
  • Overlay shows the full ladder; --plot-only regenerates all figures from committed CSVs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions