Skip to content

Commit 2b626b1

Browse files
committed
Iris: improve collisions
- Replace large box with collision STL that approximates the base. - Add cylinders for the leg collisions. - Remove deprecated physics elements. Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
1 parent 65937b7 commit 2b626b1

2 files changed

Lines changed: 105 additions & 77 deletions

File tree

141 KB
Binary file not shown.

models/iris_with_standoffs/model.sdf

Lines changed: 105 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,34 @@
2020
</inertia>
2121
</inertial>
2222
<collision name='base_collision'>
23-
<pose>0 0 -0.08 0 0 0</pose>
23+
<pose>0 0 0 0 0 0</pose>
24+
<geometry>
25+
<mesh>
26+
<uri>package://ardupilot_gazebo/models/iris_with_standoffs/meshes/iris_collision.stl</uri>
27+
</mesh>
28+
</geometry>
29+
<surface>
30+
<contact>
31+
<ode>
32+
<max_vel>100.0</max_vel>
33+
<min_depth>0.001</min_depth>
34+
</ode>
35+
</contact>
36+
<friction>
37+
<ode>
38+
<mu>100000.0</mu>
39+
<mu2>100000.0</mu2>
40+
</ode>
41+
</friction>
42+
</surface>
43+
</collision>
44+
<collision name='front_left_leg_collision'>
45+
<pose>0.123 0.22 -0.11 0 0 0</pose>
2446
<geometry>
25-
<box>
26-
<size>0.47 0.47 0.23</size>
27-
</box>
47+
<cylinder>
48+
<radius>0.005</radius>
49+
<length>0.17</length>
50+
</cylinder>
2851
</geometry>
2952
<surface>
3053
<contact>
@@ -41,6 +64,76 @@
4164
</friction>
4265
</surface>
4366
</collision>
67+
<collision name='front_right_leg_collision'>
68+
<pose>0.123 -0.22 -0.11 0 0 0</pose>
69+
<geometry>
70+
<cylinder>
71+
<radius>0.005</radius>
72+
<length>0.17</length>
73+
</cylinder>
74+
</geometry>
75+
<surface>
76+
<contact>
77+
<ode>
78+
<max_vel>100.0</max_vel>
79+
<min_depth>0.001</min_depth>
80+
</ode>
81+
</contact>
82+
<friction>
83+
<ode>
84+
<mu>100000.0</mu>
85+
<mu2>100000.0</mu2>
86+
</ode>
87+
</friction>
88+
</surface>
89+
</collision>
90+
<collision name='rear_left_leg_collision'>
91+
<pose>-0.140 0.21 -0.11 0 0 0</pose>
92+
<geometry>
93+
<cylinder>
94+
<radius>0.005</radius>
95+
<length>0.17</length>
96+
</cylinder>
97+
</geometry>
98+
<surface>
99+
<contact>
100+
<ode>
101+
<max_vel>100.0</max_vel>
102+
<min_depth>0.001</min_depth>
103+
</ode>
104+
</contact>
105+
<friction>
106+
<ode>
107+
<mu>100000.0</mu>
108+
<mu2>100000.0</mu2>
109+
</ode>
110+
</friction>
111+
</surface>
112+
</collision>
113+
<collision name='rear_right_leg_collision'>
114+
<pose>-0.140 -0.21 -0.11 0 0 0</pose>
115+
<geometry>
116+
<cylinder>
117+
<radius>0.005</radius>
118+
<length>0.17</length>
119+
</cylinder>
120+
</geometry>
121+
<surface>
122+
<contact>
123+
<ode>
124+
<max_vel>100.0</max_vel>
125+
<min_depth>0.001</min_depth>
126+
</ode>
127+
</contact>
128+
<friction>
129+
<ode>
130+
<mu>100000.0</mu>
131+
<mu2>100000.0</mu2>
132+
</ode>
133+
</friction>
134+
</surface>
135+
</collision>
136+
44137
<visual name='base_visual'>
45138
<geometry>
46139
<mesh>
@@ -59,7 +152,6 @@
59152
</pbr>
60153
</material>
61154
</visual>
62-
63155
<visual name='front_left_leg_visual'>
64156
<pose>0.123 0.22 -0.11 0 0 0</pose>
65157
<geometry>
@@ -191,24 +283,16 @@
191283
<izz>0.000167604</izz>
192284
</inertia>
193285
</inertial>
194-
<collision name='rotor_0_collision'>
286+
<collision name='collision'>
195287
<pose>0 0 0 0 0 0</pose>
196288
<geometry>
197289
<cylinder>
198290
<length>0.005</length>
199291
<radius>0.1</radius>
200292
</cylinder>
201293
</geometry>
202-
<surface>
203-
<contact>
204-
<ode/>
205-
</contact>
206-
<friction>
207-
<ode/>
208-
</friction>
209-
</surface>
210294
</collision>
211-
<visual name='rotor_0_visual'>
295+
<visual name='visual'>
212296
<pose>0 0 0 0 0 0</pose>
213297
<geometry>
214298
<mesh>
@@ -228,9 +312,6 @@
228312
</pbr>
229313
</material>
230314
</visual>
231-
<gravity>1</gravity>
232-
<velocity_decay/>
233-
<self_collide>0</self_collide>
234315
</link>
235316
<joint name='rotor_0_joint' type='revolute'>
236317
<child>rotor_0</child>
@@ -245,11 +326,6 @@
245326
<damping>0.004</damping>
246327
</dynamics>
247328
</axis>
248-
<physics>
249-
<ode>
250-
<implicit_spring_damper>1</implicit_spring_damper>
251-
</ode>
252-
</physics>
253329
</joint>
254330
<link name='rotor_1'>
255331
<pose>-0.13 0.2 0.023 0 0 0</pose>
@@ -265,24 +341,16 @@
265341
<izz>0.000167604</izz>
266342
</inertia>
267343
</inertial>
268-
<collision name='rotor_1_collision'>
344+
<collision name='collision'>
269345
<pose>0 0 0 0 0 0</pose>
270346
<geometry>
271347
<cylinder>
272348
<length>0.005</length>
273349
<radius>0.1</radius>
274350
</cylinder>
275351
</geometry>
276-
<surface>
277-
<contact>
278-
<ode/>
279-
</contact>
280-
<friction>
281-
<ode/>
282-
</friction>
283-
</surface>
284352
</collision>
285-
<visual name='rotor_1_visual'>
353+
<visual name='visual'>
286354
<pose>0 0 0 0 0 0</pose>
287355
<geometry>
288356
<mesh>
@@ -302,9 +370,6 @@
302370
</pbr>
303371
</material>
304372
</visual>
305-
<gravity>1</gravity>
306-
<velocity_decay/>
307-
<self_collide>0</self_collide>
308373
</link>
309374
<joint name='rotor_1_joint' type='revolute'>
310375
<child>rotor_1</child>
@@ -319,11 +384,6 @@
319384
<damping>0.004</damping>
320385
</dynamics>
321386
</axis>
322-
<physics>
323-
<ode>
324-
<implicit_spring_damper>1</implicit_spring_damper>
325-
</ode>
326-
</physics>
327387
</joint>
328388
<link name='rotor_2'>
329389
<pose>0.13 0.22 0.023 0 0 0</pose>
@@ -339,24 +399,16 @@
339399
<izz>0.000167604</izz>
340400
</inertia>
341401
</inertial>
342-
<collision name='rotor_2_collision'>
402+
<collision name='collision'>
343403
<pose>0 0 0 0 0 0</pose>
344404
<geometry>
345405
<cylinder>
346406
<length>0.005</length>
347407
<radius>0.1</radius>
348408
</cylinder>
349409
</geometry>
350-
<surface>
351-
<contact>
352-
<ode/>
353-
</contact>
354-
<friction>
355-
<ode/>
356-
</friction>
357-
</surface>
358410
</collision>
359-
<visual name='rotor_2_visual'>
411+
<visual name='visual'>
360412
<pose>0 0 0 0 0 0</pose>
361413
<geometry>
362414
<mesh>
@@ -376,9 +428,6 @@
376428
</pbr>
377429
</material>
378430
</visual>
379-
<gravity>1</gravity>
380-
<velocity_decay/>
381-
<self_collide>0</self_collide>
382431
</link>
383432
<joint name='rotor_2_joint' type='revolute'>
384433
<child>rotor_2</child>
@@ -393,11 +442,6 @@
393442
<damping>0.004</damping>
394443
</dynamics>
395444
</axis>
396-
<physics>
397-
<ode>
398-
<implicit_spring_damper>1</implicit_spring_damper>
399-
</ode>
400-
</physics>
401445
</joint>
402446
<link name='rotor_3'>
403447
<pose>-0.13 -0.2 0.023 0 0 0</pose>
@@ -413,24 +457,16 @@
413457
<izz>0.000167604</izz>
414458
</inertia>
415459
</inertial>
416-
<collision name='rotor_3_collision'>
460+
<collision name='collision'>
417461
<pose>0 0 0 0 0 0</pose>
418462
<geometry>
419463
<cylinder>
420464
<length>0.005</length>
421465
<radius>0.1</radius>
422466
</cylinder>
423467
</geometry>
424-
<surface>
425-
<contact>
426-
<ode/>
427-
</contact>
428-
<friction>
429-
<ode/>
430-
</friction>
431-
</surface>
432468
</collision>
433-
<visual name='rotor_3_visual'>
469+
<visual name='visual'>
434470
<pose>0 0 0 0 0 0</pose>
435471
<geometry>
436472
<mesh>
@@ -450,9 +486,6 @@
450486
</pbr>
451487
</material>
452488
</visual>
453-
<gravity>1</gravity>
454-
<velocity_decay/>
455-
<self_collide>0</self_collide>
456489
</link>
457490
<joint name='rotor_3_joint' type='revolute'>
458491
<child>rotor_3</child>
@@ -467,11 +500,6 @@
467500
<damping>0.004</damping>
468501
</dynamics>
469502
</axis>
470-
<physics>
471-
<ode>
472-
<implicit_spring_damper>1</implicit_spring_damper>
473-
</ode>
474-
</physics>
475503
</joint>
476504
</model>
477505
</sdf>

0 commit comments

Comments
 (0)