制御対象の Simulink に連続システムがあるとします。まず、システムの状態を推定するためにカルマン フィルターを適用します。次の段階では、次のようx_hat
にモデル予測コントローラー関数を呼び出す埋め込み MATLAB 関数で、推定された状態 ( )を使用します。my_mpc
function [u]= emd_fcn(x_hat , r, t, Ts)
% x_hat: estimated state, r: reference to be tracked,
t: clock time, Ts: sampling period
%#codegen
coder.extrinsic('my_mpc'); % to call the function my_mpc
----- % some initialization code
if mod(t, Ts)==0
u=my_mpc(x, r)
else
u=-----; % some code.
end
end
ただし、時刻t
は可変であるmod(t, Ts) == 0
ため、そうではありません。私の質問は次のとおりです。離散 mpc 制御入力を連続システムに適用するために、サンプリングの瞬間をどのように検出できますか?