@@ -39,7 +39,6 @@ class UR10(DHRobot):
39
39
""" # noqa
40
40
41
41
def __init__ (self , symbolic = False ):
42
-
43
42
if symbolic :
44
43
import spatialmath .base .symbolic as sym
45
44
@@ -59,7 +58,7 @@ def __init__(self, symbolic=False):
59
58
60
59
alpha = [pi / 2 , zero , zero , pi / 2 , - pi / 2 , zero ]
61
60
62
- # mass data, no inertia available
61
+ # mass data
63
62
mass = [7.1 , 12.7 , 4.27 , 2.000 , 2.000 , 0.365 ]
64
63
center_of_mass = [
65
64
[0.021 , 0 , 0.027 ],
@@ -69,11 +68,38 @@ def __init__(self, symbolic=False):
69
68
[0.0 , 0.007 , 0.018 ],
70
69
[0 , 0 , - 0.026 ],
71
70
]
71
+
72
+ # inertia matrices for each link
73
+ inertia = [
74
+ np .array (
75
+ [[0.0341 , 0 , - 0.0043 ], [0 , 0.0353 , 0.0001 ], [- 0.0043 , 0.0001 , 0.0216 ]]
76
+ ),
77
+ np .array (
78
+ [[0.0281 , 0.0001 , - 0.0156 ], [0.0001 , 0.7707 , 0 ], [- 0.0156 , 0 , 0.7694 ]]
79
+ ),
80
+ np .array (
81
+ [[0.0101 , 0.0001 , 0.0092 ], [0.0001 , 0.3093 , 0 ], [0.0092 , 0 , 0.3065 ]]
82
+ ),
83
+ np .array (
84
+ [[0.0030 , - 0.0000 , 0 ], [- 0.0000 , 0.0022 , - 0.0002 ], [0 , - 0.0002 , 0.0026 ]]
85
+ ),
86
+ np .array (
87
+ [[0.0030 , - 0.0000 , 0 ], [- 0.0000 , 0.0022 , - 0.0002 ], [0 , - 0.0002 , 0.0026 ]]
88
+ ),
89
+ np .array ([[0 , 0 , 0 ], [0 , 0.0004 , 0 ], [0 , 0 , 0.0003 ]]),
90
+ ]
91
+
72
92
links = []
73
93
74
94
for j in range (6 ):
75
95
link = RevoluteDH (
76
- d = d [j ], a = a [j ], alpha = alpha [j ], m = mass [j ], r = center_of_mass [j ], G = 1
96
+ d = d [j ],
97
+ a = a [j ],
98
+ alpha = alpha [j ],
99
+ m = mass [j ],
100
+ r = center_of_mass [j ],
101
+ G = 1 ,
102
+ I = inertia [j ],
77
103
)
78
104
links .append (link )
79
105
@@ -93,7 +119,6 @@ def __init__(self, symbolic=False):
93
119
94
120
95
121
if __name__ == "__main__" : # pragma nocover
96
-
97
122
ur10 = UR10 (symbolic = False )
98
123
print (ur10 )
99
124
# print(ur10.dyntable())
0 commit comments