What is the 'MeasurementFcn1Inputs' input on the Extended Kalman Filter Simulink block?

7 ビュー (過去 30 日間)
I'm trying to implement an Extended Kalman Filter Simulink block similar to the example shown for the inverted pendulum here which looks like this and works:
However, when I copy and edit this block, or when I try to recreate one from a new block, it adds a third input called 'MeasurementFcn1Inputs':
What is this? Should it be there or how do I remove it? (I only have one set of measurements and did not specify 'MeasurementFcn1Inputs').
Here are the properties of my block:
When I click 'Remove Measurement' it reports a warning in the dialog box:
7015/homeworks/hw5/SwingupControlOfPendulumUsingNMPCExample/mpc_pendcartNMPC.slx. The file higher on the MATLAB path is: /Applications/MATLAB_R2019b.app/examples/mpc/mpc_pendcartNMPC.slx
Component:Simulink | Category:Block diagram warning
If I click 'Add Measurement' it adds a fourth input called 'y2'.
If I then click 'Remove Measurement' twice it removes the 'y2' measurement then reports the following in the diagnostics window:
At least one measurement model is required in robot_nmpc_sim/State Estimator (EKF).
At least one measurement model is required in robot_nmpc_sim/State Estimator (EKF).
This behaviour is repeatable (with a new EKF block or by copying and pasting the one from the Pendulum example and editing it).

採用された回答

Bill Tubbs
Bill Tubbs 2021 年 4 月 5 日
I found the problem.
I was using the same function (robot_outputs) for the NLMPC and the EKF:
function y = robot_outputs(x,u)
% Output equation
y = x([1 2 3 4 5 7 8]);
end
But the EKF requires a different function (without the u argument):
function y = robot_measurements(x)
% Measurement function
y = x([1 2 3 4 5 7 8]);
end

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeOnline Estimation についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by