Skip to content

Commit 1701735

Browse files
authored
Add support for UR15 (#288)
1 parent 43a3bfe commit 1701735

26 files changed

+2008
-5
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: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
---
2+
# Physical parameters
3+
4+
offsets:
5+
shoulder_offset: 0.100 # measured from model
6+
elbow_offset: 0.125 # measured from model
7+
8+
inertia_parameters:
9+
base_mass: 4.0 # This mass might be incorrect
10+
shoulder_mass: 9.9883
11+
upper_arm_mass: 14.9255
12+
forearm_mass: 6.1015
13+
wrist_1_mass: 2.089
14+
wrist_2_mass: 2.0869
15+
wrist_3_mass: 1.0666
16+
17+
shoulder_radius: x0.060 # FROM UR5 CURRENTLY NOT USED ANYMORE
18+
upper_arm_radius: x0.054 # FROM UR5 CURRENTLY NOT USED ANYMORE
19+
elbow_radius: x0.060 # FROM UR5 CURRENTLY NOT USED ANYMORE
20+
forearm_radius: x0.040 # FROM UR5 CURRENTLY NOT USED ANYMORE
21+
wrist_radius: x0.045 # FROM UR5 CURRENTLY NOT USED ANYMORE
22+
23+
# used to approximate the inertia tensor of the fixed base using a cylinder approximation. This
24+
# is only relevant if the robot's base is moving e.g. when it's mounted on a mobile platform.
25+
links:
26+
base:
27+
radius: 0.17
28+
length: 0.1
29+
30+
center_of_mass:
31+
shoulder_cog:
32+
x: 0.000024 # model.x
33+
y: -0.025304 # -model.z
34+
z: -0.033309 # model.y
35+
upper_arm_cog:
36+
x: -0.228491 # model.x - upperarm_length
37+
y: -0.000083 # model.y
38+
z: 0.192787 # model.z
39+
forearm_cog:
40+
x: -0.210929 # model.x - forearm_length
41+
y: 0.000019 # model.y
42+
z: 0.070552 # model.z
43+
wrist_1_cog:
44+
x: 0.000025 # model.x
45+
y: -0.016413 # -model.z
46+
z: -0.019695 # model.y
47+
wrist_2_cog:
48+
x: 0.000025 # model.x
49+
y: 0.015886 # model.z
50+
z: -0.019960 # -model.y
51+
wrist_3_cog:
52+
x: -0.000018 # model.x
53+
y: -0.000112 # model.y
54+
z: -0.053397 # model.z
55+
56+
rotation:
57+
shoulder:
58+
roll: 1.570796326794897
59+
pitch: 0
60+
yaw: 0
61+
upper_arm:
62+
roll: 0
63+
pitch: 0
64+
yaw: 0
65+
forearm:
66+
roll: 0
67+
pitch: 0
68+
yaw: 0
69+
wrist_1:
70+
roll: 1.570796326794897
71+
pitch: 0
72+
yaw: 0
73+
wrist_2:
74+
roll: -1.570796326794897
75+
pitch: 0
76+
yaw: 0
77+
wrist_3:
78+
roll: 0
79+
pitch: 0
80+
yaw: 0
81+
82+
tensor:
83+
shoulder:
84+
ixx: 0.051334
85+
ixy: 0.000025
86+
ixz: -0.000016
87+
iyy: 0.047702
88+
iyz: 0.008805
89+
izz: 0.034263
90+
upper_arm:
91+
ixx: 0.048202
92+
ixy: 0.000232
93+
ixz: -0.032135
94+
iyy: 1.188499
95+
iyz: -0.000017
96+
izz: 1.182771
97+
forearm:
98+
ixx: 0.018481
99+
ixy: -0.000005
100+
ixz: 0.013601
101+
iyy: 0.303502
102+
iyz: 0.000003
103+
izz: 0.296843
104+
wrist_1:
105+
ixx: 0.004339
106+
ixy: 0.000019
107+
ixz: 0.000001
108+
iyy: 0.002548
109+
iyz: 0.000706
110+
izz: 0.003912
111+
wrist_2:
112+
ixx: 0.004288
113+
ixy: 0.000017
114+
ixz: -0.000003
115+
iyy: 0.002566
116+
iyz: -0.000716
117+
izz: 0.003927
118+
wrist_3:
119+
ixx: 0.001406
120+
ixy: -0.000003
121+
ixz: 0.000010
122+
iyy: 0.001404
123+
iyz: -0.000024
124+
izz: 0.001002

config/ur15/visual_parameters.yaml

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
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+
14+
shoulder:
15+
visual:
16+
mesh:
17+
package: ur_description
18+
path: meshes/ur15/visual/shoulder.dae
19+
collision:
20+
mesh:
21+
package: ur_description
22+
path: meshes/ur15/collision/shoulder.stl
23+
24+
upper_arm:
25+
visual:
26+
mesh:
27+
package: ur_description
28+
path: meshes/ur15/visual/upperarm.dae
29+
collision:
30+
mesh:
31+
package: ur_description
32+
path: meshes/ur15/collision/upperarm.stl
33+
mesh_files:
34+
35+
forearm:
36+
visual:
37+
mesh:
38+
package: ur_description
39+
path: meshes/ur15/visual/forearm.dae
40+
collision:
41+
mesh:
42+
package: ur_description
43+
path: meshes/ur15/collision/forearm.stl
44+
45+
wrist_1:
46+
visual:
47+
mesh:
48+
package: ur_description
49+
path: meshes/ur15/visual/wrist1.dae
50+
collision:
51+
mesh:
52+
package: ur_description
53+
path: meshes/ur15/collision/wrist1.stl
54+
visual_offset: -0.0502
55+
56+
wrist_2:
57+
visual:
58+
mesh:
59+
package: ur_description
60+
path: meshes/ur15/visual/wrist2.dae
61+
collision:
62+
mesh:
63+
package: ur_description
64+
path: meshes/ur15/collision/wrist2.stl
65+
visual_offset: -0.064
66+
67+
wrist_3:
68+
visual:
69+
mesh:
70+
package: ur_description
71+
path: meshes/ur15/visual/wrist3.dae
72+
collision:
73+
mesh:
74+
package: ur_description
75+
path: meshes/ur15/collision/wrist3.stl
76+
visual_offset: -0.0715

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)