exponenta event banner

Настройка контроллера платформы Stewart

В этом примере показано, как использовать Simulink ® Design Optimization™ для оптимизации параметров контроллера положения платформы Stewart. Платформа Stewart моделируется с использованием блоков Simscape™ Multibody™.

Модель включает в себя вертикальный контроллер положения PID, и коэффициенты усиления настраиваются для ограничения максимальных сил и положения дорожки при минимальном превышении и времени подъема 0,05 секунды.

Откройте окно stewart_demo с помощью приведенной ниже команды выполните моделирование. Моделирование создает неоптимизированное вертикальное положение (направление Z) платформы Стюарта.

open_system('stewart_demo')

Дважды щелкните блок «Scope», чтобы просмотреть неоптимизированное положение, ввод шага и сигнал срабатывания усилия контроллера.

Дважды щелкните стрелку вниз в левом нижнем углу Stewart Platform System блок для просмотра сведений о платформе Stewart. Обратите внимание, что в этой модели используется блок Simscape Multibody.

Дважды щелкните значок Desired Response или Max Forces блоки для просмотра ограничений на платформе Stewart. Блок Max Forces определяет ограничения на сигнал срабатывания контроллера.

Можно запустить оптимизатор ответа с помощью меню «Приложения» на панели инструментов Simulink или sdotool в MATLAB. Предварительно настроенную задачу оптимизации можно запустить в оптимизаторе отклика, предварительно открыв модель и дважды щелкнув оранжевый блок в нижней части модели. В оптимизаторе отклика нажмите кнопку «График отклика модели», чтобы смоделировать модель и показать, насколько хорошо начальная конструкция удовлетворяет проектным требованиям.

Существует два графика, представляющих Z Position и Leg Forces платформы.

Мы начинаем оптимизацию, нажав кнопку «Оптимизировать» в оптимизаторе ответа. Графики обновляются, указывая, что проектные требования теперь выполнены.

Графики теперь обновляются с помощью оптимизированного положения платформы Стюарта и сигнала приведения в действие силы.

% Close the model
bdclose('stewart_demo')