Svilupperò algoritmi di controllo pid e lqr personalizzati in cpp
MSc, Ingegneria dell'automazione e del controllo, Ingegnere di sistemi di controllo RD Robotics
Informazioni su questo servizio
Correggi loop di controllo instabili, lenti o oscillanti con software di controllo personalizzato, matematicamente validato, in C++ moderno o Python.
Ciò che consegno:
- Identificazione del sistema: Modelli di funzione di trasferimento e spazio degli stati derivati dai tuoi log CSV sperimentali (risposta a gradino/frequenza).
- PID discreto industriale: Implementazioni Tustin/Euler con anti-windup (clamping/calcolo inverso), filtraggio a bassa passante del derivato e compensazione feedforward.
- Controllo ottimale (LQR / LQG): Formulazione discreta dello spazio degli stati, sintesi della matrice di guadagno di feedback di stato e osservatori di stato (Luenberger / Kalman).
- Rapporto di validazione e stabilità: Diagrammi di Bode, margini di guadagno/fase, tempo di assestamento e analisi dell'overshoot.
- Specifiche del codice: Classi C++ pulite e autonome (.hpp/.cpp) senza allocazione dinamica sulla heap su richiesta (compatibile con microcontrollori bare-metal). Testato su STM32, ESP32, ARM Cortex, IPC Linux, Raspberry Pi e nodi ROS / ROS 2.
Contattami prima di ordinare per discutere le dinamiche del tuo impianto, il tempo di campionamento target e i vincoli hardware.
Piattaforma:
STM32
FAQ
Traduzione automatica.
Devo usare qualche software proprietario (come MATLAB/Simulink) per eseguire le tue consegne?
No. Tutto il codice viene consegnato come file sorgente standalone, standard C++ (o Python), senza dipendenze di runtime o licenze proprietarie.
Il codice C++ può essere eseguito su microcontrollori bare-metal senza allocazione dinamica di memoria?
Sì. Su richiesta, l'implementazione è scritta rigorosamente senza allocazioni heap (malloc/new), usando memoria statica e array di dimensione fissa, adatta a ambienti bare-metal STM32, ARM Cortex o conformi a MISRA.
In quale formato devono essere i miei dati sperimentali?
Un semplice file CSV, TXT o Excel contenente timestamp, segnale di input di controllo (ad esempio PWM, tensione, comando) e output del plant misurato (ad esempio RPM, posizione, temperatura).
Puoi progettare controllori per sistemi multi-variabile accoppiati (MIMO) o non lineari?
Sì. Possiamo formulare rappresentazioni di spazio degli stati per setup MIMO o linearizzare intorno a specifici setpoint di funzionamento per controllo con gain scheduling. Contattami prima per valutare le dinamiche del tuo impianto.
Il controllore può essere integrato in un nodo ROS / ROS 2?
Sì. La classe di controllo è scritta in modo modulare, rendendo facile incapsularla in un nodo rclcpp o in un callback timer personalizzato. Fammi sapere in anticipo se hai bisogno di un wrapper completo per workspace ROS 2.

