Skip to content

Commit 769ae8e

Browse files
committed
moved urdf parameters to yaml
1 parent 54a905a commit 769ae8e

19 files changed

+588
-430
lines changed

lbr_description/urdf/iiwa14/iiwa14.urdf.xacro

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77
<xacro:include filename="$(find lbr_description)/urdf/iiwa14/iiwa14_description.urdf.xacro" />
88

99
<xacro:arg name="robot_name" default="lbr" />
10-
<xacro:arg name="port_id" default="30200" />
1110
<xacro:arg name="sim" default="true" />
11+
<xacro:arg
12+
name="system_parameters_path"
13+
default="$(find lbr_ros2_control)/config/lbr_system_parameters.yaml" />
1214

1315
<!-- fixed to world, see http://classic.gazebosim.org/tutorials?tut=ros_urdf&cat=connect_ros -->
1416
<link name="world" />
@@ -21,5 +23,8 @@
2123
</joint>
2224

2325
<!-- iiwa -->
24-
<xacro:iiwa14 robot_name="$(arg robot_name)" port_id="$(arg port_id)" sim="$(arg sim)" />
26+
<xacro:iiwa14
27+
robot_name="$(arg robot_name)"
28+
sim="$(arg sim)"
29+
system_parameters_path="$(arg system_parameters_path)" />
2530
</robot>

lbr_description/urdf/iiwa14/iiwa14_description.urdf.xacro

Lines changed: 60 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
11
<?xml version="1.0"?>
22

33
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
4+
<!-- robot as extracted via https://github.com/syuntoku14/fusion2urdf -->
5+
<xacro:macro name="iiwa14"
6+
params="robot_name:=^|lbr sim:=^=true system_parameters_path:=^|'$(find lbr_ros2_control)/config/lbr_system_parameters.yaml'">
47

5-
<!-- some constants -->
6-
<xacro:property name="PI" value="3.1415926535897931" />
7-
<xacro:property name="joint_damping" value="10.0" />
8-
<xacro:property name="joint_friction" value="0.1" />
9-
<xacro:property name="A1_position_limit" value="170" />
10-
<xacro:property name="A2_position_limit" value="120" />
11-
<xacro:property name="A3_position_limit" value="170" />
12-
<xacro:property name="A4_position_limit" value="120" />
13-
<xacro:property name="A5_position_limit" value="170" />
14-
<xacro:property name="A6_position_limit" value="120" />
15-
<xacro:property name="A7_position_limit" value="175" />
16-
<xacro:property name="A1_velocity_limit" value="85" />
17-
<xacro:property name="A2_velocity_limit" value="85" />
18-
<xacro:property name="A3_velocity_limit" value="100" />
19-
<xacro:property name="A4_velocity_limit" value="75" />
20-
<xacro:property name="A5_velocity_limit" value="130" />
21-
<xacro:property name="A6_velocity_limit" value="135" />
22-
<xacro:property name="A7_velocity_limit" value="135" />
23-
<xacro:property name="effort_limit" value="200" />
8+
<!-- includes -->
9+
<xacro:include filename="$(find lbr_description)/gazebo/lbr_gazebo.xacro" />
10+
<xacro:include filename="$(find lbr_ros2_control)/config/lbr_system_interface.xacro" />
2411

25-
<!-- includes -->
26-
<xacro:include filename="$(find lbr_description)/gazebo/lbr.gazebo.xacro" />
27-
<xacro:include filename="$(find lbr_ros2_control)/config/lbr_system_interface.xacro" />
12+
<!-- joint limits via yaml -->
13+
<xacro:property name="joint_limits_path"
14+
value="$(find lbr_description)/urdf/iiwa14/joint_limits.yaml" />
15+
<xacro:property name="joint_limits" value="${xacro.load_yaml(joint_limits_path)}" />
2816

29-
<!-- robot as extracted via https://github.com/syuntoku14/fusion2urdf -->
30-
<xacro:macro name="iiwa14"
31-
params="robot_name:=^|lbr port_id:=^|30200 sim:=^|true">
17+
<!-- system parameters via yaml -->
18+
<xacro:property name="system_parameters"
19+
value="${xacro.load_yaml(system_parameters_path)}" />
20+
21+
<!-- constants -->
22+
<xacro:property name="PI" value="3.1415926535897931" />
23+
<xacro:property name="joint_damping" value="10.0" />
24+
<xacro:property name="joint_friction" value="0.1" />
25+
26+
<!-- macros for simulation and real hardware -->
27+
<xacro:lbr_gazebo robot_name="${robot_name}" />
28+
<xacro:lbr_system_interface
29+
sim="${sim}"
30+
joint_limits="${joint_limits}"
31+
system_parameters="${system_parameters}" />
3232

