Skip to main content

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 H2 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)

Source distribution for focont 1.0.1
File Size Uploaded
focont-1.0.1.tar.gz 18.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for focont 1.0.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

0.2.1

2 release files

0.1.1

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page