Skip to content

Releases: Balghanimi/OpenSMC

OpenSMC v2.0.0 — Python Package + Benchmark

17 Mar 00:34

Choose a tag to compare

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

OpenSMC v1.0 — First Release

15 Mar 08:22

Choose a tag to compare

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

11 Mar 18:34

Choose a tag to compare

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.