ГоловнаСтаттіТеорія керування

Повернутий підвішений маятник: Балансування рівноваги, яка хоче зазнати невдачі

Один вхід керування, дві ступені свободи та рівновага, що активно бореться, щоб знищити її – типовий випадок для все, від PID до енергетичного підйому (swing-up).

mysimulator teamОновлено — червень 2026≈ 10 хв читання▶ Відкрити симуляцію

А важіль, що хоче падати

Збалансуйте щіткою або іншим тонким предметом, як би він був піднятий вертикально на долоні, і ви, по суті, розв'язуєте одну з найскладніших задач теорії управління – класичну проблему. Система має два ступені свободи – положення коліса та кут коливання – але лише один вхідний сигнал – горизонтальна сила, що діє на колесо. Ця невідповідність має назву: система з недостатніми керуючими сигналами. Неможливо безпосередньо штовхати коливальний механізм; кожне коригування досягається опосередковано через рух колеса, яке взаємодіє з кутовою динамікою коливання.

Нелінійні рівняння руху для колеса маси M та коливального механізму маси m, довжини l та кута θ, виміряного від вертикалі, під дією сили F, такіся: (M + m)ẍ + m l θ̈ cosθ - m l θ̇² sinθ = F l θ̈ - g sinθ + ẍ cosθ = 0 Приблизно в районі рівноважного положення (θ ≈ 0) ці рівняння лінеаризуються, з sinθ ≈ θ та cosθ ≈ 1, і припускаючи відсутність члена θ̇², утворюючи лінійну модель простору станів, придатну для використання від PID до LQR. Однак лінеаризація втрачає саме те поведінку, що робить задачу «підсідати» такою складною, тому вона є дійсною лише в вузькому коні навколо вертикалі – не більше кількох десятків градусів.

(M + m)ẍ + m l θ̈ cosθ - m l θ̇² sinθ = F
      l θ̈ - g sinθ + ẍ cosθ = 0
жива демонстрація · пов'язана симуляція● LIVE

Чому це нестабільна рівновага, саме так

Підвішений вертикально є стабільною рівновагою: порушуйте її, і сила тяжіння повертає його, так само, як і годинник-маятник. Стояння прямо вгору є нестабільною рівновагою: порушуйте її, і сила тяжіння прискорює відхилення замість того, щоб виправляти його. Лінеаризуйте динаміку навколо θ = 0 (вертикально) і відкрита система має дійсну, позитивну власне значення — полюс у правій півплощині s-плану, яке експоненційно росте без будь-якого зворотного зв'язку. Це класична демонстрація того, що стабільність відкритої системи та закритої системи є зовсім різними питаннями: рослина сама по собі нестабільна, але вона контрольована, тому існує закон зворотного зв’язку, який стабілізує її, незважаючи на те, що нічого в неконтрольованій системі не хоче залишатися прямо стояти.

Чому простий PID не справляється та що насправді працює

Одиномий PID цикл, закритий безпосередньо на θ, може, при ретельному налаштуванні, тримати голку важка відбивача близько до вертикалі для малих збурень — але він бореться проти течії з двох причин. По-перше, PID бачить лише один сигнал (θ або його похідну та інтеграл); у нього немає прямого знання про положення чи швидкість колісника, тому він може ненавмисно дозволити колесам відхилитися або покинути рейку, поки він намагається звести кут до нуля. По-друге, коефіцієнти PID налаштовані навколо лінійного наближення, що призводить до погіршення продуктивності та зрештою невдачі, коли θ перевищує цей вузький лінійний конус — що відбувається точно під час будь-якого великого збурення або під час запуску, коли голка важка відбивача починає висіти на 180° від того місця, де хоче його PID.

Ця проміжна зона між висінням та стоянням — це проблема розгону, і їй потрільний справжній інший контролер, оскільки поблизу θ = 180° система ні в якому разі не наближається до лінійності. Класичне рішення — енергетичний розгон: замість того, щоб намагатися безпосередньо регулювати кут, подавайте енергію до голки важка відбивача, керуючи колесами таким чином, щоб завжди додавати до механічної енергії голки важка відбивача, поки ця енергія не підійде до енергії вертикального рівноважного положення — тоді перемикайте контролери, передаючи управління лінійному стабілізатору (PID, розміщення полюсів або LQR), коли θ знаходиться всередині його вузької лінійної області приваблення. Контролер Åström–Furuta розгону є поточною версією цієї ідеї, а перемикання між двома контролерами також є невеликою порцією логіки прийняття рішень, яка додається до безперервного зворотного зв'язку.

energy of the pendulum:  E = ½ m l² θ̇² - m g l cosθ
energy at upright:       E_top = m g l

swing-up:      accelerate the cart to increase |E - E_top| toward 0
stabilisation: once |θ| and E are both small, hand off to LQR / PID

Чому перегляд простору станів виправдовує себе тут

Як тільки лінеаризовано, колиска-візок є типовим прикладом для LQR: чотири стани (положення колісного візка, швидкість колісного візка, кут і кутова швидкість), один вхід. Значне навантаження кута в Q дає жорсткого та нервового стабілізатора, який швидко виправляє, але спалює зусилля виконавчого механізму; навантаження положення колісного візка в Q утримує колісний візок центрованим на рейці замість того, щоб відходити до вимикача обмежень, поки кут залишається вертикальним — компроміс, який жодна однопетльова PID на θ само по собі не може виразити, оскільки PID ніколи не бачить положення колісного візка. Це конкретна причина, чому нахилена колиска з'являється майже у всіх курсах керування простором станів: вона достатньо мала, щоб обчислити вручну, але водночас викриває недоукомплектованість, обмеження лінеаризації та реальну користь багатовимірної зворотного зв’язку одночасно.

Часті запитання

Чому підвішений маятник називається "недоопрацьованим"?

Це пов'язано з тим, що у нього є дві ступені свободи — положення колісника та кут нахилу маятника, але лише один вхідний сигнал – горизонтальна сила, яка діє на колісник. Неможливо безпосередньо застосовувати силу до маятника; ви можете тільки опосередковано впливати на його кут повороту через те, як рух колісника взаємодіє з динамікою маятника.

Чи може PID самостійно підняти маятник з положення вниз?

Ненадійно. Стандартний PID налаштовується навколо лінеаризованої динаміки поблизу θ = 0 (вертикальне положення), що порушується, коли θ наближається до 180° (горизонтальне положення). Підняття маятника з горизонтального положення зазвичай потребує окремого енергетичного контролера, який прокачує механічну енергію в маятник, поки він не наблизиться до вертикального рівноважного стану, а потім передає контроль лінійному стабілізатору, такому як PID або LQR.

Чому маятник падає, якщо неправильно налаштовані параметри PID?

Вертикальне положення – це нестабільний рівноважний стан з відкритим зворотним зв’язком — будь-яке відхилення зростає експоненціально без корекції. Якщо коефіцієнти занадто низькі, зворотний зв'язок не може наздогнати це експоненційне зростання; якщо вони надмірно агресивні або погано амортизовані, петля перекочується та коливається, поки кут не виходить за вузьку лінійну область, для якої були налаштовані коефіцієнти, в цьому випадку лінійне наближення також перестає бути дійсним і контролер втрачає свою владу.

Спробуйте наживо

Усе, що вище, працює прямо у вашому браузері — відкрийте Inverted Pendulum і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.

▶ Відкрити симуляцію Inverted Pendulum

Що ви знайшли?

Додати кроки відтворення (опційно)