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

5 次查看(过去 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 CenterFile Exchange 中查找有关 Online Estimation 的更多信息

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by