hpp-tutorial 9.0.0__0-py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. cmeel.prefix/include/hpp/tutorial/config.hh +94 -0
  2. cmeel.prefix/include/hpp/tutorial/deprecated.hh +56 -0
  3. cmeel.prefix/include/hpp/tutorial/warning.hh +35 -0
  4. cmeel.prefix/lib/cmake/hpp_tutorial/cxx-standard.cmake +193 -0
  5. cmeel.prefix/lib/cmake/hpp_tutorial/hpp_tutorialConfig.cmake +209 -0
  6. cmeel.prefix/lib/cmake/hpp_tutorial/hpp_tutorialConfigVersion.cmake +65 -0
  7. cmeel.prefix/lib/cmake/hpp_tutorial/hpp_tutorialTargets.cmake +102 -0
  8. cmeel.prefix/lib/pkgconfig/hpp_tutorial.pc +22 -0
  9. cmeel.prefix/share/ament_index/resource_index/packages/hpp_tutorial +0 -0
  10. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/auf_saeule_bei_shop.png +0 -0
  11. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/ganz_links_neben_roboterplakat.png +0 -0
  12. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/ganz_links_vorn_bei_biolab.png +0 -0
  13. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/ganz_rechts_neben_kuecheninsel.png +0 -0
  14. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/hinter_shopschraenken_an_saeule.png +0 -0
  15. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/mittig_neben_roboterplakat.png +0 -0
  16. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/sink.png +0 -0
  17. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/stove.png +0 -0
  18. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/wallpaper.png +0 -0
  19. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/wallpaper2.png +0 -0
  20. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/wallpaper_ai_unihb.png +0 -0
  21. cmeel.prefix/share/hpp_tutorial/Media/materials/textures/wallpaper_project_logos.png +0 -0
  22. cmeel.prefix/share/hpp_tutorial/Media/models/meshes/glasses/__Color_A05_4.png +0 -0
  23. cmeel.prefix/share/hpp_tutorial/hook/ament_prefix_path.dsv +1 -0
  24. cmeel.prefix/share/hpp_tutorial/hook/python_path.dsv +1 -0
  25. cmeel.prefix/share/hpp_tutorial/launch/config.rviz +475 -0
  26. cmeel.prefix/share/hpp_tutorial/launch/tutorial_7_launch.py +124 -0
  27. cmeel.prefix/share/hpp_tutorial/launch/tutorial_8_launch.py +193 -0
  28. cmeel.prefix/share/hpp_tutorial/meshes/box.dae +601 -0
  29. cmeel.prefix/share/hpp_tutorial/meshes/drill.stl +0 -0
  30. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/base_link.stl +0 -0
  31. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_1.stl +0 -0
  32. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_2.stl +0 -0
  33. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_3.stl +0 -0
  34. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_4.stl +0 -0
  35. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_5.stl +0 -0
  36. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_6.stl +0 -0
  37. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/base_link.stl +0 -0
  38. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_1.stl +0 -0
  39. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_2.stl +0 -0
  40. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_3.stl +0 -0
  41. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_4.stl +0 -0
  42. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_5.stl +0 -0
  43. cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_6.stl +0 -0
  44. cmeel.prefix/share/hpp_tutorial/package.xml +20 -0
  45. cmeel.prefix/share/hpp_tutorial/srdf/box.srdf +13 -0
  46. cmeel.prefix/share/hpp_tutorial/srdf/cup.srdf +22 -0
  47. cmeel.prefix/share/hpp_tutorial/srdf/door.srdf +14 -0
  48. cmeel.prefix/share/hpp_tutorial/srdf/fr3.srdf +92 -0
  49. cmeel.prefix/share/hpp_tutorial/srdf/ground.srdf +8 -0
  50. cmeel.prefix/share/hpp_tutorial/srdf/kitchen_area.srdf +11770 -0
  51. cmeel.prefix/share/hpp_tutorial/srdf/panda.srdf +76 -0
  52. cmeel.prefix/share/hpp_tutorial/srdf/rod.srdf +2 -0
  53. cmeel.prefix/share/hpp_tutorial/srdf/staubli-drill.srdf +14 -0
  54. cmeel.prefix/share/hpp_tutorial/srdf/table.srdf +16 -0
  55. cmeel.prefix/share/hpp_tutorial/tutorial_7/controllers.yaml +28 -0
  56. cmeel.prefix/share/hpp_tutorial/tutorial_8/controllers.yaml +44 -0
  57. cmeel.prefix/share/hpp_tutorial/urdf/box.urdf +26 -0
  58. cmeel.prefix/share/hpp_tutorial/urdf/box_color.urdf +16 -0
  59. cmeel.prefix/share/hpp_tutorial/urdf/cup.urdf +26 -0
  60. cmeel.prefix/share/hpp_tutorial/urdf/door.urdf +111 -0
  61. cmeel.prefix/share/hpp_tutorial/urdf/fr3.urdf +452 -0
  62. cmeel.prefix/share/hpp_tutorial/urdf/ground.urdf +20 -0
  63. cmeel.prefix/share/hpp_tutorial/urdf/kitchen_area.urdf +4729 -0
  64. cmeel.prefix/share/hpp_tutorial/urdf/kitchen_area_obstacle.urdf +4729 -0
  65. cmeel.prefix/share/hpp_tutorial/urdf/obstacle.urdf +18 -0
  66. cmeel.prefix/share/hpp_tutorial/urdf/rod.urdf +19 -0
  67. cmeel.prefix/share/hpp_tutorial/urdf/square-plate.urdf +17 -0
  68. cmeel.prefix/share/hpp_tutorial/urdf/staubli-drill.urdf +254 -0
  69. cmeel.prefix/share/hpp_tutorial/urdf/table.urdf +160 -0
  70. hpp_tutorial-9.0.0.dist-info/METADATA +36 -0
  71. hpp_tutorial-9.0.0.dist-info/RECORD +74 -0
  72. hpp_tutorial-9.0.0.dist-info/WHEEL +6 -0
  73. hpp_tutorial-9.0.0.dist-info/licenses/LICENSE +24 -0
  74. hpp_tutorial-9.0.0.dist-info/top_level.txt +0 -0
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0"?>
2
+ <robot name="obstacle">
3
+ <link name="base_link">
4
+ <visual>
5
+ <geometry>
6
+ <box size="0.02 0.2 0.2"/>
7
+ </geometry>
8
+ <material name="Orange">
9
+ <color rgba="1 0.4 0.3 0.6"/>
10
+ </material>
11
+ </visual>
12
+ <collision>
13
+ <geometry>
14
+ <box size="0.02 0.2 0.2"/>
15
+ </geometry>
16
+ </collision>
17
+ </link>
18
+ </robot>
@@ -0,0 +1,19 @@
1
+ <robot name="rod">
2
+ <link name="base_link">
3
+ <visual>
4
+ <origin xyz="0 0 0" rpy="0 0 0" />
5
+ <geometry>
6
+ <box size="0.50 0.05 0.05"/>
7
+ </geometry>
8
+ <material name="white">
9
+ <color rgba="1 0 0 1"/>
10
+ </material>
11
+ </visual>
12
+ <collision>
13
+ <origin xyz="0 0 0" rpy="0 0 0" />
14
+ <geometry>
15
+ <box size="0.50 0.05 0.05"/>
16
+ </geometry>
17
+ </collision>
18
+ </link>
19
+ </robot>
@@ -0,0 +1,17 @@
1
+ <robot name="square-plate">
2
+ <link name="base_link">
3
+ <visual>
4
+ <material name="Blue">
5
+ <color rgba="0.1 0.1 0.9 1.0"/>
6
+ </material>
7
+ <geometry>
8
+ <box size="0.01 1 1"/>
9
+ </geometry>
10
+ </visual>
11
+ <collision>
12
+ <geometry>
13
+ <box size="0.01 1 1"/>
14
+ </geometry>
15
+ </collision>
16
+ </link>
17
+ </robot>
@@ -0,0 +1,254 @@
1
+ <?xml version="1.0" ?>
2
+ <!-- =================================================================================== -->
3
+ <!-- | This document was autogenerated by xacro from /home/ubuntu/devel/hpp/install/share/hpp-coverage/urdf/syabot.xacro | -->
4
+ <!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
5
+ <!-- =================================================================================== -->
6
+ <robot name="staubli_tx2_90">
7
+ <!-- colours based on RAL values supplied by Staubli -->
8
+ <!-- all RAL colours converted using http://www.visual-graphics.de/en/customer-care/ral-colours -->
9
+ <!-- default colours for robots -->
10
+ <!-- links: main serial chain -->
11
+ <link name="base_link">
12
+ <visual>
13
+ <origin rpy="0 0 0" xyz="0 0 0"/>
14
+ <geometry>
15
+ <mesh filename="package://hpp_tutorial/meshes/staubli-tx2-90/visual/base_link.stl"/>
16
+ </geometry>
17
+ <material name="">
18
+ <color rgba="1.0 0.6078431372549019 0.0 1.0"/>
19
+ </material>
20
+ </visual>
21
+ <collision>
22
+ <origin rpy="0 0 0" xyz="0 0 0"/>
23
+ <geometry>
24
+ <mesh filename="package://hpp_tutorial/meshes/staubli-tx2-90/collision/base_link.stl"/>
25
+ </geometry>
26
+ </collision>
27
+ </link>
28
+ <link name="link_1">
29
+ <visual>
30
+ <origin rpy="0 0 0" xyz="0 0 0"/>
31
+ <geometry>
32
+ <mesh filename="package://hpp_tutorial/meshes/staubli-tx2-90/visual/link_1.stl"/>
33
+ </geometry>
34
+ <material name="">
35
+ <color rgba="1.0 0.6078431372549019 0.0 1.0"/>
36
+ </material>
37
+ </visual>
38
+ <collision>
39
+ <origin rpy="0 0 0" xyz="0 0 0"/>
40
+ <geometry>
41
+ <mesh filename="package://hpp_tutorial/meshes/staubli-tx2-90/collision/link_1.stl"/>
42
+ </geometry>
43
+ </collision>
44
+ </link>
45
+ <link name="link_2">
46
+ <visual>
47
+ <origin rpy="0 0 0" xyz="0 0 0"/>
48
+ <geometry>
49
+ <mesh filename="package://hpp_tutorial/meshes/staubli-tx2-90/visual/link_2.stl"/>
50
+ </geometry>
51
+ <material name="">
52
+ <color rgba="1.0 0.6078431372549019 0.0 1.0"/>
53
+ </material>
54
+ </visual>
55
+ <collision>
56
+ <origin rpy="0 0 0" xyz="0 0 0"/>
57
+ <geometry>
58
+ <mesh filename="package://hpp_tutorial/meshes/staubli-tx2-90/collision/link_2.stl"/>
59
+ </geometry>
60
+ </collision>
61
+ </link>
62
+ <link name="link_3">
63
+ <visual>
64
+ <origin rpy="0 0 0" xyz="0 0 0"/>
65
+ <geometry>
66
+ <mesh filename="package://hpp_tutorial/meshes/staubli-tx2-90/visual/link_3.stl"/>
67
+ </geometry>
68
+ <material name="">
69
+ <color rgba="1.0 0.6078431372549019 0.0 1.0"/>
70
+ </material>
71
+ </visual>
72
+ <collision>
73
+ <origin rpy="0 0 0" xyz="0 0 0"/>
74
+ <geometry>
75
+ <mesh filename="package://hpp_tutorial/meshes/staubli-tx2-90/collision/link_3.stl"/>
76
+ </geometry>
77
+ </collision>
78
+ </link>
79
+ <link name="link_4">
80
+ <visual>
81
+ <origin rpy="0 0 0" xyz="0 0 0"/>
82
+ <geometry>
83
+ <mesh filename="package://hpp_tutorial/meshes/staubli-tx2-90/visual/link_4.stl"/>
84
+ </geometry>
85
+ <material name="">
86
+ <color rgba="1.0 0.6078431372549019 0.0 1.0"/>
87
+ </material>
88
+ </visual>
89
+ <collision>
90
+ <origin rpy="0 0 0" xyz="0 0 0"/>
91
+ <geometry>
92
+ <mesh filename="package://hpp_tutorial/meshes/staubli-tx2-90/collision/link_4.stl"/>
93
+ </geometry>
94
+ </collision>
95
+ </link>
96
+ <link name="link_5">
97
+ <visual>
98
+ <origin rpy="0 0 0" xyz="0 0 0"/>
99
+ <geometry>
100
+ <mesh filename="package://hpp_tutorial/meshes/staubli-tx2-90/visual/link_5.stl"/>
101
+ </geometry>
102
+ <material name="">
103
+ <color rgba="0.5294117647058824 0.5215686274509804 0.5058823529411764 1.0"/>
104
+ </material>
105
+ </visual>
106
+ <collision>
107
+ <origin rpy="0 0 0" xyz="0 0 0"/>
108
+ <geometry>
109
+ <mesh filename="package://hpp_tutorial/meshes/staubli-tx2-90/collision/link_5.stl"/>
110
+ </geometry>
111
+ </collision>
112
+ </link>
113
+ <link name="link_6">
114
+ <visual>
115
+ <origin rpy="0 0 0" xyz="0 0 0"/>
116
+ <geometry>
117
+ <mesh filename="package://hpp_tutorial/meshes/staubli-tx2-90/visual/link_6.stl"/>
118
+ </geometry>
119
+ <material name="">
120
+ <color rgba="0.5294117647058824 0.5215686274509804 0.5058823529411764 1.0"/>
121
+ </material>
122
+ </visual>
123
+ <collision>
124
+ <origin rpy="0 0 0" xyz="0 0 0"/>
125
+ <geometry>
126
+ <mesh filename="package://hpp_tutorial/meshes/staubli-tx2-90/collision/link_6.stl"/>
127
+ </geometry>
128
+ </collision>
129
+ </link>
130
+ <!-- joints: main serial chain -->
131
+ <joint name="joint_1" type="revolute">
132
+ <origin rpy="0 0 0" xyz="0 0 0.478"/>
133
+ <parent link="base_link"/>
134
+ <child link="link_1"/>
135
+ <axis xyz="0 0 1"/>
136
+ <!-- from Staubli instruction manual:
137
+ (1) effort limit = 318 Nm if floor mounted
138
+ (2) effort limit = 111 Nm if wall mounted -->
139
+ <!-- nominal velocity limits are used -->
140
+ <limit effort="318.0" lower="-3.141592653589793" upper="3.141592653589793" velocity="4.625122517784973"/>
141
+ </joint>
142
+ <joint name="joint_2" type="revolute">
143
+ <origin rpy="0 0 0" xyz="0.050 0 0"/>
144
+ <parent link="link_1"/>
145
+ <child link="link_2"/>
146
+ <axis xyz="0 1 0"/>
147
+ <!-- nominal velocity limits are used -->
148
+ <limit effort="166.0" lower="-2.2689280275926285" upper="2.5743606466916362" velocity="3.6651914291880923"/>
149
+ </joint>
150
+ <joint name="joint_3" type="revolute">
151
+ <origin rpy="0 0 0" xyz="0 0.05 0.425"/>
152
+ <parent link="link_2"/>
153
+ <child link="link_3"/>
154
+ <axis xyz="0 1 0"/>
155
+ <!-- nominal velocity limits are used -->
156
+ <limit effort="76.0" lower="-2.530727415391778" upper="2.530727415391778" velocity="5.497787143782138"/>
157
+ </joint>
158
+ <joint name="joint_4" type="revolute">
159
+ <origin rpy="0 0 0" xyz="0 0 0"/>
160
+ <parent link="link_3"/>
161
+ <child link="link_4"/>
162
+ <axis xyz="0 0 1"/>
163
+ <!-- nominal velocity limits are used -->
164
+ <limit effort="34.0" lower="-4.71238898038469" upper="4.71238898038469" velocity="7.853981633974483"/>
165
+ </joint>
166
+ <joint name="joint_5" type="revolute">
167
+ <origin rpy="0 0 0" xyz="0 0 0.425"/>
168
+ <parent link="link_4"/>
169
+ <child link="link_5"/>
170
+ <axis xyz="0 1 0"/>
171
+ <!-- nominal velocity limits are used -->
172
+ <limit effort="29.0" lower="-2.007128639793479" upper="2.443460952792061" velocity="6.457718232379019"/>
173
+ </joint>
174
+ <joint name="joint_6" type="revolute">
175
+ <origin rpy="0 0 0" xyz="0 0 0.100"/>
176
+ <parent link="link_5"/>
177
+ <child link="link_6"/>
178
+ <axis xyz="0 0 1"/>
179
+ <!-- nominal velocity limits are used -->
180
+ <limit effort="11.0" lower="-4.71238898038469" upper="4.71238898038469" velocity="10.995574287564276"/>
181
+ </joint>
182
+ <!-- ROS-Industrial 'base' frame: base_link to Staubli World Coordinates transform -->
183
+ <link name="base"/>
184
+ <joint name="base_link-base" type="fixed">
185
+ <origin rpy="0 0 0" xyz="0 0 0.478"/>
186
+ <parent link="base_link"/>
187
+ <child link="base"/>
188
+ </joint>
189
+ <!-- ROS-Industrial 'flange' frame: attachment point for EEF models -->
190
+ <link name="flange"/>
191
+ <joint name="joint_6-flange" type="fixed">
192
+ <origin rpy="0 -1.5707963267948966 0" xyz="0 0 0"/>
193
+ <parent link="link_6"/>
194
+ <child link="flange"/>
195
+ </joint>
196
+ <!-- Drill_Link -->
197
+ <link name="drill_link">
198
+ <visual>
199
+ <origin rpy="0 0 0" xyz="0 0 0"/>
200
+ <geometry>
201
+ <mesh filename="package://hpp_tutorial/meshes/drill.stl"/>
202
+ </geometry>
203
+ <material name="Red">
204
+ <color rgba="0.9 0.1 0.1 1.0"/>
205
+ </material>
206
+ </visual>
207
+ <collision>
208
+ <origin rpy="0 0 0" xyz="0 0 0"/>
209
+ <geometry>
210
+ <mesh filename="package://hpp_tutorial/meshes/drill.stl"/>
211
+ </geometry>
212
+ </collision>
213
+ </link>
214
+ <link name="tool_link">
215
+ <visual>
216
+ <geometry>
217
+ <cylinder length="0.074" radius="0.005"/>
218
+ </geometry>
219
+ <material name="black">
220
+ <color rgba="0.1 0.1 0.1 1"/>
221
+ </material>
222
+ </visual>
223
+ <collision>
224
+ <geometry name="drill">
225
+ <cylinder length="0.074" radius="0.005"/>
226
+ </geometry>
227
+ </collision>
228
+ <inertial>
229
+ <mass value="0.001"/>
230
+ <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
231
+ </inertial>
232
+ <collision_checking>
233
+ <!--- This tells to pinocchio to replace the cylinder called "drill" by
234
+ a capsule with the same radius and length -->
235
+ <capsule name="drill"/>
236
+ </collision_checking>
237
+ </link>
238
+ <joint name="drill_joint" type="fixed">
239
+ <origin rpy="0 1.5707963267948966 0" xyz="0.158 0 0.074"/>
240
+ <parent link="drill_link"/>
241
+ <child link="tool_link"/>
242
+ </joint>
243
+ <joint name="tool_joint" type="fixed">
244
+ <origin rpy="0 0 0" xyz="0.07 0 0"/>
245
+ <parent link="flange"/>
246
+ <child link="drill_link"/>
247
+ </joint>
248
+ <link name="root"/>
249
+ <joint name="root_joint" type="fixed">
250
+ <parent link="root"/>
251
+ <child link="base_link"/>
252
+ <origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
253
+ </joint>
254
+ </robot>
@@ -0,0 +1,160 @@
1
+ <robot name="table">
2
+ <material name="KitchenWhite">
3
+ <color rgba="0.75 0.75 0.7 1.0"/>
4
+ </material>
5
+ <material name="KitchenLightGray">
6
+ <color rgba="0.7 0.7 0.7 1.0"/>
7
+ </material>
8
+ <link name="base_link">
9
+ <inertial>
10
+ <mass value="2.0"/>
11
+ <inertia ixx="0.0601041666667" ixy="0" ixz="0" iyy="0.486666666667" iyz="0" izz="0.426770833333"/>
12
+ </inertial>
13
+ </link>
14
+ <joint name="pancake_table_table_joint" type="fixed">
15
+ <parent link="base_link"/>
16
+ <child link="pancake_table_table_link"/>
17
+ <origin rpy="0 0 1.57" xyz="0.8 0 0"/>
18
+ </joint>
19
+ <joint name="pancake_table_table_top_joint" type="fixed">
20
+ <origin rpy="0 0 0" xyz="0 0 0.7175"/>
21
+ <parent link="pancake_table_table_link"/>
22
+ <child link="pancake_table_table_top_link"/>
23
+ </joint>
24
+ <link name="pancake_table_table_top_link">
25
+ <inertial>
26
+ <mass value="2.0"/>
27
+ <inertia ixx="0.0601041666667" ixy="0" ixz="0" iyy="0.486666666667" iyz="0" izz="0.426770833333"/>
28
+ </inertial>
29
+ <visual>
30
+ <origin rpy="0 0 0" xyz="0 0 0"/>
31
+ <geometry>
32
+ <box size="1.6 0.6 0.025"/>
33
+ </geometry>
34
+ <material name="KitchenWhite"/>
35
+ </visual>
36
+ <collision>
37
+ <origin rpy="0 0 0" xyz="0 0 0"/>
38
+ <geometry>
39
+ <box size="1.6 0.6 0.025"/>
40
+ </geometry>
41
+ </collision>
42
+ </link>
43
+ <gazebo reference="pancake_table_table_top_link">
44
+ <kp>100000</kp>
45
+ <kd>1000000</kd>
46
+ <mu1>50000</mu1>
47
+ <mu2>50000</mu2>
48
+ <material value="KitchenWhite"/>
49
+ </gazebo>
50
+ <joint name="pancake_table_first_leg_joint" type="fixed">
51
+ <origin rpy="0 0 0 " xyz="-0.775 -0.275 0.350"/>
52
+ <parent link="pancake_table_table_link"/>
53
+ <child link="pancake_table_first_leg_link"/>
54
+ </joint>
55
+ <link name="pancake_table_first_leg_link">
56
+ <inertial>
57
+ <mass value="1.0"/>
58
+ <inertia ixx="0.0409895833333" ixy="0" ixz="0" iyy="0.0003125" iyz="0" izz="0.0409895833333"/>
59
+ </inertial>
60
+ <visual>
61
+ <origin rpy="0 0 0" xyz="0 0 0"/>
62
+ <geometry>
63
+ <cylinder length="0.700" radius="0.025"/>
64
+ </geometry>
65
+ </visual>
66
+ <collision>
67
+ <origin rpy="0 0 0" xyz="0 0 0"/>
68
+ <geometry>
69
+ <cylinder length="0.700" radius="0.025"/>
70
+ </geometry>
71
+ </collision>
72
+ </link>
73
+ <gazebo reference="pancake_table_first_leg_link">
74
+ <material value="KitchenLightGray"/>
75
+ </gazebo>
76
+ <joint name="pancake_table_second_leg_joint" type="fixed">
77
+ <origin rpy="0 0 0" xyz="0.775 -0.275 0.350"/>
78
+ <parent link="pancake_table_table_link"/>
79
+ <child link="pancake_table_second_leg_link"/>
80
+ </joint>
81
+ <link name="pancake_table_second_leg_link">
82
+ <inertial>
83
+ <mass value="1.0"/>
84
+ <inertia ixx="0.0409895833333" ixy="0" ixz="0" iyy="0.0003125" iyz="0" izz="0.0409895833333"/>
85
+ </inertial>
86
+ <visual>
87
+ <origin rpy="0 0 0" xyz="0 0 0"/>
88
+ <geometry>
89
+ <cylinder length="0.700" radius="0.025"/>
90
+ </geometry>
91
+ </visual>
92
+ <collision>
93
+ <origin rpy="0 0 0" xyz="0 0 0"/>
94
+ <geometry>
95
+ <cylinder length="0.700" radius="0.025"/>
96
+ </geometry>
97
+ </collision>
98
+ </link>
99
+ <gazebo reference="pancake_table_second_leg_link">
100
+ <material value="KitchenLightGray"/>
101
+ </gazebo>
102
+ <joint name="pancake_table_third_leg_joint" type="fixed">
103
+ <origin rpy="0 0 0" xyz="-0.775 0.275 0.350"/>
104
+ <parent link="pancake_table_table_link"/>
105
+ <child link="pancake_table_third_leg_link"/>
106
+ </joint>
107
+ <link name="pancake_table_third_leg_link">
108
+ <inertial>
109
+ <mass value="1.0"/>
110
+ <inertia ixx="0.0409895833333" ixy="0" ixz="0" iyy="0.0003125" iyz="0" izz="0.0409895833333"/>
111
+ </inertial>
112
+ <visual>
113
+ <origin rpy="0 0 0" xyz="0 0 0"/>
114
+ <geometry>
115
+ <cylinder length="0.700" radius="0.025"/>
116
+ </geometry>
117
+ </visual>
118
+ <collision>
119
+ <origin rpy="0 0 0" xyz="0 0 0"/>
120
+ <geometry>
121
+ <cylinder length="0.700" radius="0.025"/>
122
+ </geometry>
123
+ </collision>
124
+ </link>
125
+ <gazebo reference="pancake_table_third_leg_link">
126
+ <material value="KitchenLightGray"/>
127
+ </gazebo>
128
+ <joint name="pancake_table_fourth_leg_joint" type="fixed">
129
+ <origin rpy="0 0 0" xyz="0.775 0.275 0.350"/>
130
+ <parent link="pancake_table_table_link"/>
131
+ <child link="pancake_table_fourth_leg_link"/>
132
+ </joint>
133
+ <link name="pancake_table_fourth_leg_link">
134
+ <inertial>
135
+ <mass value="1.0"/>
136
+ <inertia ixx="0.0409895833333" ixy="0" ixz="0" iyy="0.0003125" iyz="0" izz="0.0409895833333"/>
137
+ </inertial>
138
+ <visual>
139
+ <origin rpy="0 0 0" xyz="0 0 0"/>
140
+ <geometry>
141
+ <cylinder length="0.700" radius="0.025"/>
142
+ </geometry>
143
+ </visual>
144
+ <collision>
145
+ <origin rpy="0 0 0" xyz="0 0 0"/>
146
+ <geometry>
147
+ <cylinder length="0.700" radius="0.025"/>
148
+ </geometry>
149
+ </collision>
150
+ </link>
151
+ <gazebo reference="pancake_table_fourth_leg_link">
152
+ <material value="KitchenLightGray"/>
153
+ </gazebo>
154
+ <link name="pancake_table_table_link">
155
+ <inertial>
156
+ <mass value="0"/>
157
+ <inertia ixx="0.0" ixy="0" ixz="0" iyy="0.0" iyz="0" izz="0.0"/>
158
+ </inertial>
159
+ </link>
160
+ </robot>
@@ -0,0 +1,36 @@
1
+ Metadata-Version: 2.4
2
+ Name: hpp-tutorial
3
+ Version: 9.0.0
4
+ Summary: Tutorial for Humanoid path planner platform
5
+ Requires-Python: >=3.9
6
+ License-Expression: BSD-2-Clause
7
+ License-File: LICENSE
8
+ Requires-Dist: cmeel
9
+ Requires-Dist: example-robot-data
10
+ Requires-Dist: hpp-gepetto-viewer
11
+ Requires-Dist: hpp-manipulation
12
+ Provides-Extra: build
13
+ Requires-Dist: example-robot-data[build]; extra == "build"
14
+ Requires-Dist: hpp-gepetto-viewer[build]; extra == "build"
15
+ Requires-Dist: hpp-manipulation[build]; extra == "build"
16
+ Description-Content-Type: text/markdown
17
+
18
+ # Tutorial for humanoid path planner platform.
19
+
20
+ This package provides some tutorials to learn how to use [Humanoid Path Planner](https://humanoid-path-planner.github.io/hpp-doc) software.
21
+ The various tutorials are:
22
+
23
+ 1. [tutorial 1](./tutorial_1/README.md) How to install and run the software.
24
+ 2. [tutorial 2](./tutorial_2/README.md) How to define and solve a simple pick and place problem.
25
+ 3. [tutorial 3](./tutorial_3/README.md) How to use HPP in manufacturing.
26
+ 4. [tutorial 4](./tutorial_4/README.md) How to control the trajectory of a tool.
27
+ 5. [tutorial 5](./tutorial_5/README.md) How to optimize and time-parameterize paths.
28
+ 6. [tutorial 6](./tutorial_6/README.md) How to use the rviz2 vizualization.
29
+ 7. [tutorial 7](./tutorial_7/README.md) How to execute motions on a simulated robot.
30
+ 8. [tutorial 8](./tutorial_8/README.md) Pick and place with gripper, introducing pre and post-actions.
31
+ 9. [tutorial 9](./tutorial_9/README.md) A more efficient way to assign pre or post-actions.
32
+
33
+ [![Pipeline status](https://gitlab.laas.fr/humanoid-path-planner/hpp_tutorial/badges/master/pipeline.svg)](https://gitlab.laas.fr/humanoid-path-planner/hpp_tutorial/commits/master)
34
+ [![Coverage report](https://gitlab.laas.fr/humanoid-path-planner/hpp_tutorial/badges/master/coverage.svg?job=doc-coverage)](https://gepettoweb.laas.fr/doc/humanoid-path-planner/hpp_tutorial/master/coverage/)
35
+ [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
36
+ [![pre-commit.ci status](https://results.pre-commit.ci/badge/github/humanoid-path-planner/hpp_tutorial/master.svg)](https://results.pre-commit.ci/latest/github/humanoid-path-planner/hpp_tutorial)
@@ -0,0 +1,74 @@
1
+ cmeel.prefix/include/hpp/tutorial/config.hh,sha256=Pfjdnus6SuGhcsWgkXtqFa90XP2SK9vUAx0xSqnH-7E,5165
2
+ cmeel.prefix/include/hpp/tutorial/deprecated.hh,sha256=Oak3Tzfg9KqEzyWBIFI-4GItdIXikdW9Ffhti6S7F1E,2230
3
+ cmeel.prefix/include/hpp/tutorial/warning.hh,sha256=6kmxqY0vvPWaHJ7_X5OVCVF616LRinYqkDHw0nurjGk,1141
4
+ cmeel.prefix/lib/cmake/hpp_tutorial/cxx-standard.cmake,sha256=Cgq8H2IO78VZxGGk7ptGWbzt4atU14NU6e1EssjnbZU,6462
5
+ cmeel.prefix/lib/cmake/hpp_tutorial/hpp_tutorialConfig.cmake,sha256=_2L_Jn6yNuLtydmmMSbqDT9RBXaj56j2A6GIAeoVcRQ,6900
6
+ cmeel.prefix/lib/cmake/hpp_tutorial/hpp_tutorialConfigVersion.cmake,sha256=gRwfiP-gmSFyLC9sm1gYKSghFnHiWQct11r_ik7aRWA,2762
7
+ cmeel.prefix/lib/cmake/hpp_tutorial/hpp_tutorialTargets.cmake,sha256=QcjFOuHVmYpJOb3hSGhj3ei4IAilKNHd73k81aayb5E,4049
8
+ cmeel.prefix/lib/pkgconfig/hpp_tutorial.pc,sha256=PwdgVRKGCmkA-nBE9TCOe09Welq0H1euUzz2jWp7Pd8,632
9
+ cmeel.prefix/share/ament_index/resource_index/packages/hpp_tutorial,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ cmeel.prefix/share/hpp_tutorial/package.xml,sha256=_Oys5y2fXY9ibe9fWmdzW1m9Ce3CONptIVXiZLx5lvU,591
11
+ cmeel.prefix/share/hpp_tutorial/Media/materials/textures/auf_saeule_bei_shop.png,sha256=Z_RzpygB0lor_EWwRNc05cERz_PFVpkSWybxhQtNAHg,11444
12
+ cmeel.prefix/share/hpp_tutorial/Media/materials/textures/ganz_links_neben_roboterplakat.png,sha256=hzCcjqh6JJTqw7JhYt9PhSdcYqBin8kbO5Rngzavff8,44559
13
+ cmeel.prefix/share/hpp_tutorial/Media/materials/textures/ganz_links_vorn_bei_biolab.png,sha256=at0cNET6_fg07IBHL1nd3fbosTFBZrSMr-OmF8G5ZOs,21724
14
+ cmeel.prefix/share/hpp_tutorial/Media/materials/textures/ganz_rechts_neben_kuecheninsel.png,sha256=m_jRT8Uol9Q2y3eSW5-oodWcFhaYEv24Mb9tTnjC1fI,73399
15
+ cmeel.prefix/share/hpp_tutorial/Media/materials/textures/hinter_shopschraenken_an_saeule.png,sha256=TsUAzCcpWfFg39jpg0hDaagr1fp3hO0XK1EewNsPpRw,21173
16
+ cmeel.prefix/share/hpp_tutorial/Media/materials/textures/mittig_neben_roboterplakat.png,sha256=bfouKWZnQBSOpAZ677PIM11eK-JQ_5l9UcVGwurpBaY,32141
17
+ cmeel.prefix/share/hpp_tutorial/Media/materials/textures/sink.png,sha256=Uhg7dCd6CiOHl5zhtlkTEpzsPLbQTcLXs_ACoPOtNEA,1090374
18
+ cmeel.prefix/share/hpp_tutorial/Media/materials/textures/stove.png,sha256=1iQaLr7I-L2ENANjaMIG2xBbMMH7Kxi4F0dF-H2yGRk,397170
19
+ cmeel.prefix/share/hpp_tutorial/Media/materials/textures/wallpaper.png,sha256=dlbq34QmI5X07Maz8qgY3ZZ4tQrE2r367bDqtVAdVSo,23984046
20
+ cmeel.prefix/share/hpp_tutorial/Media/materials/textures/wallpaper2.png,sha256=DlbbVhBJUWFx6ve6_6w20GOJjPSbyE9GYMEKaQFXzTg,1168142
21
+ cmeel.prefix/share/hpp_tutorial/Media/materials/textures/wallpaper_ai_unihb.png,sha256=Pv0BVLQTXpTMqkziqJTpl87iyRJViMl5xek24M51IRc,1148982
22
+ cmeel.prefix/share/hpp_tutorial/Media/materials/textures/wallpaper_project_logos.png,sha256=1wNxUNHNgtpSH2dOJoOGLNLmgeAT6igkQ7lQEscyKFU,60102
23
+ cmeel.prefix/share/hpp_tutorial/Media/models/meshes/glasses/__Color_A05_4.png,sha256=44UcRnWr59bV731vzePsuStwyfItdBcee7S2ZISp79Y,1418
24
+ cmeel.prefix/share/hpp_tutorial/hook/ament_prefix_path.dsv,sha256=ZLwqQ4MXIgnWq81BeVZXJXsJvGDAlg3rFooKRZA-V9A,40
25
+ cmeel.prefix/share/hpp_tutorial/hook/python_path.dsv,sha256=D6cqo4YjImPvt0melLbqjTlofOg69PnUoDRB1HNxnAo,61
26
+ cmeel.prefix/share/hpp_tutorial/launch/config.rviz,sha256=gpOCABSxjmoy3J03IRKR94bl7zjju5W2-GqlYFSjACU,15466
27
+ cmeel.prefix/share/hpp_tutorial/launch/tutorial_7_launch.py,sha256=h8kzhZsQpHH4onYCbygyTb_9DqWbLNZyiuV0dfz5wUs,3594
28
+ cmeel.prefix/share/hpp_tutorial/launch/tutorial_8_launch.py,sha256=wc5TzRtMWv1Ckgi_ZY-gUM5BuzxEYI3HUcKDZbbp7jM,5482
29
+ cmeel.prefix/share/hpp_tutorial/meshes/box.dae,sha256=gOq-meDxE6SHC2k0s7Ivpf3NYeZkm7yLlC35GRwboos,23610
30
+ cmeel.prefix/share/hpp_tutorial/meshes/drill.stl,sha256=LHFoJaNbmx3ybB5hl10YPAjbN_OWUH7NVjq8eFGKOWU,334884
31
+ cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/base_link.stl,sha256=dV6qjKOmWzBQkO-X1CqlkIraHo492QkmXapBbNE6O-k,13684
32
+ cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_1.stl,sha256=bbpsA6M_-ztvtXet81he_eMgOQ1SuQEkJedmFXw-Rqo,63384
33
+ cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_2.stl,sha256=QXI1wkE6EkUVbcO6Ho0X56yDp7SBnsmIFYzmqlu7mE4,82184
34
+ cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_3.stl,sha256=jiv5H4MWNPE4igQ8HcLrWfpEqI2P5cdGYSdMQy3PmtY,64884
35
+ cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_4.stl,sha256=ZGHZdx9JI3ScOUc5g9x_RKHBJPn-Lj9MiiyEvz2nuOc,37684
36
+ cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_5.stl,sha256=Mtbz5_mSLf_DiI0WxR0TEGXXm-yOm0vBXbv1IWd5ejg,12884
37
+ cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/collision/link_6.stl,sha256=bZj2DwtKfynT1CrD9vwrmoY17kPWWjX73eeaJKCLGr4,3884
38
+ cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/base_link.stl,sha256=JJmm68C1-pLMii_M-qXMisDOU_zY_XV3Omz5a1sP1bc,365634
39
+ cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_1.stl,sha256=Ctz92hn4V1liQ98kLcfLolZesZH9Zv08t9ckPWcFk5Q,194884
40
+ cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_2.stl,sha256=x-_rcdpnT_Q8EYIjclXILlTLtopPXEwkszGCDL2SGGE,337434
41
+ cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_3.stl,sha256=F9NoYHBCTMcse0vsdNTkqB5_JWU8txOjsOfhPfuHf1A,193184
42
+ cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_4.stl,sha256=rKsU0KgfW8_HLfAcD-mHpXXpLyENiOIITjXgs1jn53E,339434
43
+ cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_5.stl,sha256=rL0mI39c-uOleGRTvcJE5IxASZ4d0gmxSgWqWTZ3dWY,855384
44
+ cmeel.prefix/share/hpp_tutorial/meshes/staubli-tx2-90/visual/link_6.stl,sha256=DYy4ihmBBteGM1TfUnkLBhPD3tJFrCIpq7qeLKgvHgg,462884
45
+ cmeel.prefix/share/hpp_tutorial/srdf/box.srdf,sha256=VfIr9iXr6lIihUcCqMljb4L0Vs9e2DTPpkb8HpmkxM4,415
46
+ cmeel.prefix/share/hpp_tutorial/srdf/cup.srdf,sha256=xWUL1kJY-ALSLvr2cDibNdAkADXuo_-Xe-bTrbKzzEs,806
47
+ cmeel.prefix/share/hpp_tutorial/srdf/door.srdf,sha256=UR4qMPZJH4KPuRVFlmeBeIUI5B7Uj5QGCQh5tgslXIs,581
48
+ cmeel.prefix/share/hpp_tutorial/srdf/fr3.srdf,sha256=UWTkWvt1lIm65QIDBLeUWNhjOCp1oFd7oQhHDhrwLSs,5478
49
+ cmeel.prefix/share/hpp_tutorial/srdf/ground.srdf,sha256=ZHjb30NKBvoSKBf27BZzCaUlu0GH9ZZNf0hGTjr7pQs,186
50
+ cmeel.prefix/share/hpp_tutorial/srdf/kitchen_area.srdf,sha256=IlfJHpM0DrsZKtCFp7Da77zFCYryOrfn47TkpPhjCHs,1332383
51
+ cmeel.prefix/share/hpp_tutorial/srdf/panda.srdf,sha256=QewDgSt2qbxBzSuOPefKUJlkjv9ZZTTSnHPg62D_w2I,4215
52
+ cmeel.prefix/share/hpp_tutorial/srdf/rod.srdf,sha256=ZKiQCMhit_qbKDGBGOTl0wTWcCXE-RH_OKBnvCZKY18,28
53
+ cmeel.prefix/share/hpp_tutorial/srdf/staubli-drill.srdf,sha256=LwuTV81d0e8TkTbSoI2AvT08zT0Rzb9yz50-ctKqxLw,734
54
+ cmeel.prefix/share/hpp_tutorial/srdf/table.srdf,sha256=Autljm5hRpuyVzpkA902wty0ZNIOAw1_LvCzp2otBjc,405
55
+ cmeel.prefix/share/hpp_tutorial/tutorial_7/controllers.yaml,sha256=wyr_HjLxIKoJj7LJW9x1Ps6cPtx_eqvEijKRi_hFpCQ,637
56
+ cmeel.prefix/share/hpp_tutorial/tutorial_8/controllers.yaml,sha256=ZvAXKCKmBw1H1IyYCFYhbLL3-IADda4MbbDrk3BgHNE,1000
57
+ cmeel.prefix/share/hpp_tutorial/urdf/box.urdf,sha256=XtSK40iv_SEkarBWj2sw8lPzlgLHZ6tmrOT6wQEI_hs,632
58
+ cmeel.prefix/share/hpp_tutorial/urdf/box_color.urdf,sha256=Ao_Eu2b9t5aZCG-UM4G31SBeZRtCNScPh1yZFPK4BsE,406
59
+ cmeel.prefix/share/hpp_tutorial/urdf/cup.urdf,sha256=2LeGoeeZvamkspGvtQCDW7hBIi2GagHkfKmQIgj4knk,642
60
+ cmeel.prefix/share/hpp_tutorial/urdf/door.urdf,sha256=FpzLXEC4Km9Ff3fy_2gLbMIUc4qqNuP10IMOGYurZ2g,2772
61
+ cmeel.prefix/share/hpp_tutorial/urdf/fr3.urdf,sha256=r7DxPc5qxKtLCk4eKiSOtHyWvez2yG7mEKWkYgnjlm8,19560
62
+ cmeel.prefix/share/hpp_tutorial/urdf/ground.urdf,sha256=y_AAifSNqLm6KgAoxfNxzTtoIfjb4B4gZFZspNVLA18,433
63
+ cmeel.prefix/share/hpp_tutorial/urdf/kitchen_area.urdf,sha256=5Li8Nn5LFylgXN77jUdh7d2REPYh_wFgqIaxK4NWh8U,157694
64
+ cmeel.prefix/share/hpp_tutorial/urdf/kitchen_area_obstacle.urdf,sha256=EGhZ6P4ffeEYs5CLBADW2WPRvGedhHkyGYScRu4DCJg,157612
65
+ cmeel.prefix/share/hpp_tutorial/urdf/obstacle.urdf,sha256=Mk6xigG7vG0Rc_gUCgz7AN-Qwg4cc4vKoe1zew28KMc,378
66
+ cmeel.prefix/share/hpp_tutorial/urdf/rod.urdf,sha256=FPY99ZEVkZn8WnHvUEsnJRa0c46LJuw3OQ6YHIeC2gk,430
67
+ cmeel.prefix/share/hpp_tutorial/urdf/square-plate.urdf,sha256=ZkTqerMADat0dq_86n7_Yw0zEJ0PPJhfUY-QYZBT8TQ,352
68
+ cmeel.prefix/share/hpp_tutorial/urdf/staubli-drill.urdf,sha256=X6bSoxtK570oJC0qhrZI4dPbFrKjIEOe05pNVInGLVc,8843
69
+ cmeel.prefix/share/hpp_tutorial/urdf/table.urdf,sha256=B2yvVShBk5T5_8Acr_VC72Ta3QkpvSWYEOPVkzC7LpM,5082
70
+ hpp_tutorial-9.0.0.dist-info/licenses/LICENSE,sha256=FP3kLuAPft5c7H3zohi9pNin0YIUvL5VjTOSO_mhCRY,1298
71
+ hpp_tutorial-9.0.0.dist-info/METADATA,sha256=neHcTD_FcVFY-B1l3KsmR2Bn7qlfAdjaVhpX0_BzDRQ,2230
72
+ hpp_tutorial-9.0.0.dist-info/WHEEL,sha256=r2SCQkclWFOUD5ebjWl9xbVlr3Be-H3hVhRhAfFJfNQ,94
73
+ hpp_tutorial-9.0.0.dist-info/top_level.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
+ hpp_tutorial-9.0.0.dist-info/RECORD,,
@@ -0,0 +1,6 @@
1
+ Wheel-Version: 1.0
2
+ Generator: cmeel 0.60.1
3
+ Root-Is-Purelib: false
4
+ Tag: py3-none-any
5
+ Build: 0
6
+
@@ -0,0 +1,24 @@
1
+ BSD 2-Clause License
2
+
3
+ Copyright (c) 2014-2024, CNRS
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+
15
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
19
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
22
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
23
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
File without changes