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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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