• Регистрация
Christopher
Christopher0.00
н/д
  • Написать
  • Подписаться

Линеаризация динамической модели катера

Здравствуйте.     Реализовал модель динамики катера (плоское движение, два управляющих сигнала (сила и момент), 6 параметров состояния)  и его систему управления через LQR регулятор, то...

Здравствуйте.

    Реализовал модель динамики катера (плоское движение, два управляющих сигнала (сила и момент), 6 параметров состояния)  и его систему управления через LQR регулятор, точки линеаризации получал вручную, используя блок Model linearizer. 

    Сейчас пытаюсь реализовать алгоритм автоматической линеаризации используя текущие точки (параметры состояния) системы при условии изменения последних на какую-то, определяемую мной величину. 

    Подхожу к этой задаче постепенно, например линеаризовав в начальной точке х0 через следующий код, подгружаемый в simulink через interpreted MATLAB Fcn:

 

function A = ls(x0)

op = x0; %linearization point

io = getlinio('SimPlanarVehicle');%

%% Create the options
opt = linearizeOptions('StoreAdvisor',true);

%% Linearize the model
sys = linearize('SimPlanarVehicle',io,op,opt);

A=sys.a;

end

 

При запуске симуляции выдает ошибку:

Cannot change the 'ModelReferenceNormalModeCallback' parameter while the model 'SimPlanarVehicle' is running 

Что это значит?

Подскажите как реализовать автоматический алгоритм линеаризации.

Заранее спасибо!

 

Теги

    08.09.2021

    Комментарии