Головна Теорія систем керування Круїз-контроль: ПІ-регулятор та інтегральне перенасичення

🚘 Круїз-контроль: ПІ-регулятор та інтегральне перенасичення

Ця симуляція моделює автомобільний круїз-контроль як реальний ПІ-регулятор (пропорційно-інтегральний), що керує реальним автомобілем: маса × прискорення = сила двигуна − аеродинамічний опір − опір коченню − складова сили тяжіння від нахилу дороги. На кожному такті керування регулятор вимірює похибку швидкості e = ціль − v і обчислює командну силу двигуна u = Kp·e + Ki·∫e·dt, обмежену реальною максимальною тяговою силою двигуна. Піднімаючись на регульований пагорб, ви побачите реальну, добре задокументовану проблему практичного ПІ-керування: інтегральне перенасичення, коли інтегральний член продовжує накопичувати похибку, поки двигун насичений, спричиняючи справжнє перерегулювання, щойно схил вирівнюється — виправляється увімкненням захисту від перенасичення, який заморожує інтеграл, доки виконавчий механізм не може відреагувати.

Теорія систем керування2DСкладний60 FPS
cruise-control-pi ↗ Відкрити окремо
DRAG · SCROLL · CLICK — керуйте прямо у вікні симуляції.

Про цю симуляцію

Ця симуляція моделює автомобільний круїз-контроль як реальний ПІ-регулятор (пропорційно-інтегральний), що керує реальним автомобілем: маса × прискорення = сила двигуна − аеродинамічний опір − опір коченню − складова сили тяжіння від нахилу дороги. На кожному такті керування регулятор вимірює похибку швидкості e = ціль − v і обчислює командну силу двигуна u = Kp·e + Ki·∫e·dt, обмежену реальною максимальною тяговою силою двигуна. Піднімаючись на регульований пагорб, ви побачите реальну, добре задокументовану проблему практичного ПІ-керування: інтегральне перенасичення, коли інтегральний член продовжує накопичувати похибку, поки двигун насичений, спричиняючи справжнє перерегулювання, щойно схил вирівнюється — виправляється увімкненням захисту від перенасичення, який заморожує інтеграл, доки виконавчий механізм не може відреагувати.

🔬 Що показано

3D-автомобіль їде по замкненій тестовій трасі з рівною ділянкою розгону, регульованим підйомом і рівною ділянкою виїзду. Сила двигуна, потрібна для утримання цільової швидкості на підйомі, може перевищувати реальну межу сили двигуна, тож автомобіль фізично не може утримати швидкість під час підйому — показники відображають командну силу, зафіксовану на максимумі, і активний прапорець насичення.

🎮 Як користуватись

Встановіть цільову швидкість і коефіцієнти Kp/Ki, потім спостерігайте, як автомобіль підіймається на пагорб. З вимкненим захистом від перенасичення інтегральний член продовжує зростати, поки двигун насичений на пагорбі; коли дорога вирівнюється, накопичений інтеграл вимагає значно більше сили, ніж потрібно, і автомобіль перевищує цільову швидкість, перш ніж стабілізуватися. Увімкніть захист, скиньте й повторіть — інтеграл перестає рости після насичення, і той самий пагорб дає мале перерегулювання або взагалі без нього.

💡 Чи знали ви?

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

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

Чому цей круїз-контроль використовує ПІ-регулятор, а не повний ПІД?

ПІ-регулятор поєднує пропорційний член Kp·e (миттєва корекція) з інтегральним членом Ki·∫e·dt (усуває невелику усталену похибку, яку залишив би лише пропорційний регулятор). Реальний автомобільний круїз-контроль майже завжди ПІ, а не ПІД: диференціальний член, що реагує на швидкість зміни швидкості, підсилив би шум датчика й нерівності дороги в смикливу, некомфортну педаль газу.

Що таке інтегральне перенасичення конкретно в цій симуляції?

Коли нахил дороги вимагає більшої сили двигуна, ніж двигун може фізично видати, командна сила u = Kp·e + Ki·∫e·dt обмежується реальним максимумом, але сам інтегральний член ∫e·dt продовжує накопичувати позитивну похибку щотакту, зростаючи далеко за межі того, що система може коли-небудь використати. Це і є інтегральне перенасичення.

Як захист від перенасичення виправляє це, і що робить ця симуляція насправді?

Ця симуляція реалізує стандартну техніку обмеження (умовного інтегрування): перед оновленням інтеграла на кожному такті вона перевіряє, чи не штовхне попередня командна сила систему далі в насичення в тому ж напрямку, що й поточна похибка. Якщо так, оновлення інтеграла заморожується для цього такту; інакше воно триває нормально.

Яка реальна фізика керує рухом автомобіля в цій симуляції?

Автомобіль підпорядковується справжньому рівнянню поздовжнього руху: маса × прискорення = сила двигуна − аеродинамічний опір − опір коченню − складова сили тяжіння від нахилу. Аеродинамічний опір зростає з квадратом швидкості (F = ½·ρ·Cd·A·v²), опір коченню — невелика стала сила, пропорційна вазі авто, а сила нахилу — m·g·sin(θ).

Чому сила двигуна насичується, і чи це реалістична межа?

Кожен реальний двигун має максимальну тягову силу, яку він може видати за певної передачі й обертів — це жорстка фізична межа того, яку силу може створити трансмісія, незалежно від того, наскільки велику команду обчислює регулятор. Ця симуляція застосовує саме цю реальну межу.

Чому автомобіль перевищує цільову швидкість, коли пагорб закінчується?

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

Схожі симуляції