equal
deleted
inserted
replaced
|
1 #!/usr/bin/python |
|
2 ## 2.1 |
|
3 |
|
4 from numpy import zeros |
|
5 |
|
6 def pend_model(): |
|
7 Km = 0.00767 |
|
8 Kg = 3.7 |
|
9 Rm = 2.6 |
|
10 r = 0.00635 |
|
11 M = 0.522 |
|
12 m = 0.231 |
|
13 g = 9.81 |
|
14 L = 0.305 |
|
15 J = 0 |
|
16 |
|
17 D1 = (J+m*L**2)*(M+m)-m**2*L**2 |
|
18 alpha = m*g*L*(M+m)/D1 |
|
19 beta1 = m*L/D1 |
|
20 gamma1 = m**2*g*L**2/D1 |
|
21 delta = (J+m*L**2)/D1 |
|
22 |
|
23 alpha1 = Km*Kg/Rm/r; |
|
24 alpha2 = Km**2*Kg**2/Rm/r**2 |
|
25 |
|
26 A = zeros([4,4]) |
|
27 A[0,2] = 1 |
|
28 A[1,3] = 1 |
|
29 A[2,1] = -gamma1 |
|
30 A[2,2] = -alpha2*delta |
|
31 A[3,1] = alpha |
|
32 A[3,2] = alpha2*beta1 |
|
33 |
|
34 B = zeros([4,1]) |
|
35 B[2] = alpha1*delta |
|
36 B[3] = -alpha1*beta1 |
|
37 |
|
38 return A, B |
|
39 |
|
40 if __name__ == "__main__": |
|
41 A, B = pend_model() |
|
42 print "A", A |
|
43 print "B", B |