Focont
Static output feedback and fixed order controller design package for Python
Static output feedback (SOF)
The SOF is the simplest feedback controller structure. It basically feedbacks the system output to the system input after multiplying a constant gain matrix.
This package can calculate a stabilizing SOF gain which also optimizes the
norm of the closed loop system.
However, this algorithm works under sufficient conditions. If the problem parameters (listed below) is not appropriate, the algorithm fails and prints an error message.
(See the article, https://journals.sagepub.com/doi/abs/10.1177/0142331220943071 , and the PhD thesis, http://hdl.handle.net/11693/54900 , for detailed information and analysis)
The algorithm is purposedly developed for discrete time systems, but it also works for continuous time systems when the SOF is calculated for the zero-order hold discretized version with a sufficiently large sampling frequency.
Furthermore, the algorithm can be used to calculate fixed-order controllers. This need additional entries in the described JSON or mat file.
Please, vizit API docs for the detailed information.
Installation
Create and activate a virtual environment (this step is not required but recommended). Then,
python3 -m venv venv
source venv/bin/activate
pip install -e '.[dev]'
pytest
pip install -r requirements.txt
or
pip install numpy scipy
Finally,
pip install .
Also,
It can be installed with pip from pypi.
pip install focont
Example
from focont import foc, system
pdata = system.load(json_or_mat_filename)
foc.solve(pdata)
foc.print_results(pdata)
You can find json and mat file examples in the /tests directory.
Metadata
Release files for focont 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| focont-1.0.1.tar.gz | 18.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| focont-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.2 kB
Release files / focont-1.0.1.tar.gz
| Download URL | focont-1.0.1.tar.gz |
|---|---|
| Size | 18.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
24e07f7f51196ac87ebe72e4acfe7153c5ca1b242bdb4ee795416d03db4fc145
|
|
BLAKE2b-256 checksum How to use checksums |
cc0df3c9ba7d8782ebbe115693bde8119e5797ee9c3670e49dc5d76f67230923
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.5
|
Release files / focont-1.0.1-py3-none-any.whl
| Download URL | focont-1.0.1-py3-none-any.whl |
|---|---|
| Size | 13.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
deb4f3019c1be506b2cf55c8c9d176b20b9e3a6ec9964c93beb9b05801923318
|
|
BLAKE2b-256 checksum How to use checksums |
84eff948fbfe4479729c0e4d4b338c34f5c24abf190f600f89c94b0d3ea75835
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.5
|