control-systems

Analyze transfer-function and state-space models to design feedback controllers with stability margins.

33|6|Updated Mar 17, 2026
One-click install
npx skills add https://github.com/xjtulyc/awesome-rosetta-skills --skill control-systems-xjtulyc
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: control-systems
Source: https://github.com/xjtulyc/awesome-rosetta-skills/tree/main/skills/06-engineering/control-systems
Command: npx skills add https://github.com/xjtulyc/awesome-rosetta-skills --skill control-systems-xjtulyc

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires control, scipy, numpy, matplotlib.

What problem does it solve?

This Skill helps engineers model linear time-invariant plants, analyze feedback stability in the frequency domain, and design practical controllers (especially PID and lead-lag compensators) with simulation-ready results.

Core Features & Use Cases

  • Control modeling: build transfer functions and state-space models for SISO systems and related dynamical representations.
  • Stability & robustness analysis: compute gain/phase margins, generate Bode/Nyquist plots, and inspect root-locus behavior.
  • Controller design & verification: tune PID via Ziegler–Nichols concepts, add lead/lag compensators, then simulate closed-loop step response (including discrete-time workflows via ZOH).
  • Use case: when you have a DC motor or plant prototype and you need a robust velocity/position loop, use this Skill to pick controller gains, verify margins, and confirm time-domain specs through step response simulation.

Quick Start

Use the control-systems skill to design a PID controller for a transfer-function plant and generate Bode, Nyquist, and closed-loop step-response results in Python.

Frequently Asked Questions about control-systems

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design a PID controller and check stability using a transfer function in Python?

To design a PID controller and verify stability, build a transfer-function plant model and compute frequency-domain stability margins using python-control and scipy. This Skill generates Bode, Nyquist, and closed-loop step-response results to validate controller performance.

How do I calculate gain and phase margins for a control system?

Gain and phase margins are calculated by analyzing the frequency response of your open-loop transfer function using python-control. The Skill computes these stability margins and generates Bode and Nyquist plots to assess control-system robustness.

Can I use python-control for discrete-time controller design with ZOH?

Yes, python-control supports discrete-time controller workflows via Zero-Order Hold (ZOH) discretization for SISO systems. The Skill handles both continuous- and discrete-time plant models to simulate closed-loop step responses.

What's the best way to tune PID gains for a DC motor velocity loop?

The best way to tune PID gains for a DC motor velocity loop is applying Ziegler-Nichols tuning concepts to the plant transfer function, then verifying time-domain specs through closed-loop step-response simulation using python-control and scipy.

How do I add a lead-lag compensator to a state-space model?

To add a lead-lag compensator to a state-space model, design the compensator transfer function and integrate it into the feedback loop. The Skill simulates the closed-loop step response to validate the combined controller and plant behavior.

Does this control-system analysis workflow require scipy and numpy?

Yes, this control-system analysis workflow requires scipy, numpy, matplotlib, and python-control to compute frequency-domain stability margins, generate Bode/Nyquist plots, and simulate closed-loop step responses.