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
|