summaryrefslogtreecommitdiffstats
path: root/templates/MPC.m
diff options
context:
space:
mode:
authorYanzhenXiangRobotics <xyz000327@gmail.com>2023-04-25 20:41:27 +0200
committerYanzhenXiangRobotics <xyz000327@gmail.com>2023-04-25 20:41:27 +0200
commitc30079b64d19e8b46b111fb2110dbebf9ed32c37 (patch)
tree4ceac09270c411f426cf8f10f86f458ef1f92dd2 /templates/MPC.m
parentADD: pass system modeling test (diff)
downloadmpc_pe-c30079b64d19e8b46b111fb2110dbebf9ed32c37.tar.gz
mpc_pe-c30079b64d19e8b46b111fb2110dbebf9ed32c37.zip
ADD: .gitignore
Diffstat (limited to 'templates/MPC.m')
-rw-r--r--templates/MPC.m45
1 files changed, 0 insertions, 45 deletions
diff --git a/templates/MPC.m b/templates/MPC.m
deleted file mode 100644
index 3e9d2f1..0000000
--- a/templates/MPC.m
+++ /dev/null
@@ -1,45 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Copyright (c) 2023, Amon Lahr, Simon Muntwiler, Antoine Leeman & Fabian Flürenbrock Institute for Dynamic Systems and Control, ETH Zurich.
-%
-% All rights reserved.
-%
-% Please see the LICENSE file that has been included as part of this package.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-classdef MPC
- properties
- yalmip_optimizer
- end
-
- methods
- function obj = MPC(Q,R,N,params)
- nu = params.model.nu;
- nx = params.model.nx;
-
- % define optimization variables
- U = sdpvar(repmat(nu,1,N),ones(1,N),'full');
- X0 = sdpvar(nx,1,'full');
-
- % YOUR CODE HERE
-
- opts = sdpsettings('verbose',1,'solver','quadprog');
- obj.yalmip_optimizer = optimizer(constraints,objective,opts,X0,{U{1} objective});
- end
-
- function [u, ctrl_info] = eval(obj,x)
- %% evaluate control action by solving MPC problem, e.g.
- tic;
- [optimizer_out,errorcode] = obj.yalmip_optimizer(x);
- solvetime = toc;
-
- [u, objective] = optimizer_out{:};
-
- feasible = true;
- if (errorcode ~= 0)
- feasible = false;
- end
-
- ctrl_info = struct('ctrl_feas',feasible,'objective',objective,'solvetime',solvetime);
- end
- end
-end \ No newline at end of file