Releases: pablomarcel/control-systems
Control Systems v0.1.0-alpha — CLI-First Control Systems Study & Design Suite
Control Systems v0.1.0-alpha — CLI-First Control Systems Study & Design Suite
This release marks the first project-wide documentation-ready milestone for Control Systems, a Python-first toolkit for reproducible control systems analysis and design workflows.
The project now includes a large GitHub Pages documentation site and a broad collection of focused CLI tools organized around classical and modern control systems topics, including modeling, transient analysis, root-locus analysis, frequency-response analysis, PID workflows, and state-space analysis/design.
Release status
Release type: Alpha / documentation milestone
Recommended audience: developers, control systems learners, engineering students, and users comfortable with command-line workflows
Primary goal: make the project easier to discover, run, document, and extend
This is not a polished commercial application. It is a working, expanding engineering toolkit with many package-level tools, reproducible command examples, and documentation hooks.
Highlights
- Added project-wide GitHub Pages documentation.
- Updated repository branding after the rename to
control-systems. - Organized documentation links across all major tool families.
- Standardized the README around the current repository structure.
- Reinforced the CLI-first workflow used across the project.
- Documented the package families by control systems topic.
- Preserved the practical
in/,out/, andRUNS.mdworkflow used throughout the repository.
Documentation
The live documentation is available here:
https://pablomarcel.github.io/control-systems/
The documentation currently covers a large set of package-level tools, including:
control_systems/canonicalToolcontrol_systems/converterToolcontrol_systems/mimoToolcontrol_systems/systemToolfrequency_response/bodeToolfrequency_response/compensatorToolfrequency_response/experimentToolfrequency_response/plotToolpid_controllers/pidToolpid_controllers/rootLocusToolpid_controllers/tuningToolpid_controllers/zeroPoleToolroot_locus_analysis/compensatorToolroot_locus_analysis/rootLocusToolroot_locus_analysis/systemResponseToolstate_space_analysis/canonicalToolstate_space_analysis/converterToolstate_space_analysis/mimoToolstate_space_analysis/stateRepToolstate_space_analysis/stateSolnToolstate_space_analysis/stateToolstate_space_analysis/stateTransToolstate_space_design/controllerToolstate_space_design/gainMatrixToolstate_space_design/lqrToolstate_space_design/minOrdTfToolstate_space_design/minOrdToolstate_space_design/observerGainMatrixToolstate_space_design/observerStatePlotToolstate_space_design/regulatorToolstate_space_design/robustToolstate_space_design/servoToolstate_space_design/statePlotsTooltransient_analysis/hurwitzTooltransient_analysis/icTooltransient_analysis/responseTooltransient_analysis/routhTool
Major tool areas
Control systems modeling
The modeling tools support construction and conversion of control system representations, including transfer functions, state-space forms, canonical forms, and MIMO-oriented utilities.
Transient analysis
The transient-analysis tools cover response workflows and stability checks, including Routh-Hurwitz tables, Hurwitz-style checks, initial-condition handling, and time-response utilities.
Root-locus analysis and design
The root-locus tools support gain studies, pole migration, compensator workflows, and closed-loop response comparison.
Frequency-response analysis and design
The frequency-response tools support Bode, margin, bandwidth, compensator, Nichols, polar, and experimental frequency-response workflows where implemented.
PID controllers
The PID package family supports PID workflows, tuning utilities, root-locus interpretation, and pole-zero visualization helpers.
State-space analysis
The state-space analysis tools support state matrices, canonical transformations, transfer-function conversion, MIMO helpers, state transition workflows, and solution utilities.
State-space design
The state-space design package family includes full-state feedback, pole placement, observer gain design, observer-state plotting, regulator workflows, servo design, LQR, minimal-order tools, robustness templates, and state plotting utilities.
Repository updates
-
Updated links from the previous
control-modernControlrepository name to the currentcontrol-systemsrepository name. -
Updated GitHub Pages references to:
https://pablomarcel.github.io/control-systems/ -
Expanded the README documentation section to include the published package documentation index.
-
Clarified the project structure around package families and control systems topics.
-
Added a more practical GitHub-facing project description.
Workflow conventions
This release continues the repository-wide convention of using focused package folders with repeatable command-line workflows:
someTool/
cli.py
apis.py
core.py
in/
out/
tests/
RUNS.md
Typical usage pattern:
python cli.py --help
python cli.py run --infile in/example.json --outfile out/example_out.json --prettyWhere supported, tools may generate:
- JSON output manifests
- CSV tables
- PNG plots
- HTML plots
- Console summaries
- Reproducible analysis artifacts
Installation reminder
git clone https://github.com/pablomarcel/control-systems.git
cd control-systems
python -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -r requirements.txtOn Windows, activate the environment with:
.venv\Scripts\activateKnown limitations
- This is an alpha-stage engineering toolkit, not a polished end-user desktop application.
- Package maturity varies across the repository.
- Some tools are more complete than others.
- Some package folders are scaffolds or work-in-progress templates.
- CLI behavior, output schemas, and plotting formats may continue to evolve.
- Users should inspect each package’s local
RUNS.mdfile for the most reliable examples.
Recommended validation before use
Before relying on a package for engineering calculations:
- Review the relevant input JSON or CLI flags.
- Run the local examples from
RUNS.md. - Inspect generated JSON/CSV outputs.
- Compare results against known textbook examples where available.
- Run the package-level tests if present.
What comes next
Planned and ongoing improvements include:
- Expanded textbook example coverage.
- More validation tests against known reference problems.
- More consistent package-level README files.
- More robust plotting exports.
- Cleaner package-level documentation.
- Additional MIMO workflows.
- Expanded state-space design examples.
- More complete compensator and PID design helpers.
Suggested GitHub release title
Control Systems v0.1.0-alpha — Documentation Milestone
Summary
This release establishes Control Systems as a documented, CLI-first, Python-based control systems study and design suite. The repository now has a public documentation site, updated project branding, a stronger README, and a clearer structure for continuing development across classical and modern control workflows.