AgentStack
SKILL verified Apache-2.0 Self-run

Motor Foc Ltid Pmsm

skill-calebzu-pmsm-control-claude-skills-for-matlab-foc-ltid · by calebzu

PMSM FOC + Load-Torque Estimator + Feed-Forward Builder. Build a field-oriented speed controller for a three-phase voltage-source-inverter-driven PMSM (SPMSM / mild-saliency IPMSM via parameterization) in Simulink, augmented with a linear load-torque state estimator (Luenberger + Kalman-filter family, 7 selectable variants on one shared structure) whose estimate is fed forward into the q-axis cur…

No reviews yet
0 installs
6 views
0.0% view→install

Install

$ agentstack add skill-calebzu-pmsm-control-claude-skills-for-matlab-foc-ltid

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Motor Foc Ltid Pmsm? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

motor-foc-ltid-pmsm — PMSM FOC + Load-Torque Estimator + Feed-Forward Builder

Three-phase 2-level voltage-source inverter + PMSM. Field-oriented speed control (outer Symmetric-Optimum speed PI → iq_ref; inner dq current PI ×2 with cross-coupling + back-EMF decoupling feed-forward; id_ref = 0), augmented with a linear load-torque state estimator on the model x = [ω_m; T_L], u = T_e, y = ω_mseven selectable realizations on one shared structure (pole-placed Luenberger, steady-state KF, steady colored KF, recursive KF, recursive colored KF, correlated-noise KF, continuous Kalman-Bucy). The estimate T̂_L is fed forward into iq_ref (via the torque constant) to cut the load-step speed dip the speed PI alone cannot. v1 baseline supports SPMSM and mild-saliency IPMSM (Lq/Ld **F9.b colored variants use case B** (shape the *measurement* noise, keep TL as state 2): the shared atom hardcodes estload=xhat(2), so the shaping state must be appended (case A would relocate T_L`). Both placements are valid F9.b.

Triggers / Skip

| ✅ Use | ❌ Skip | |---|---| | Build / port / extend an FOC speed loop with load-torque estimation + feed-forward | FCS-MPC, DTC, SMC, sensorless/position estimation, scalar V/Hz, BLDC trapezoidal | | Luenberger / Kalman-family load-torque observer + FF disturbance rejection | Induction-motor FOC, SynRM (ψ_f≈0), strong-saliency IPMSM MTPA, weak-field | | Demonstrating FF-on vs FF-off speed-dip reduction at a load step | Pure theory (observability proofs, KF derivation), paper writing | | Generalizing the method to a new PMSM machine parameter set | MATLAB perf tuning, unit tests |

Generalization Across Sub-Types

| Sub-type | Constraint | Strategy | |---|---|---| | SPMSM | Ld ≈ Lq | id_ref = 0 | | IPMSM mild | Lq > Ld, Lq/Ld < 2 | id_ref = 0 workable | | IPMSM strong | Lq/Ld ≥ 2 | MTPA mid-loop required (out of v1 scope) |

Topology is invariant: same six modules, same estimator structure, same FF path, same CRIT conditions. The plant can be swapped between the equation-linear baseline (clean mechanical dynamics for the estimator study) and the Simscape switched plant (realism; survives PWM ripple) via plant_sel with no controller change — the estimator/FF layer is plant-agnostic.

Shareable assets (by pointer — do not duplicate)

  • ../../shared/formulas/pmsm_formulas.md — base PMSM physics §0–§7 + speed-PI §A (signed).
  • formulas/pmsm_foc_ltid_formulas.md — method formulas F1 (dq current-PI IMC + decoupling), F2 (augmented state model), F3 (observability), F4/F5 (Luenberger), F6 (recursive KF), F7 (steady-state KF ↔ Luenberger equivalence), F8 (feed-forward law), F9.a/F9.b/F10 (correlated / colored / continuous).
  • ../../shared/building_blocks/pmsm_blocks.slx (+ manifest) — base atoms (Clarke/Park/AntiPark transforms, Simscape PMSM/UniversalBridge/SVPWM/sources/powergui).
  • building_blocks/foc_ltid_blocks.slx (+ manifest) — the KF_Estimator_EML atom (generic discrete KF recursion; matrices via input ports, zero numerics).
  • building_blocks/foc_ltid_api_notes.md — R2024b platform facts (§A.1 Fcn-no-mod/rem; §E.1 KF sizing recipe).

Sibling Skills

  • [motor-pmsm-base](../../.claude/skills/motor-pmsm-base/SKILL.md) — base infrastructure
  • [motor-fcs-mpc](../../.claude/skills/motor-fcs-mpc/SKILL.md) — FCS-MPC current control
  • [motor-dtc-pmsm](../../.claude/skills/motor-dtc-pmsm/SKILL.md) — Direct Torque Control
  • [motor-smc-pmsm](../../.claude/skills/motor-smc-pmsm/SKILL.md) — Sliding Mode Control speed loop

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.