Project

General

Profile

« Previous | Next » 

Revision f36a76f7

Added by Pierre-Loïc Garoche over 6 years ago

Added Jack and John's example: rendezvous maneuver

View differences:

tests/ctl/cu_boulder/test_discrete_PP.lus
1
-- This file has been generated by CoCoSim
2

  
3

  
4
-- System nodes
5
node test_discrete_PP_Integrator1 (f_lpar_x_rpar__1_1 : real; f_lpar_x_rpar__1_2 : real; f_lpar_x_rpar__1_3 : real)
6
returns (F_lpar_x_rpar__1_1 : real; F_lpar_x_rpar__1_2 : real; F_lpar_x_rpar__1_3 : real); 
7
var
8
	Sample_1_1 : real; Sample_1_2 : real; Sample_1_3 : real;
9
	Sum1_1_1 : real; Sum1_1_2 : real; Sum1_1_3 : real;
10
	UnitDelay_1_1 : real; UnitDelay_1_2 : real; UnitDelay_1_3 : real;
11
let 
12

  
13
	Sample_1_1 = 1.00000000 * f_lpar_x_rpar__1_1;
14
	Sample_1_2 = 1.00000000 * f_lpar_x_rpar__1_2;
15
	Sample_1_3 = 1.00000000 * f_lpar_x_rpar__1_3;
16
	Sum1_1_1 = Sample_1_1 + UnitDelay_1_1;
17
	Sum1_1_2 = Sample_1_2 + UnitDelay_1_2;
18
	Sum1_1_3 = Sample_1_3 + UnitDelay_1_3;
19
	UnitDelay_1_1 = 0.00000000 -> pre Sum1_1_1;
20
	UnitDelay_1_2 = 0.00000000 -> pre Sum1_1_2;
21
	UnitDelay_1_3 = 0.00000000 -> pre Sum1_1_3;
22
	F_lpar_x_rpar__1_1 = UnitDelay_1_1;
23
	F_lpar_x_rpar__1_2 = UnitDelay_1_2;
24
	F_lpar_x_rpar__1_3 = UnitDelay_1_3;
25
tel
26

  
27
node test_discrete_PP_Integrator (f_lpar_x_rpar__1_1 : real; f_lpar_x_rpar__1_2 : real; f_lpar_x_rpar__1_3 : real)
28
returns (F_lpar_x_rpar__1_1 : real; F_lpar_x_rpar__1_2 : real; F_lpar_x_rpar__1_3 : real); 
29
var
30
	Sample_1_1 : real; Sample_1_2 : real; Sample_1_3 : real;
31
	Sum1_1_1 : real; Sum1_1_2 : real; Sum1_1_3 : real;
32
	UnitDelay_1_1 : real; UnitDelay_1_2 : real; UnitDelay_1_3 : real;
33
let 
34

  
35
	Sample_1_1 = 1.00000000 * f_lpar_x_rpar__1_1;
36
	Sample_1_2 = 1.00000000 * f_lpar_x_rpar__1_2;
37
	Sample_1_3 = 1.00000000 * f_lpar_x_rpar__1_3;
38
	Sum1_1_1 = Sample_1_1 + UnitDelay_1_1;
39
	Sum1_1_2 = Sample_1_2 + UnitDelay_1_2;
40
	Sum1_1_3 = Sample_1_3 + UnitDelay_1_3;
41
	UnitDelay_1_1 = 0.00000000 -> pre Sum1_1_1;
42
	UnitDelay_1_2 = -20.00000000 -> pre Sum1_1_2;
43
	UnitDelay_1_3 = 0.00000000 -> pre Sum1_1_3;
44
	F_lpar_x_rpar__1_1 = UnitDelay_1_1;
45
	F_lpar_x_rpar__1_2 = UnitDelay_1_2;
46
	F_lpar_x_rpar__1_3 = UnitDelay_1_3;
47
tel
48

  
49
node test_discrete_PP (omega_d_1_1 : real; omega_d_1_2 : real; omega_d_1_3 : real)
50
returns (a_1_1 : real; a_1_2 : real; a_1_3 : real;
51
	v_2_1 : real; v_2_2 : real; v_2_3 : real;
52
	p_3_1 : real; p_3_2 : real; p_3_3 : real); 
53
var
54
	CrossProduct_1_1 : real; CrossProduct_1_2 : real; CrossProduct_1_3 : real;
55
	CrossProduct1_1_1 : real; CrossProduct1_1_2 : real; CrossProduct1_1_3 : real;
56
	Integrator_1_1 : real; Integrator_1_2 : real; Integrator_1_3 : real;
57
	Integrator1_1_1 : real; Integrator1_1_2 : real; Integrator1_1_3 : real;
58
	Sum_1_1 : real; Sum_1_2 : real; Sum_1_3 : real;
