Последний раз редактировалось Alex_Zorg 06.07.2022, 00:01, всего редактировалось 1 раз.
Спустя много лет для меня задачка всплыла опять. Нужно для неизвестного наперед задания (меняется плавно или ступенчато и поступает от "вышестоящей" программы) формировать траекторию для управления следящим приводом (со своим ПИД регулятором) с ограничением скорости (это безопасность), с ограничением ускорения разгона и торможения (это основные показатели мощности привода) и, главное, с ограничением рывка (это обеспечит плавность переходных процессов, минимальные механические нагрузки, точность позиционирования). Построение траектории по заданному входному значению нужно производить с заданным дискретном по времени. Для "медленно меняющихся" входных данных выходные данные должны повторять входные. Переходные процессы должны быть без "выбега" (по возможности) т.е. апериодическими. Время позиционирования должно быть конечно минимальным.
Удалось написать программу и отладить. Программа может и не сложная, но оказалась сложнее, чем казалось в начале. Ограничить рывок, скорость, ускорение при разгоне несложно. Сложнее управлять рывком в следящей системе при торможении для точного апериодического позиционирования, чтобы в момент остановки на заданной позиции были обнулены одновременно скорость и ускорением с удержанием рывка в заданных пределах.
Программу писал на Си, использовал двойную точность (double). Все получилось - результатом доволен, буду тестировать и внедрять дальше.
|