Releases: Balghanimi/OpenSMC
Releases · Balghanimi/OpenSMC
OpenSMC v2.0.0 — Python Package + Benchmark
OpenSMC v2.0.0
The Python release of OpenSMC — a comprehensive open-source sliding mode control toolbox.
What's New (v2.0.0)
- Python package (
pip install opensmc) — 61 files, 7,300+ LOC - 17 controllers: 11 classical/terminal/hierarchical + 4 HOSMC (Twisting, QC2SM, NestedHOSMC, QC-HOSMC) + PID + LQR
- 13 sliding surfaces including RL-discovered surfaces
- 9 plants: Double Integrator, Inverted Pendulum, Spring Cart, Double Pendulum Crane, Nanopositioner, Two-Link Arm, PMSM, Surface Vessel, Quadrotor
- 7 estimators: Luenberger, EKF, UKF, PF, SMO, Levant Differentiator, RBF-ELM
- 5 Gymnasium environments for RL integration
- 112 tests, all passing (Python 3.10-3.12)
- Comprehensive benchmark: 153 controller–plant pairs, 62 converged, 12 metrics
Papers
- SoftwareX paper: SUBMITTED (v1.0 MATLAB toolbox)
- Benchmark paper: Ready for submission (Journal of the Franklin Institute)
- JOSS paper: Ready for submission
Links
- PyPI: https://pypi.org/project/opensmc/
- Docs: https://balghanimi.github.io/OpenSMC/
- DOI: 10.5281/zenodo.19029180
OpenSMC v1.0 — First Release
OpenSMC v1.0
A Modular and Composable MATLAB Toolbox for Sliding Mode Control Research and Benchmarking
What's Included
- 97 MATLAB files, ~10,000 lines of code
- 11 sliding surfaces (linear through predefined-time convergence)
- 5 reaching laws (including super-twisting)
- 11 controllers (classical SMC, adaptive, dynamic, hierarchical, fuzzy, discrete, fixed-time, ITSMC, NFTSMC)
- 7 estimators (DOB, ESO, HGO, ICD, Levant differentiator, RBF-ELM)
- 9 plant models (double integrator, inverted pendulum, cranes, robot arm, PMSM, surface vessel, quadrotor, nanopositioner)
- 2 architectures (direct, cascaded)
- 12 standardized performance metrics
- 210 MATLAB tests (170 unit/integration + 40 analytical validation)
- 705 Python validation tests across 35 Jupyter notebooks reproducing published results
Requirements
- MATLAB R2020b or later (no additional toolboxes)
- Python 3.10+ with NumPy and Matplotlib (for validation notebooks only)
Citation
If you use OpenSMC in your research, please cite:
Al Ghanimi, A. (2026). OpenSMC: A Modular and Composable MATLAB Toolbox
for Sliding Mode Control Research and Benchmarking. SoftwareX (submitted).
License
MIT
v1.0.0 — Initial Release
OpenSMC v1.0.0 — Initial Release
This is the first official release of OpenSMC, an open-source Sliding Mode Control library.
Highlights
- Core SMC algorithms and implementations
-
- Documentation and usage examples
-
- Zenodo integration for DOI-based citation
Citation
This release is archived on Zenodo. A DOI badge will be available in the README shortly.