summaryrefslogtreecommitdiffstats
path: root/templates/generate_system_cont.m
blob: 048ee7b9f778cbc0b8f3799e4eb8eb5a77e97b14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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 [Ac, Bc] = generate_system_cont(params)
  % YOUR CODE HERE
	omega_n_sq = params.model.GravitationalParameter / params.model.TargetRadius^3;
	omega_n = sqrt(omega_n_sq);

	Ac = [
		zeros(3), eye(3);
		3*omega_n_sq, 0, 0,           0,          2*omega_n, 0;
		0,            0, 0,           -2*omega_n, 0,         0;
		0,            0, -omega_n_sq, 0,          0,         0;
	];

	Bc = [zeros(3);  eye(3);] / params.model.Mass;
end