Skip to content

Commit 4684ebe

Browse files
authored
Add support for UR18 (#340)
1 parent 2c8bd46 commit 4684ebe

16 files changed

+1122
-5
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ users an overview of the current released state.
1717

1818

1919
## License
20-
The [UR8LONG meshes](meshes/ur8long), [UR15 meshes](meshes/ur15), [UR20 meshes](meshes/ur20) and [UR30 meshes](meshes/ur30) constitutes “Graphical Documentation” the use of which is subject to and governed by our “[Terms and Conditions for use of Graphical Documentation](https://www.universal-robots.com/legal/terms-and-conditions/terms_and_conditions_for_use_of_graphical_documentation.txt)”.
20+
The [UR8LONG meshes](meshes/ur8long), [UR15 meshes](meshes/ur15), [UR18 meshes](meshes/ur18), [UR20 meshes](meshes/ur20) and [UR30 meshes](meshes/ur30) constitutes “Graphical Documentation” the use of which is subject to and governed by our “[Terms and Conditions for use of Graphical Documentation](https://www.universal-robots.com/legal/terms-and-conditions/terms_and_conditions_for_use_of_graphical_documentation.txt)”.
2121

22-
Universal Robots' [Terms and Conditions for use of Graphical Documentation](https://www.universal-robots.com/legal/terms-and-conditions/terms_and_conditions_for_use_of_graphical_documentation.txt) do not fully comply with [OSI's definition of Open Source](https://opensource.org/osd/), but they do allow you to use, modify and share “Graphical Documentation”, including [UR8LONG meshes](meshes/ur8long), [UR15 meshes](meshes/ur15), [UR20](meshes/ur20) and [UR30](meshes/ur30) meshes, subject to certain restrictions.\
22+
Universal Robots' [Terms and Conditions for use of Graphical Documentation](https://www.universal-robots.com/legal/terms-and-conditions/terms_and_conditions_for_use_of_graphical_documentation.txt) do not fully comply with [OSI's definition of Open Source](https://opensource.org/osd/), but they do allow you to use, modify and share “Graphical Documentation”, including [UR8LONG meshes](meshes/ur8long), [UR15 meshes](meshes/ur15), [UR18 meshes](meshes/ur18), [UR20](meshes/ur20) and [UR30](meshes/ur30) meshes, subject to certain restrictions.\
2323
If you have any questions regarding this license or if this license doesn't fit your use-case, please contact [[email protected]](mailto:[email protected]).
2424

2525
All other content is licensed under the BSD-3-Clause license
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
kinematics:
2+
shoulder:
3+
x: 0
4+
y: 0
5+
z: 0.21859999999999999
6+
roll: -0
7+
pitch: 0
8+
yaw: -0
9+
upper_arm:
10+
x: 0
11+
y: 0
12+
z: 0
13+
roll: 1.570796327
14+
pitch: 0
15+
yaw: -0
16+
forearm:
17+
x: -0.47499999999999998
18+
y: 0
19+
z: 0
20+
roll: -0
21+
pitch: 0
22+
yaw: -0
23+
wrist_1:
24+
x: -0.33889999999999998
25+
y: 0
26+
z: 0.18240000000000001
27+
roll: -0
28+
pitch: 0
29+
yaw: -0
30+
wrist_2:
31+
x: 0
32+
y: -0.1361
33+
z: -2.7914576620936571e-11
34+
roll: 1.570796327
35+
pitch: 0
36+
yaw: -0
37+
wrist_3:
38+
x: 0
39+
y: 0.1434
40+
z: -2.941183164909849e-11
41+
roll: 1.5707963265897931
42+
pitch: 3.1415926535897931
43+
yaw: 3.1415926535897931
44+
hash: calib_141559178124808281

config/ur18/joint_limits.yaml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
joint_limits:
3+
shoulder_pan_joint:
4+
# acceleration limits are not publicly available
5+
has_acceleration_limits: false
6+
has_effort_limits: true
7+
has_position_limits: true
8+
has_velocity_limits: true
9+
max_effort: 433.0
10+
max_position: !degrees 360.0
11+
max_velocity: !degrees 180.0
12+
min_position: !degrees -360.0
13+
shoulder_lift_joint:
14+
# acceleration limits are not publicly available
15+
has_acceleration_limits: false
16+
has_effort_limits: true
17+
has_position_limits: true
18+
has_velocity_limits: true
19+
max_effort: 433.0
20+
max_position: !degrees 360.0
21+
max_velocity: !degrees 180.0
22+
min_position: !degrees -360.0
23+
elbow_joint:
24+
# acceleration limits are not publicly available
25+
has_acceleration_limits: false
26+
has_effort_limits: true
27+
has_position_limits: true
28+
has_velocity_limits: true
29+
max_effort: 204.0
30+
# we artificially limit this joint to half its actual joint position limit
31+
# to avoid (MoveIt/OMPL) planning problems, as due to the physical
32+
# construction of the robot, it's impossible to rotate the 'elbow_joint'
33+
# over more than approx +- 1 pi (the shoulder lift joint gets in the way).
34+
#
35+
# This leads to planning problems as the search space will be divided into
36+
# two sections, with no connections from one to the other.
37+
#
38+
# Refer to https://github.com/ros-industrial/universal_robot/issues/265 for
39+
# more information.
40+
max_position: !degrees 180.0
41+
max_velocity: !degrees 240.0
42+
min_position: !degrees -180.0
43+
wrist_1_joint:
44+
# acceleration limits are not publicly available
45+
has_acceleration_limits: false
46+
has_effort_limits: true
47+
has_position_limits: true
48+
has_velocity_limits: true
49+
max_effort: 70.0
50+
max_position: !degrees 360.0
51+
max_velocity: !degrees 300.0
52+
min_position: !degrees -360.0
53+
wrist_2_joint:
54+
# acceleration limits are not publicly available
55+
has_acceleration_limits: false
56+
has_effort_limits: true
57+
has_position_limits: true
58+
has_velocity_limits: true
59+
max_effort: 70.0
60+
max_position: !degrees 360.0
61+
max_velocity: !degrees 300.0
62+
min_position: !degrees -360.0
63+
wrist_3_joint:
64+
# acceleration limits are not publicly available
65+
has_acceleration_limits: false
66+
has_effort_limits: true
67+
has_position_limits: true
68+
has_velocity_limits: true
69+
max_effort: 70.0
70+
max_position: !degrees 360.0
71+
max_velocity: !degrees 300.0
72+
min_position: !degrees -360.0
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
---
2+
# Physical parameters
3+
4+
inertia_parameters:
5+
base_mass: 4.0 # This mass might be incorrect
6+
shoulder_mass: 9.9883
7+
upper_arm_mass: 14.2009
8+
forearm_mass: 5.52
9+
wrist_1_mass: 2.089
10+
wrist_2_mass: 2.0869
11+
wrist_3_mass: 1.0666
12+
13+
# used to approximate the inertia tensor of the fixed base using a cylinder approximation. This
14+
# is only relevant if the robot's base is moving e.g. when it's mounted on a mobile platform.
15+
links:
16+
base:
17+
radius: 0.17
18+
length: 0.1
19+
20+
center_of_mass:
21+
shoulder_cog:
22+
x: 0.000024 # model.x
23+
y: -0.025304 # -model.z
24+
z: -0.033309 # model.y
25+
upper_arm_cog:
26+
x: -0.166336 # model.x - upperarm_length
27+
y: -0.000088 # model.y
28+
z: 0.190204 # model.z
29+
forearm_cog:
30+
x: -0.139248 # model.x - forearm_length
31+
y: 0.000021 # model.y
32+
z: 0.073101 # model.z
33+
wrist_1_cog:
34+
x: 0.000025 # model.x
35+
y: -0.016413 # -model.z
36+
z: -0.019695 # model.y
37+
wrist_2_cog:
38+
x: 0.000025 # model.x
39+
y: 0.015886 # model.z
40+
z: -0.019960 # -model.y
41+
wrist_3_cog:
42+
x: -0.000018 # model.x
43+
y: -0.000112 # model.y
44+
z: -0.053397 # model.z
45+
46+
rotation:
47+
shoulder:
48+
roll: 1.570796326794897
49+
pitch: 0
50+
yaw: 0
51+
upper_arm:
52+
roll: 0
53+
pitch: 0
54+
yaw: 0
55+
forearm:
56+
roll: 0
57+
pitch: 0
58+
yaw: 0
59+
wrist_1:
60+
roll: 1.570796326794897
61+
pitch: 0
62+
yaw: 0
63+
wrist_2:
64+
roll: -1.570796326794897
65+
pitch: 0
66+
yaw: 0
67+
wrist_3:
68+
roll: 0
69+
pitch: 0
70+
yaw: 0
71+
72+
tensor:
73+
shoulder:
74+
ixx: 0.051334
75+
ixy: 0.000025
76+
ixz: -0.000016
77+
iyy: 0.047702
78+
iyz: 0.008805
79+
izz: 0.034263
80+
upper_arm:
81+
ixx: 0.045094
82+
ixy: 0.000179
83+
ixz: -0.024705
84+
iyy: 0.630805
85+
iyz: -0.000020
86+
izz: 0.625724
87+
forearm:
88+
ixx: 0.016891
89+
ixy: 0.000000
90+
ixz: 0.009081
91+
iyy: 0.129732
92+
iyz: 0.000003
93+
izz: 0.123451
94+
wrist_1:
95+
ixx: 0.004339
96+
ixy: 0.000019
97+
ixz: 0.000001
98+
iyy: 0.002548
99+
iyz: 0.000706
100+
izz: 0.003912
101+
wrist_2:
102+
ixx: 0.004288
103+
ixy: 0.000017
104+
ixz: -0.000003
105+
iyy: 0.002566
106+
iyz: -0.000716
107+
izz: 0.003927
108+
wrist_3:
109+
ixx: 0.001406
110+
ixy: -0.000003
111+
ixz: 0.000010
112+
iyy: 0.001404
113+
iyz: -0.000024
114+
izz: 0.001002

config/ur18/visual_parameters.yaml

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# Visualisation
2+
3+
mesh_files:
4+
base:
5+
visual:
6+
mesh:
7+
package: ur_description
8+
path: meshes/ur15/visual/base.dae
9+
collision:
10+
mesh:
11+
package: ur_description
12+
path: meshes/ur15/collision/base.stl
13+
mesh_offset:
14+
x: 0.0
15+
y: 0.0
16+
z: 0.0
17+
roll: 0.0
18+
pitch: 0.0
19+
yaw: !degrees 180
20+
21+
shoulder:
22+
visual:
23+
mesh:
24+
package: ur_description
25+
path: meshes/ur15/visual/shoulder.dae
26+
collision:
27+
mesh:
28+
package: ur_description
29+
path: meshes/ur15/collision/shoulder.stl
30+
mesh_offset:
31+
x: 0.0
32+
y: 0.0
33+
z: 0.0
34+
roll: 0.0
35+
pitch: 0.0
36+
yaw: !degrees 180
37+
38+
upper_arm:
39+
visual:
40+
mesh:
41+
package: ur_description
42+
path: meshes/ur18/visual/upperarm.dae
43+
collision:
44+
mesh:
45+
package: ur_description
46+
path: meshes/ur18/collision/upperarm.stl
47+
mesh_offset:
48+
x: 0.0
49+
y: 0.0
50+
z: 0.109
51+
roll: !degrees 90
52+
pitch: 0.0
53+
yaw: !degrees -90
54+
55+
forearm:
56+
visual:
57+
mesh:
58+
package: ur_description
59+
path: meshes/ur18/visual/forearm.dae
60+
collision:
61+
mesh:
62+
package: ur_description
63+
path: meshes/ur18/collision/forearm.stl
64+
mesh_offset:
65+
x: 0.0
66+
y: 0.0
67+
z: 0.13425
68+
roll: !degrees 90
69+
pitch: 0.0
70+
yaw: !degrees -90
71+
72+
wrist_1:
73+
visual:
74+
mesh:
75+
package: ur_description
76+
path: meshes/ur15/visual/wrist1.dae
77+
collision:
78+
mesh:
79+
package: ur_description
80+
path: meshes/ur15/collision/wrist1.stl
81+
mesh_offset:
82+
x: 0.0
83+
y: 0.0
84+
z: -0.0502
85+
roll: !degrees 90
86+
pitch: 0.0
87+
yaw: 0.0
88+
89+
wrist_2:
90+
visual:
91+
mesh:
92+
package: ur_description
93+
path: meshes/ur15/visual/wrist2.dae
94+
collision:
95+
mesh:
96+
package: ur_description
97+
path: meshes/ur15/collision/wrist2.stl
98+
mesh_offset:
99+
x: 0.0
100+
y: 0.0
101+
z: -0.064
102+
roll: 0.0
103+
pitch: 0.0
104+
yaw: 0.0
105+
106+
wrist_3:
107+
visual:
108+
mesh:
109+
package: ur_description
110+
path: meshes/ur15/visual/wrist3.dae
111+
collision:
112+
mesh:
113+
package: ur_description
114+
path: meshes/ur15/collision/wrist3.stl
115+
mesh_offset:
116+
x: 0.0
117+
y: 0.0
118+
z: -0.0715
119+
roll: !degrees 90
120+
pitch: 0.0
121+
yaw: 0.0

launch/view_ur.launch.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ def generate_launch_description():
5555
"ur16e",
5656
"ur8long",
5757
"ur15",
58+
"ur18",
5859
"ur20",
5960
"ur30",
6061
],

0 commit comments

Comments
 (0)