3333
<link name="link_0">
3434
<inertial>
@@ -56,9 +56,11 @@
5656
<parent link="link_0" />
5757
<child link="link_1" />
5858
<axis xyz="0.0 0.0 1.0" />
59-
<limit effort="${effort_limit}" lower="${-A1_position_limit * PI / 180}"
60-
upper="${A1_position_limit * PI / 180}"
61-
velocity="${A1_velocity_limit * PI / 180}" />
59+
<limit
60+
effort="${joint_limits['A1']['effort']}"
61+
lower="${joint_limits['A1']['lower'] * PI / 180}"
62+
upper="${joint_limits['A1']['upper'] * PI / 180}"
63+
velocity="${joint_limits['A1']['velocity'] * PI / 180}" />
6264
<dynamics damping="${joint_damping}" friction="${joint_friction}" />
6365
</joint>
6466

@@ -88,9 +90,11 @@
8890
<parent link="link_1" />
8991
<child link="link_2" />
9092
<axis xyz="0.0 1.0 0.0" />
91-
<limit effort="${effort_limit}" lower="${-A2_position_limit * PI / 180}"
92-
upper="${A2_position_limit * PI / 180}"
93-
velocity="${A2_velocity_limit * PI / 180}" />
93+
<limit
94+
effort="${joint_limits['A2']['effort']}"
95+
lower="${joint_limits['A2']['lower'] * PI / 180}"
96+
upper="${joint_limits['A2']['upper'] * PI / 180}"
97+
velocity="${joint_limits['A2']['velocity'] * PI / 180}" />
9498
<dynamics damping="${joint_damping}" friction="${joint_friction}" />
9599
</joint>
96100

@@ -120,9 +124,11 @@
120124
<parent link="link_2" />
121125
<child link="link_3" />
122126
<axis xyz="0.0 0.0 1.0" />
123-
<limit effort="${effort_limit}" lower="${-A3_position_limit * PI / 180}"
124-
upper="${A3_position_limit * PI / 180}"
125-
velocity="${A3_velocity_limit * PI / 180}" />
127+
<limit
128+
effort="${joint_limits['A3']['effort']}"
129+
lower="${joint_limits['A3']['lower'] * PI / 180}"
130+
upper="${joint_limits['A3']['upper'] * PI / 180}"
131+
velocity="${joint_limits['A3']['velocity'] * PI / 180}" />
126132
<dynamics damping="${joint_damping}" friction="${joint_friction}" />
127133
</joint>
128134

@@ -152,9 +158,11 @@
152158
<parent link="link_3" />
153159
<child link="link_4" />
154160
<axis xyz="0.0 -1.0 0.0" />
155-
<limit effort="${effort_limit}" lower="${-A4_position_limit * PI / 180}"
156-
upper="${A4_position_limit * PI / 180}"
157-
velocity="${A4_velocity_limit * PI / 180}" />
161+
<limit
162+
effort="${joint_limits['A4']['effort']}"
163+
lower="${joint_limits['A4']['lower'] * PI / 180}"
164+
upper="${joint_limits['A4']['upper'] * PI / 180}"
165+
velocity="${joint_limits['A4']['velocity'] * PI / 180}" />
158166
<dynamics damping="${joint_damping}" friction="${joint_friction}" />
159167
</joint>
160168

@@ -184,9 +192,11 @@
184192
<parent link="link_4" />
185193
<child link="link_5" />
186194
<axis xyz="0.0 0.0 1.0" />
187-
<limit effort="${effort_limit}" lower="${-A5_position_limit * PI / 180}"
188-
upper="${A5_position_limit * PI / 180}"
189-
velocity="${A5_velocity_limit * PI / 180}" />
195+
<limit
196+
effort="${joint_limits['A5']['effort']}"
197+
lower="${joint_limits['A5']['lower'] * PI / 180}"
198+
upper="${joint_limits['A5']['upper'] * PI / 180}"
199+
velocity="${joint_limits['A5']['velocity'] * PI / 180}" />
190200
<dynamics damping="${joint_damping}" friction="${joint_friction}" />
191201
</joint>
192202

@@ -216,9 +226,11 @@
216226
<parent link="link_5" />
217227
<child link="link_6" />
218228
<axis xyz="0.0 1.0 0.0" />
219-
<limit effort="${effort_limit}" lower="${-A6_position_limit * PI / 180}"
220-
upper="${A6_position_limit * PI / 180}"
221-
velocity="${A6_velocity_limit * PI / 180}" />
229+
<limit
230+
effort="${joint_limits['A6']['effort']}"
231+
lower="${joint_limits['A6']['lower'] * PI / 180}"
232+
upper="${joint_limits['A6']['upper'] * PI / 180}"
233+
velocity="${joint_limits['A6']['velocity'] * PI / 180}" />
222234
<dynamics damping="${joint_damping}" friction="${joint_friction}" />
223235
</joint>
224236

