⚙️ Теорія керування · Робототехніка
📅 Березень 2026⏱ ≈ 11 хв читання🔴 Просунутий

Сучасна теорія керування

Класичне ПІД-керування підлаштовує три числа для одного контуру зворотного зв'язку. Сучасна теорія керування переформульовує задачу мовою матричної алгебри: описати повний стан системи, з'ясувати, які входи забезпечують бажану динаміку, та спроєктувати оптимальний регулятор, що мінімізує функцію вартості — усе одночасно.

1. Подання в просторі станів

Будь-яку ЛСЧ (лінійну стаціонарну) систему можна записати у формі простору станів. Вектор стану x(t) містить мінімальну інформацію, потрібну для передбачення майбутньої поведінки:

Простір станів у неперервному часі ẋ = Ax + Bu // рівняння стану y = Cx + Du // рівняння виходу x ∈ ℝⁿ (вектор стану) u ∈ ℝᵐ (вхід / керування) y ∈ ℝᵖ (вимірюваний вихід) A ∈ ℝⁿˣⁿ (матриця системи / динаміки) B ∈ ℝⁿˣᵐ (матриця входу) C ∈ ℝᵖˣⁿ (матриця виходу) D ∈ ℝᵖˣᵐ (матриця прямого проходження)

Приклад — обернений маятник на візку: стан x = [cart_pos, cart_vel, angle, angular_vel]ᵀ, вхід u = [force]. A — це лінеаризована динаміка навколо вертикальної нестійкої рівноваги.

Версія для дискретного часу: x[k+1] = Ax[k] + Bu[k]. Власні значення A визначають стійкість: для неперервного часу система стійка тоді й лише тоді, коли всі власні значення мають від'ємні дійсні частини; для дискретного часу — тоді й лише тоді, коли всі власні значення лежать усередині одиничного кола.

2. Керованість і спостережуваність

Дві фундаментальні структурні властивості визначають, чи взагалі можливі керування та оцінювання:

Матриця керованості 𝒞 = [B | AB | A²B | ... | Aⁿ⁻¹B] ∈ ℝⁿˣ(nm) Система керована тоді й лише тоді, коли rank(𝒞) = n → можна привести x до будь-якого бажаного стану за скінченний час
Матриця спостережуваності 𝒪 = [C; CA; CA²; ...; CAⁿ⁻¹] ∈ ℝ(np)ˣn Система спостережувана тоді й лише тоді, коли rank(𝒪) = n → можна відновити повний стан x із виходу y

Якщо система не повністю керована, на деякі моди не можна вплинути входом — вони некеровані. Якщо вони стійкі, система є «стабілізовною», і ми все одно можемо проєктувати корисні регулятори. Аналогічно, неспостережувані стійкі моди є прийнятними (система є «виявною»).

Розклад Калмана: будь-яку систему в просторі станів можна розкласти на чотири частини: (1) керована й спостережувана, (2) керована, але не спостережувана, (3) спостережувана, але не керована, (4) ні те, ні те. Лише частина (1) з'являється в передавальній функції.

3. Розміщення полюсів

За умови повного зворотного зв'язку за станом u = −Kx (ми вимірюємо або оцінюємо всі стани) система із замкненим контуром стає:

Динаміка замкненого контуру ẋ = (A − BK)x Власні значення замкненого контуру = власні значення (A − BK)

Розміщення полюсів: оберіть бажані власні значення (полюси) для системи із замкненим контуром. Потім знайдіть матрицю підсилення K, що розміщує власні значення туди. Це розв'язує формула Аккермана (для SISO-систем) або алгоритми призначення власних значень (для MIMO).

Де слід розміщувати полюси? Кожне власне значення σ ± jω дає моду зі швидкістю згасання σ (для стійкості має бути від'ємною) і частотою коливань ω. Швидкі полюси → швидкий відгук, але великі зусилля керування. Емпіричні правила:

4. Лінійно-квадратичний регулятор (LQR)

Розміщення полюсів вимагає вгадування розташувань полюсів. LQR прибирає вгадування: знаходить підсилення K, що мінімізує квадратичну функцію вартості на нескінченному часі:

Функція вартості LQR J = ∫₀^∞ (xᵀQx + uᵀRu) dt → min Q = матриця вартості стану (n×n, додатно напіввизначена) R = матриця вартості входу (m×m, додатно визначена) Розв'язок: K = R⁻¹BᵀP де P задовольняє алгебраїчне рівняння Ріккаті (ARE): AᵀP + PA − PBR⁻¹BᵀP + Q = 0

Q штрафує великі відхилення стану; R штрафує великі зусилля керування. Збільшення Q_ii → швидший відгук для стану i (ціною агресивнішого входу). Збільшення R → повільніший, м'якший відгук. Отримане K оптимальне для цього компромісу, а система із замкненим контуром (A−BK) гарантовано стійка для будь-яких додатно визначених Q, R.

Підказка щодо налаштування: поширена відправна точка — Q = C'C (штраф виходів) і R = αI. Зменшуйте α, щоб отримати агресивніше керування. Це часто легше інтуїтивно налаштувати, ніж розміщувати полюси напряму.

5. Спостерігач Люенбергера

На практиці ми не вимірюємо повний стан — лише y = Cx + шум. Спостерігач Люенбергера відновлює x̂ (оцінку x) із минулих входів і вимірюваних виходів:

Спостерігач (оцінювач стану) x̂̇ = Ax̂ + Bu + L(y − Cx̂) y − Cx̂ = інновація (нев'язка вимірювання) L ∈ ℝⁿˣᵖ = матриця підсилення спостерігача Похибка оцінювання ẽ = x − x̂: ė = (A − LC)ẽ

Спроєктуйте L так, щоб власні значення (A−LC) були стійкими та швидкими. За дуальністю це точно як розміщення полюсів, але транспоноване. Полюси спостерігача слід розмістити в ~2–5 разів швидшими за полюси регулятора, щоб оцінювач збігся ще до того, як стане важливим запізнення регулятора.

Як альтернатива, оберіть L за дуальністю LQR — дуальний оптимальний спостерігач є фільтром Калмана, з L = PCᵀR_n⁻¹, де P розв'язує дуальне рівняння Ріккаті, а R_n — це коваріація шуму вимірювання.

6. LQG — спостерігач + регулятор

Поєднання керування LQR зі спостерігачем-фільтром Калмана дає лінійно-квадратичний гаусів (LQG) регулятор — золотий стандарт лінійного оптимального керування:

Завдання r
Підсилення K (LQR)
Об'єкт (A, B, C)
Вимірюваний вихід y
Фільтр Калмана
→ x̂

Принцип розділення: за припущень LQG (лінійна система, гаусів шум) оптимальний регулятор і оптимальний оцінювач можна проєктувати незалежно та поєднувати. u = −Kx̂.

Обмеження LQG: не робастний до невизначеності моделі — може стати нестійким за малих збурень. LQG з відновленням передачі контуру (LQG/LTR) або H∞-керування додають гарантії робастності.

7. Застосування

Нелінійні системи: реальні системи нелінійні. Поширені підходи: лінеаризація навколо робочої точки (→ застосувати LQR), розширений/несцентований фільтр Калмана для оцінювання, модельно-прогнозне керування (MPC, розв'язання QP на кожному кроці на ковзному горизонті) або навчання з підкріпленням для складних нелінійностей.