Error using filter_eliminatation (line 15)
Cannot get rid of nonlinear uncertainty in uncertain constraint
Error in robustify (line 141)
[UncertainModel.F_xw,F_elimination] = filter_eliminatation(UncertainModel.F_xw,w,1,ops);
Error in solverobust (line 64)
[F,h,failure] = robustify(varargin{:});
Error in solvesdp (line 177)
diagnostic = solverobust(F(find(~unc_declarations)),h,options,recover(getvariables(sdpvar(F(find(unc_declarations))))));
Error in optimize (line 31)
varargout{:} = solvesdp(varargin{:});
vvect=sdpvar(nu,N);xvect=sdpvar(nx,N+1);
constraints=[];objective=0;constraints=[constraints, xvect(:,1)==xnom0];
w=sdpvar(2,1); %for Minkowski differenceww=sdpvar; %for Minkowski differencefor i=1:N
constraints=[constraints, ismember(xvect(:,i+1)+w,X), uncertain(w),ismember(w,X), ...];endfor i=1:N
objective= objective + xvect(:,i)'*Q*xvect(:,i) + R*(vvect(i))^2;endobjective = objective + xvect(:,N+1)'*P*xvect(:,N+1)
optimize(constraints,objective);
close allclear allclc%preliminariesA=[1 1;0 1]; B=[0.5;1];f=@(x,u) A*x+B*u;K=[-0.4345 -1.0285];N=6;Q=eye(2); R=1;P=[4.7342 2.2361; 2.236 5.1750];Pi=[3.4309 1.4534; 1.4534 3.3298];nu=1; nx=2;xnom0=[4;2];bstar=0.02;alpha=50.3583;CLF=@(x,y)(x-y)'*P*(x-y);XA=[eye(2);-eye(2)]; Xb=5*[1;1;1;1]; X=Polyhedron(XA,Xb);UA=[1;-1]; Ub=4*[1;1]; U=Polyhedron(UA,Ub);%MPCyalmip('clear')vvect=sdpvar(nu,N); %index 0 .. N-1xvect=sdpvar(nx,N+1); %index 0 .. N
constraints=[];objective=0;constraints=[constraints, xvect(:,1)==xnom0];
w=sdpvar(nx,N+1); %for Minkowski difference with xww=sdpvar(nu,N); %for Minkowski difference with vmyx=sdpvar(2,1);for i=1:N %0:(N-1) constraints=[constraints, xvect(:,i+1)==f(xvect(:,i),K*xvect(:,i)+vvect(i))] constraints=[constraints, ismember(xvect(:,i+1)+w(:,i+1),X), uncertain(w(:,i+1)), %:ismember(x(:,i+1),X-E), ismember(w(:,i+1),X), CLF(w(:,i+1),xnom0)<=bstar, %:(contains) ismember(w,E) ismember(vvect(i)+ww(i),U), uncertain(ww(i)), %:ismember(vvect(i),U-KX) ww(i)==K*myx, ismember(myx,X)%:(contains) ismember(w,K*X) ];end
%% section *constraints=[constraints, uncertain(w(:,N+1)), %: ismember(x(:,N+1),XF-E) (xvect(:,N+1)+w(:,N+1))'*Pi*(xvect(:,N+1)+w(:,N+1))<=alpha,%:(contains) ismember(xvect(:,N+1)+w,XF) ismember(w(:,N+1),X), CLF(w(:,N+1),xnom0)<=bstar]; %:(contains) ismember(w,E)
%% ctd
for i=1:N objective= objective + xvect(:,i)'*Q*xvect(:,i) + R*(vvect(i))^2;endobjective = objective + xvect(:,N+1)'*P*xvect(:,N+1);optimize(constraints,objective);