Install
$ agentstack add skill-calebzu-pmsm-control-claude-skills-for-matlab-foc-ltid ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
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 = ω_m — seven 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) — theKF_Estimator_EMLatom (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.
- Author: calebzu
- Source: calebzu/pmsm-control-claude-skills-for-matlab
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.