summaryrefslogtreecommitdiffstats
path: root/templates/generate_constraints.m
blob: 008f50ca33a78527e79c1e527522b988fbb4171b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [H_u, h_u, H_x, h_x] = generate_constraints(params)
    % YOUR CODE HERE
    u_max = params.constraints.MaxAbsThrust;
    h_u = u_max * ones(6,1);
    H_u = [eye(3);-eye(3)];
    
    s_max = params.constraints.MaxAbsPositionXZ;
    y_max = params.constraints.MaxAbsPositionY;
    h_x = [s_max;y_max;s_max;s_max;y_max;s_max];
%     H_x = [eye(3);-eye(3)];
    H_x=[1,0,0,0,0,0;
       0,1,0,0,0,0;
       0,0,1,0,0,0;
       -1,0,0,0,0,0;
       0,-1,0,0,0,0;
       0,0,-1,0,0,0];
end