Модуль IV·Статья III·~5 мин чтения
Устойчивость нелинейных систем: метод Ляпунова
Линейное управление и устойчивость
Превратить статью в подкаст
Выберите голоса, формат и длину — AI запишет аудио
Устойчивость нелинейных систем: метод Ляпунова
Линейные системы устойчивы, если все собственные значения матрицы A лежат в левой полуплоскости — простой и удобный критерий. Но реальные системы часто нелинейны: маятник, химический реактор, электрическая сеть, нейронная сеть. Александр Ляпунов в 1892 году предложил универсальный метод анализа устойчивости нелинейных систем — без необходимости решать дифференциальные уравнения. Метод основан на поиске «энергоподобной» функции, которая убывает вдоль траекторий системы. Этот метод стал фундаментом современной теории нелинейных систем и нелинейного управления.
Понятия устойчивости
Система: ẋ = f(x), f(0) = 0 (начало координат — точка равновесия). Без потери общности рассматриваем устойчивость нуля — другие равновесия сводятся к нулю заменой переменных.
Устойчивость по Ляпунову. Равновесие x = 0 устойчиво, если для любого ε > 0 существует δ > 0: ||x(0)|| < δ → ||x(t)|| < ε для всех t ≥ 0. Малые возмущения остаются малыми.
Асимптотическая устойчивость. Устойчиво И x(t) → 0 при t → ∞. Возмущения не только остаются малыми, но и затухают.
Глобальная асимптотическая устойчивость. Асимптотически устойчиво при любом начальном условии. Это самое сильное свойство.
Экспоненциальная устойчивость. ||x(t)|| ≤ M·||x(0)||·e^{−λt} для некоторых M, λ > 0. Чёткая скорость затухания.
Прямой метод Ляпунова
Идея. Найти функцию V: ℝⁿ → ℝ, измеряющую «обобщённую энергию» системы. Если энергия убывает вдоль траекторий — система движется к равновесию.
Теорема Ляпунова. Если существует непрерывно дифференцируемая функция V, удовлетворяющая:
- V(0) = 0, V(x) > 0 для x ≠ 0 (положительно определённая).
- V̇(x) = ∇V(x)ᵀ·f(x) ≤ 0 для x ≠ 0 (V не возрастает вдоль траекторий).
Тогда x = 0 устойчиво по Ляпунову. Если, кроме того, V̇(x) < 0 для x ≠ 0 (строго убывает), то асимптотически устойчиво.
Глобальная устойчивость: Дополнительно V(x) → ∞ при ||x|| → ∞ (radial unboundedness).
Поиск функции Ляпунова
Это «искусство», но есть полезные подсказки:
-
Линейные системы: V(x) = xᵀ·P·x с P > 0. V̇ = xᵀ·(AᵀP + PA)·x. Для V̇ < 0 нужно Aᵀ·P + P·A = −Q < 0. Это уравнение Ляпунова: при устойчивой A для любой Q > 0 решение P > 0 существует и единственно.
-
Механические системы: V = T + V_potential — полная энергия, если она положительна.
-
Системы с диссипацией: часто V = «энергия», V̇ ≤ 0.
Примеры
1. Линейная система ẋ = A·x с A = [−1, 1; 0, −2]. Собственные значения −1, −2 — устойчива.
Решение уравнения Ляпунова Aᵀ·P + P·A = −I (Q = I): P = [0.625, 0.25; 0.25, 0.375]. det P = 0.234 − 0.0625 > 0, P > 0 — подтверждает устойчивость.
2. Маятник с трением: ẋ₁ = x₂, ẋ₂ = −sin(x₁) − x₂. Энергия: V = (1 − cos x₁) + x₂²/2. V > 0 при (x₁, x₂) ≠ 0 в окрестности нуля. ∇V = (sin x₁, x₂). V̇ = sin(x₁)·x₂ + x₂·(−sin x₁ − x₂) = −x₂² ≤ 0.
V̇ = 0 только когда x₂ = 0, но тогда (по уравнениям) ẋ₂ = −sin x₁, что выводит из x₂ = 0 кроме случая sin x₁ = 0, т.е. x₁ = 0. По теореме Ла-Салля → асимптотическая устойчивость в окрестности (0, 0).
3. Нелинейный осциллятор: ẍ + x + x³ = 0. V = x²/2 + x²·ẋ²/... (тоньше: «потенциальная» V_pot = x²/2 + x⁴/4). V_total = ẋ²/2 + V_pot. V̇ = 0 (нет диссипации) → устойчив, но не асимптотически. Добавляя трение −b·ẋ: V̇ = −b·ẋ² ≤ 0 → асимптотическая устойчивость.
Теорема Ла-Салля (LaSalle's invariance principle)
Если V̇ ≤ 0 и Ω = {x: V̇(x) = 0}, то траектории сходятся к наибольшему инвариантному множеству M внутри Ω. Если M = {0} — асимптотическая устойчивость. Это позволяет работать с «полуопределёнными» V̇.
Control Lyapunov Functions (CLF)
Задача проектирования управления, делающего систему устойчивой:
ẋ = f(x) + g(x)·u.
CLF — функция V такая, что для любого x ≠ 0 существует u: V̇ = ∇Vᵀ·(f + g·u) < 0. Конкретно: ∇Vᵀ·g = 0 → ∇Vᵀ·f < 0.
Sontag's universal formula: u(x) = −[L_f V + √((L_f V)² + (L_g V)⁴)] / L_g V, если L_g V ≠ 0; иначе u = 0. Эта формула гарантирует V̇ < 0.
Численный пример: стабилизация инвертированного маятника
Уравнение: θ̈ = (g/l)·sin θ + u/(m·l²). Линеаризация около θ = 0: θ̈ = (g/l)·θ + u/(m·l²). Без u — неустойчиво.
Возьмём V = θ²/2 + l²·θ̇²/(2g) (квадратичная по фазовым координатам). V̇ = θ·θ̇ + (l²/g)·θ̇·θ̈ = θ·θ̇·(1 + l/g·... — техника). Подбирая u = −K·(θ + 2·θ̇), можно сделать V̇ < 0 в окрестности 0 при K, достаточно большом. Численно: для g/l = 9.81, m·l² = 1, K = 30 — экспоненциальная устойчивость с темпом ~3 с⁻¹.
Реальные применения
- Энергосистемы. Анализ синхронной устойчивости генераторов после короткого замыкания: функции Ляпунова на основе кинетической + потенциальной энергии генераторов. Используется для определения «critical clearing time».
- Робототехника. Adaptive control с гарантиями устойчивости через CLF: доказывается, что робот достигает желаемой траектории даже при неизвестных параметрах (масса груза, трение).
- Биология. Анализ устойчивости моделей популяций (Лотка-Вольтерра, эпидемические модели): функция Ляпунова показывает, к какому равновесию (выживание/вымирание) сходится система.
- Машинное обучение. Анализ сходимости градиентного спуска: функция потерь L(θ) — функция Ляпунова, L̇ = −||∇L||² ≤ 0 для GD с малым шагом.
Задание. Для нелинейного осциллятора с управлением: ẍ + x + x³ = u: (а) При u = 0 найдите функцию Ляпунова V (например, потенциальная + кинетическая энергия). Покажите, что V̇ = 0 → траектории периодичны (устойчиво, не асимптотически). (б) Постройте управление u = −K·x − D·ẋ (PD-обратная связь) с подходящими K, D. Проверьте CLF-условие: V̇ < 0 в некоторой окрестности нуля. (в) Численно симулируйте при x(0) = 2, ẋ(0) = 0 для u = 0 и для u = −2x − ẋ. Постройте фазовый портрет (x, ẋ). (г) Как нелинейность x³ влияет на поведение по сравнению с линейным осциллятором ẍ + x = u?
§ Акт · что дальше