Skip to content

Commit 201b244

Browse files
authored
Add support for UR15 (#290)
1 parent e481eff commit 201b244

27 files changed

+2044
-6
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ repos:
3636
# This need to be a one to one copy from the Universal Robots legal no matter trailing spaces or not
3737
exclude: |
3838
(?x)^(
39+
meshes/ur15/LICENSE.txt|
3940
meshes/ur20/LICENSE.txt|
4041
meshes/ur30/LICENSE.txt
4142
)$

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 [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 [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)”.
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 [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 [UR15 meshes](meshes/ur15), [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.64749999999999996
18+
y: 0
19+
z: 0
20+
roll: -0
21+
pitch: 0
22+
yaw: -0
23+
wrist_1:
24+
x: -0.51639999999999997
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_16739373764049705779

config/ur15/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.9255
8+
forearm_mass: 6.1015
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.228491 # model.x - upperarm_length
27+
y: -0.000083 # model.y
28+
z: 0.192787 # model.z
29+
forearm_cog:
30+
x: -0.210929 # model.x - forearm_length
31+
y: 0.000019 # model.y
32+
z: 0.070552 # 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.048202
82+
ixy: 0.000232
83+
ixz: -0.032135
84+
iyy: 1.188499
85+
iyz: -0.000017
86+
izz: 1.182771
87+
forearm:
88+
ixx: 0.018481
89+
ixy: -0.000005
90+
ixz: 0.013601
91+
iyy: 0.303502
92+
iyz: 0.000003
93+
izz: 0.296843
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/ur15/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/ur15/visual/upperarm.dae
43+
collision:
44+
mesh:
45+
package: ur_description
46+
path: meshes/ur15/collision/upperarm.stl
47+
mesh_offset:
48+
x: 0.0
49+
y: 0.0
50+
z: 0.100
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/ur15/visual/forearm.dae
60+
collision:
61+
mesh:
62+
package: ur_description
63+
path: meshes/ur15/collision/forearm.stl
64+
mesh_offset:
65+
x: 0.0
66+
y: 0.0
67+
z: 0.125
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
@@ -53,6 +53,7 @@ def generate_launch_description():
5353
"ur10e",
5454
"ur12e",
5555
"ur16e",
56+
"ur15",
5657
"ur20",
5758
"ur30",
5859
],

0 commit comments

Comments
 (0)