Add Projects section with inverted pendulum and real-time interface pages
This commit is contained in:
1 parent
0097be4114
commit
0699938cd5
17 files changed
+357
No files matched your search
@@ -0,0 +1,53 @@
|
||||
---
|
||||
title: "rtint-gui: Desktop GUI for Real-Time Control"
|
||||
summary: "A desktop application to acquire signals, identify plant dynamics and design feedback control on a real-time target."
|
||||
tags: ["Software", "Control"]
|
||||
status: "Active"
|
||||
date: 2026-09-01
|
||||
repo: "https://gitlab.esrf.fr/dehaeze/real-time-interface-gui"
|
||||
docs: "https://dehaeze.gitlab-pages.esrf.fr/real-time-interface-gui/"
|
||||
pypi: "https://pypi.org/project/rtint-gui/"
|
||||
---
|
||||
<!-- TODO: confirm public URL -->
|
||||
<!-- TODO: add GUI screenshots (e.g. Signal Analysis, Dynamical Identification, Feedback Control Design) -->
|
||||
|
||||
## Overview
|
||||
|
||||
`rtint-gui` is a desktop application for working with a real-time target that runs a Resyst server.
|
||||
It is built on top of [rtint]({{< relref "real-time-interface" >}}), which handles the communication with the target, and follows the usual steps of a control task:
|
||||
|
||||
1. **Connect** to a running server.
|
||||
2. **Acquire** signals from the target.
|
||||
3. **Analyse** the records as time traces and spectra (PSD / ASD).
|
||||
4. **Identify** the plant dynamics by measuring frequency responses.
|
||||
5. **Design** feedback control from the identified dynamics.
|
||||
|
||||
Each step is a page of the application.
|
||||
|
||||
## Pages
|
||||
|
||||
- **Signal Analysis**: choose counters and model signals, set a duration, watch the acquisition live, then compute power spectra with configurable window, overlap and averaging.
|
||||
- **Dynamical Identification**: excite the plant with a generator and estimate its frequency response (Bode plot, coherence, and an RGA plot for multi-input multi-output systems). Open-loop and closed-loop identification are supported.
|
||||
- **Transfer Function Analysis**: overlay measured responses with the Bode plots of the filters running on the target, and with their products.
|
||||
- **Feedback Control Design**: from an identified plant and the filters used as controller, compute characteristic loci, sensitivity and complementary sensitivity, the modulus margin and a Nyquist stability verdict.
|
||||
- **Filters, motors, EtherCAT, parameters and more**: inspect and edit what the real-time model exposes.
|
||||
|
||||
Results are saved as MATLAB `.mat` files, so they can be reopened in MATLAB or Python.
|
||||
The analysis pages also work offline on previously saved data, without a target.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
pipx install rtint-gui # or: uv tool install rtint-gui
|
||||
rtint-gui
|
||||
```
|
||||
|
||||
Python 3.12 or 3.13 is required.
|
||||
The interface uses PySide6 and pyqtgraph.
|
||||
Running `rtint-gui --offline` starts it without a real-time target.
|
||||
|
||||
The [documentation](https://dehaeze.gitlab-pages.esrf.fr/real-time-interface-gui/) has a guide for each page and a description of the `.mat` file format.
|
||||
|
||||
## Related
|
||||
|
||||
- [rtint]({{< relref "real-time-interface" >}}): the Python package this application is built on.
|
||||
Reference in new issue
Block a user