@@ -248,9 +260,11 @@
248260
<parent link="link_6" />
249261
<child link="link_7" />
250262
<axis xyz="0.0 0.0 1.0" />
251-
<limit effort="${effort_limit}" lower="${-A7_position_limit * PI / 180}"
252-
upper="${A7_position_limit * PI / 180}"
253-
velocity="${A7_velocity_limit * PI / 180}" />
263+
<limit
264+
effort="${joint_limits['A7']['effort']}"
265+
lower="${joint_limits['A7']['lower'] * PI / 180}"
266+
upper="${joint_limits['A7']['upper'] * PI / 180}"
267+
velocity="${joint_limits['A7']['velocity'] * PI / 180}" />
254268
<dynamics damping="${joint_damping}" friction="${joint_friction}" />
255269
</joint>
256270

@@ -282,26 +296,5 @@
282296

283297
<link name="link_ee">
284298
</link>
285-
286-
<xacro:lbr_gazebo robot_name="${robot_name}" />
287-
<!-- TODO: move modes to args, decouple urdf/gazebo/controls -->
288-
<xacro:lbr_system_interface
289-
A1_position_limit="${A1_position_limit * PI / 180}"
290-
A2_position_limit="${A2_position_limit * PI / 180}"
291-
A3_position_limit="${A3_position_limit * PI / 180}"
292-
A4_position_limit="${A4_position_limit * PI / 180}"
293-
A5_position_limit="${A5_position_limit * PI / 180}"
294-
A6_position_limit="${A6_position_limit * PI / 180}"
295-
A7_position_limit="${A7_position_limit * PI / 180}"
296-
A1_velocity_limit="${A1_velocity_limit * PI / 180}"
297-
A2_velocity_limit="${A2_velocity_limit * PI / 180}"
298-
A3_velocity_limit="${A3_velocity_limit * PI / 180}"
299-
A4_velocity_limit="${A4_velocity_limit * PI / 180}"
300-
A5_velocity_limit="${A5_velocity_limit * PI / 180}"
301-
A6_velocity_limit="${A6_velocity_limit * PI / 180}"
302-
A7_velocity_limit="${A7_velocity_limit * PI / 180}"
303-
max_torque="${effort_limit}"
304-
sim="${sim}" remote_host="INADDR_ANY" port_id="${port_id}" />
305-
306299
</xacro:macro>
307300
</robot>
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
A1:
2+
lower: -170
3+
upper: 170
4+
velocity: 85
5+
effort: 200
6+
A2:
7+
lower: -120
8+
upper: 120
9+
velocity: 85
10+
effort: 200
11+
A3:
12+
lower: -170
13+
upper: 170
14+
velocity: 100
15+
effort: 200
16+
A4:
17+
lower: -120
18+
upper: 120
19+
velocity: 75
20+
effort: 200
21+
A5:
22+
lower: -170
23+
upper: 170
24+
velocity: 130
25+
effort: 200
26+
A6:
27+
lower: -120
28+
upper: 120
29+
velocity: 135
30+
effort: 200
31+
A7:
32+
lower: -175
33+
upper: 175
34+
velocity: 135
35+
effort: 200

lbr_description/urdf/iiwa7/iiwa7.urdf.xacro

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77
<xacro:include filename="$(find lbr_description)/urdf/iiwa7/iiwa7_description.urdf.xacro" />
88

99
<xacro:arg name="robot_name" default="lbr" />
10-
<xacro:arg name="port_id" default="30200" />
1110
<xacro:arg name="sim" default="true" />
11+
<xacro:arg
12+
name="system_parameters_path"
13+
default="$(find lbr_ros2_control)/config/lbr_system_parameters.yaml" />
1214

1315
<!-- fixed to world, see http://classic.gazebosim.org/tutorials?tut=ros_urdf&cat=connect_ros -->
1416
<link name="world" />
@@ -21,5 +23,8 @@
2123
</joint>
2224

2325
<!-- iiwa -->
24-
<xacro:iiwa7 robot_name="$(arg robot_name)" port_id="$(arg port_id)" sim="$(arg sim)" />
26+
<xacro:iiwa7
27+
robot_name="$(arg robot_name)"
28+
sim="$(arg sim)"
29+
system_parameters_path="$(arg system_parameters_path)" />
2530
</robot>

0 commit comments

Comments
 (0)