ПИД-регулятор, который работает в процентах, а не в абсолютных единицах?
Я работаю над PID
Симулятор программного обеспечения для обучения PID
Управляйте концепциями в интерактивном режиме.
Я работаю над примером для Velocity
контроллер. У меня работает пример, но я действительно хочу, чтобы входные данные моего процесса были в процентах, а не выходные данные, которые я получаю, что является фиксированным значением, на которое должен увеличиваться процесс.
Прямо сейчас я должен интерполировать увеличение выхода по максимальному ускорению для шага выборки, а затем масштабировать вывод в процентах. Проблема заключается в том, что скорость ускорения нелинейна в зависимости от скорости и текущей передачи привода.
Это работает, но не очень гибко или адаптируемо, например, оно заставляет все ускоряться до максимума, пока не приблизится к setpoint
скорость, а затем либо пролетает и колеблется в течение нескольких периодов, либо занимает одинаково много времени, чтобы получить этот последний кусочек без чрезмерной стрельбы.
Иногда вам понадобится такое поведение максимального ускорения, иногда вам захочется управлять батареей / источником топлива и ускоряться с максимальной эффективностью; иногда вы хотите немного и того, и другого.
Масштабирование вывода, как я делаю сейчас, является грубой силой и не очень тонким. Я бы предпочел ввести модификатор вывода в расчет вывода, динамически настраивая P
, I
а также D
выгоды, но я не уверен, на каких из них сосредоточиться и в каком порядке?
Когда я настраиваю их вручную по одному, я могу получить действительно хорошие результаты, но когда я пытаюсь начать автоматическую настройку, все сводится с ума.
Я провел последнюю неделю, читая о теории управления и автонастройке, и математическая запись для меня просто становится загадочной, я понимаю математику, если смогу найти какую-то реализацию в коде; независимо от языка.
Я пытался применить эвристику ZN, но я все еще получаю дикие колебания, и это действительно трудно компенсировать за превышение; Трудно переносить слишком большие выбросы, когда вы можете замедляться только с той скоростью, которую вы можете ускорить. представьте себе систему без активного торможения и использующую только пассивное торможение для замедления