|
14 | 14 | np.set_printoptions(suppress=True) |
15 | 15 |
|
16 | 16 | def kevin(): |
17 | | - mm = pi |
18 | | - """alpha a theta d""" |
19 | | - dh = [ |
20 | | - {'alpha': 0, 'a': 0, 'theta': 0, 'd': 0, 'type': 1}, |
21 | | - {'alpha': pi/2, 'a': 50, 'theta': 0, 'd': 0, 'type': 1}, |
22 | | - {'alpha': 0, 'a': 65, 'theta': 0, 'd': 0, 'type': 1}, |
23 | | - {'alpha': 0, 'a': 68, 'theta': 0, 'd': 0, 'type': 1, 'fixed': True} |
24 | | - ] |
| 17 | + mm = pi |
| 18 | + """alpha a theta d""" |
| 19 | + dh = [ |
| 20 | + {'alpha': 0, 'a': 0, 'theta': 0, 'd': 0, 'type': 1, "degrees": False}, |
| 21 | + {'alpha': pi/2, 'a': 50, 'theta': 0, 'd': 0, 'type': 1, "degrees": False}, |
| 22 | + {'alpha': 0, 'a': 65, 'theta': 0, 'd': 0, 'type': 1, "degrees": False}, |
| 23 | + {'alpha': 0, 'a': 68, 'theta': 0, 'd': 0, 'type': 1, 'fixed': True, "degrees": False} |
| 24 | + ] |
25 | 25 |
|
26 | | - return dh |
| 26 | + return dh |
27 | 27 |
|
28 | 28 | def main(): |
29 | | - # l = RevoluteLink(1,2,3,4) |
| 29 | + # l = RevoluteLink(1,2,3,4) |
30 | 30 |
|
31 | | - t = kevin() |
32 | | - kc = KinematicChain.from_parameters(t) |
33 | | - print(f">> size: {kc.size}") |
| 31 | + t = kevin() |
| 32 | + kc = KinematicChain.from_parameters(t) |
| 33 | + print(f">> size: {kc.size}") |
34 | 34 |
|
35 | | - for l in kc: |
36 | | - print(f">> {l}") |
| 35 | + for l in kc: |
| 36 | + print(f">> {l}") |
37 | 37 |
|
38 | | - t = kc.forward(np.deg2rad([0,0,0,0])) |
39 | | - print(t) |
| 38 | + t = kc.forward([0,0,0,0]) |
| 39 | + print(">> forward [0,0,0,0]:", t) |
40 | 40 |
|
41 | | - t = kc.forward(np.deg2rad([0,82.62,-154.1,0])) |
42 | | - print(t) |
| 41 | + t = kc.forward_d([0,82.62,-154.1,0]) |
| 42 | + print(">> forward [other]:", t) |
43 | 43 |
|
44 | | - jnts = kc.inverse(t) |
45 | | - print(">> ", np.rad2deg(jnts)) |
46 | 44 |
|
47 | | - p = np.array([ |
48 | | - [0,1,0, 80], |
49 | | - [0,0,-1,0], |
50 | | - [-1,0,0,0], |
51 | | - [0,0,0,1] |
52 | | - ]) |
| 45 | + t = kc.get_transform(np.deg2rad([0,82.62,-154.1,0])) |
| 46 | + jnts = kc.inverse_d(t) |
| 47 | + print(">> inverse:", jnts) |
53 | 48 |
|
54 | | - # p = np.array([ |
55 | | - # [1,0,0, 80], |
56 | | - # [0,1,0,0], |
57 | | - # [0,0,1,0], |
58 | | - # [0,0,0,1] |
59 | | - # ]) |
| 49 | + p = np.array([ |
| 50 | + [0,1,0, 80], |
| 51 | + [0,0,-1,0], |
| 52 | + [-1,0,0,0], |
| 53 | + [0,0,0,1] |
| 54 | + ]) |
60 | 55 |
|
61 | | - jnts = kc.inverse(p) |
62 | | - print(">> ", np.rad2deg(jnts)) |
| 56 | + # p = np.array([ |
| 57 | + # [1,0,0, 80], |
| 58 | + # [0,1,0,0], |
| 59 | + # [0,0,1,0], |
| 60 | + # [0,0,0,1] |
| 61 | + # ]) |
| 62 | + |
| 63 | + jnts = kc.inverse(p) |
| 64 | + print(">> inverse array:", np.rad2deg(jnts)) |
| 65 | + |
| 66 | + print(">> current link params [deg]:") |
| 67 | + for l in kc.get_links_d(): |
| 68 | + print(l) |
63 | 69 |
|
64 | 70 | if __name__ == "__main__": |
65 | | - main() |
| 71 | + main() |
0 commit comments