Коротке запитання
Чи існує загальний спосіб впоратися з дуже великими аномаліями (порядком величини) в інакше рівномірній контрольній області?
Передумови
Я працюю над алгоритмом управління, який рухає двигун в цілому рівномірну область управління. Без завантаження / мінімального завантаження PID-контролер працює чудово (швидка реакція, мало-не перекриття). Проблема, з якою я стикаюся, полягає в тому, що зазвичай буде хоча б одне місце з високим навантаженням. Положення визначається користувачем під час встановлення, тому немає розумного способу мені знати, коли / де його очікувати.
Коли я налаштовую PID на обробку місця з високим навантаженням, він спричиняє великі пагони на не завантажених ділянках (що я повністю очікував). Поки це нормально перекривати середину ходу, на корпусі немає механічних жорстких зупинок. Відсутність жорстких вершин означає, що будь-яке значне перекриття може призвести до відключення рукоятки управління від двигуна (що призведе до мертвого блоку).
Речі, які я прототипую
- Вкладені PID (дуже агресивні, коли далеко від цілі, консервативні, коли поруч)
- Фіксований приріст, коли далеко, PID, коли близько
- Консервативний PID (працює без навантаження) + зовнішнє управління, яке шукає, щоб PID зупинився і застосував додаткову енергію до тих пір, поки: не буде досягнуто цілі або не буде виявлено швидка швидкість зміни (тобто залишення області з високим навантаженням)
Обмеження
- Повна поїздка визначена
- Неможливо додати жорсткі вершини (на даний момент)
- Помилка, ймовірно, ніколи не зникне
- Високе навантаження могло бути отримано за менш ніж 10% ходу (мається на увазі відсутність "запущеного старту")