Контроллер платформы Стюарта, настраивающийся

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

Модель включает вертикальный контроллер положения ПИДа, и усиления настраиваются, чтобы ограничить максимальные силы и положение дорожки с минимальным перерегулированием и 0,05 вторыми временами нарастания.

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

open_system('stewart_demo')

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

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

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

Можно запустить Response Optimizer с помощью меню Apps в панели инструментов Simulink или sdotool команда в MATLAB. Можно запустить предварительно сконфигурированную задачу оптимизации в Response Optimizer путем открытия сначала модели и путем двойного клика на оранжевом блоке в нижней части модели. От Response Optimizer нажмите кнопку Plot Model Response, чтобы симулировать модель и показать, как хорошо первоначальный проект удовлетворяет конструктивным требованиям.

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

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

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

% Close the model
bdclose('stewart_demo')