Skip to main content

Library for system and control tools

Project description

System and Controls Library

Collection of various tools in the field of systems and controls.

Systems can mean just about anything. Here, we are talking about dynamic systems and how to find the right input to achieve a desired state of equilibrium.

As a first step, the library implements the base controller class that defines the basic requirements for any discrete-time controller.

The next step is to derive model-based controllers and then also data-driven controllers.

At some point, the fundamentals of control systems such as PID could be integrated, presumably as wrappers for existing libraries and tools.

Usage

from sysco import Controller # Controller subclasses not already implemented

# custom controller example
class MyController(Controller):
    def get_input(self):
        return 1

# instantiate custom class and get input
my_controller = MyController()
print(my_controller.get_input()) # --> 1

# try to instantiate base class
base_controller = Controller()
next_input = base_controller.get_input() # --> NotImplementedError

Future development

To avoid bottlenecks later on, Rust is already built into the structure 

Controller (in planning)

LQR

  • First one that will be implemented
  • Infinite horizon without constraints

Returns optimal input $u^\star$ that drives the System to the origin.

MPC

Nominal Case

Economic MPC

Tracking MPC

Robust MPC

Data-driven approaches

DeePC

RL-based

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sysco-0.1.1b1-cp39-abi3-manylinux_2_34_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.34+ x86-64

File details

Details for the file sysco-0.1.1b1-cp39-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for sysco-0.1.1b1-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 84d703679a07c7a3699a19d85724e5c8e967622d123678a201ab0453c4826ba3
MD5 43b26dd0176cceb9b915bf52b95dbb99
BLAKE2b-256 dfb4f20ce5b97520065a2619783b7ed4aa518c4afe6eddae1122ca8729715c36

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page