Extended Kalman Filter state transition parameters
1 次查看(过去 30 天)
显示 更早的评论
As a follow up to this question, I am wondering how to correctly input a vector of additional parameters to an EKF block.
The state transition function is a wrapper of the state function used for a NLMPC.
Similar to the following example: Swing-Up Control of a Pendulum. My state function works using additional parameters like the "Ts" used in the example. In my case, however, the additional parameters are some signals U from my plant plus 37 predefined parameters in the base workspace.
This parameters are given as a vector "p".
For now I have tried using a mux:
The simulation fails during compilation with the following error:
The function used as a wrapper looks as follows:
function xk1 = stateFcnEKF_mixBufRd_wrapper(xk, u)
% Wrapper function for the State function used by the Extended Kalman Filter block.
%
%
% u = [signal1 signal2 signal3 signal4 p]
%
% Outputs:
% xk1: Updated state values based on xk and uk
uk = [u(1) u(2) u(3) u(4)];
p = u(5); % <----- vector of 37 parameters defined in base workspace
xk1 = stateFcnDT0_mixBufRd(xk, uk, p); % <----- function used in NLMPC
Any ideas how the configuration of blocks should look like?
I have tried using IC and signal description blocks but I am not sure of the correct input definition.
0 个评论
采纳的回答
更多回答(1 个)
Emmanouil Tzorakoleftherakis
2023-1-27
Glad you figured it out. By the way, this example shows the general workflow of using NLMPC + EKF with additional parameters
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Model Predictive Control Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!