59
	Sum1_1_1 : real; Sum1_1_2 : real; Sum1_1_3 : real;
60
	Sum2_1_1 : real; Sum2_1_2 : real; Sum2_1_3 : real;
61
	UnitDelay_1_1 : real; UnitDelay_1_2 : real; UnitDelay_1_3 : real;
62
	UnitDelay1_1_1 : real; UnitDelay1_1_2 : real; UnitDelay1_1_3 : real;
63
	UnitDelay2_1_1 : real; UnitDelay2_1_2 : real; UnitDelay2_1_3 : real;
64
	k_p_1_1 : real; k_p_1_2 : real; k_p_1_3 : real;
65
	k_v_1_1 : real; k_v_1_2 : real; k_v_1_3 : real;
66
	i_virtual_local : real;
67
let 
68

  
69
	CrossProduct_1_1 = omega_d_1_2 * UnitDelay_1_3 - omega_d_1_3 * UnitDelay_1_2;
70
	CrossProduct_1_2 = -(omega_d_1_1 * UnitDelay_1_3 - omega_d_1_3 * UnitDelay_1_1);
71
	CrossProduct_1_3 = omega_d_1_1 * UnitDelay_1_2 - omega_d_1_2 * UnitDelay_1_1;
72
	CrossProduct1_1_1 = omega_d_1_2 * UnitDelay2_1_3 - omega_d_1_3 * UnitDelay2_1_2;
73
	CrossProduct1_1_2 = -(omega_d_1_1 * UnitDelay2_1_3 - omega_d_1_3 * UnitDelay2_1_1);
74
	CrossProduct1_1_3 = omega_d_1_1 * UnitDelay2_1_2 - omega_d_1_2 * UnitDelay2_1_1;
75
	(Integrator_1_1, Integrator_1_2, Integrator_1_3) = test_discrete_PP_Integrator(Sum2_1_1, Sum2_1_2, Sum2_1_3);
76
	(Integrator1_1_1, Integrator1_1_2, Integrator1_1_3) = test_discrete_PP_Integrator1(Sum1_1_1, Sum1_1_2, Sum1_1_3);
77
	Sum_1_1 =  - k_v_1_1 - k_p_1_1;
78
	Sum_1_2 =  - k_v_1_2 - k_p_1_2;
79
	Sum_1_3 =  - k_v_1_3 - k_p_1_3;
80
	Sum1_1_1 = Sum_1_1 - CrossProduct1_1_1;
81
	Sum1_1_2 = Sum_1_2 - CrossProduct1_1_2;
82
	Sum1_1_3 = Sum_1_3 - CrossProduct1_1_3;
83
	Sum2_1_1 = UnitDelay2_1_1 - CrossProduct_1_1;
84
	Sum2_1_2 = UnitDelay2_1_2 - CrossProduct_1_2;
85
	Sum2_1_3 = UnitDelay2_1_3 - CrossProduct_1_3;
86
	UnitDelay_1_1 = 0.00000000 -> pre Integrator_1_1;
87
	UnitDelay_1_2 = -20.00000000 -> pre Integrator_1_2;
88
	UnitDelay_1_3 = 0.00000000 -> pre Integrator_1_3;
89
	UnitDelay1_1_1 = 0.00000000 -> pre Integrator1_1_1;
90
	UnitDelay1_1_2 = 0.00000000 -> pre Integrator1_1_2;
91
	UnitDelay1_1_3 = 0.00000000 -> pre Integrator1_1_3;
92
	UnitDelay2_1_1 = 0.00000000 -> pre Integrator1_1_1;
93
	UnitDelay2_1_2 = 0.00000000 -> pre Integrator1_1_2;
94
	UnitDelay2_1_3 = 0.00000000 -> pre Integrator1_1_3;
95
	k_p_1_1 = 1.00000000 * UnitDelay_1_1;
96
	k_p_1_2 = 1.00000000 * UnitDelay_1_2;
97
	k_p_1_3 = 1.00000000 * UnitDelay_1_3;
98
	k_v_1_1 = 1.00000000 * UnitDelay1_1_1;
99
	k_v_1_2 = 1.00000000 * UnitDelay1_1_2;
100
	k_v_1_3 = 1.00000000 * UnitDelay1_1_3;
101
	a_1_1 = Sum_1_1;
102
	a_1_2 = Sum_1_2;
103
	a_1_3 = Sum_1_3;
104
	v_2_1 = Integrator1_1_1;
105
	v_2_2 = Integrator1_1_2;
106
	v_2_3 = Integrator1_1_3;
107
	p_3_1 = Integrator_1_1;
108
	p_3_2 = Integrator_1_2;
109
	p_3_3 = Integrator_1_3;
110
	i_virtual_local= 0.0 -> 1.0;
111
tel
112

  

Also available in: Unified diff