UGV Camera and World Gen Boxes

This commit is contained in:
2026-02-23 16:00:12 -05:00
parent 9eea35ed1d
commit e17f3e67dd
15 changed files with 426 additions and 6 deletions

View File

@@ -0,0 +1,128 @@
<?xml version="1.0" ?>
<sdf version="1.9">
<model name="traffic_cone">
<static>true</static>
<link name="link">
<!-- Rubber base plate -->
<collision name="base_collision">
<pose>0 0 0.015 0 0 0</pose>
<geometry><box><size>0.38 0.38 0.03</size></box></geometry>
</collision>
<visual name="base_visual">
<pose>0 0 0.015 0 0 0</pose>
<geometry><box><size>0.38 0.38 0.03</size></box></geometry>
<material>
<ambient>0.08 0.08 0.08 1</ambient>
<diffuse>0.10 0.10 0.10 1</diffuse>
</material>
</visual>
<!-- Cone body: tapered segments (bottom to top) -->
<!-- Segment 1 (bottom) — widest -->
<visual name="seg_1">
<pose>0 0 0.065 0 0 0</pose>
<geometry><cylinder><radius>0.135</radius><length>0.07</length></cylinder></geometry>
<material>
<ambient>1.0 0.35 0.0 1</ambient>
<diffuse>1.0 0.40 0.05 1</diffuse>
<emissive>0.25 0.08 0.0 0.2</emissive>
</material>
</visual>
<!-- Segment 2 -->
<visual name="seg_2">
<pose>0 0 0.125 0 0 0</pose>
<geometry><cylinder><radius>0.120</radius><length>0.05</length></cylinder></geometry>
<material>
<ambient>1.0 0.35 0.0 1</ambient>
<diffuse>1.0 0.40 0.05 1</diffuse>
<emissive>0.25 0.08 0.0 0.2</emissive>
</material>
</visual>
<!-- Lower reflective stripe -->
<visual name="stripe_lower">
<pose>0 0 0.168 0 0 0</pose>
<geometry><cylinder><radius>0.108</radius><length>0.036</length></cylinder></geometry>
<material>
<ambient>0.95 0.95 0.95 1</ambient>
<diffuse>1.0 1.0 1.0 1</diffuse>
<emissive>0.6 0.6 0.6 0.5</emissive>
</material>
</visual>
<!-- Segment 3 (between stripes) -->
<visual name="seg_3">
<pose>0 0 0.210 0 0 0</pose>
<geometry><cylinder><radius>0.095</radius><length>0.05</length></cylinder></geometry>
<material>
<ambient>1.0 0.35 0.0 1</ambient>
<diffuse>1.0 0.40 0.05 1</diffuse>
<emissive>0.25 0.08 0.0 0.2</emissive>
</material>
</visual>
<!-- Upper reflective stripe -->
<visual name="stripe_upper">
<pose>0 0 0.253 0 0 0</pose>
<geometry><cylinder><radius>0.080</radius><length>0.036</length></cylinder></geometry>
<material>
<ambient>0.95 0.95 0.95 1</ambient>
<diffuse>1.0 1.0 1.0 1</diffuse>
<emissive>0.6 0.6 0.6 0.5</emissive>
</material>
</visual>
<!-- Segment 4 -->
<visual name="seg_4">
<pose>0 0 0.295 0 0 0</pose>
<geometry><cylinder><radius>0.065</radius><length>0.05</length></cylinder></geometry>
<material>
<ambient>1.0 0.35 0.0 1</ambient>
<diffuse>1.0 0.40 0.05 1</diffuse>
<emissive>0.25 0.08 0.0 0.2</emissive>
</material>
</visual>
<!-- Segment 5 -->
<visual name="seg_5">
<pose>0 0 0.340 0 0 0</pose>
<geometry><cylinder><radius>0.048</radius><length>0.04</length></cylinder></geometry>
<material>
<ambient>1.0 0.35 0.0 1</ambient>
<diffuse>1.0 0.40 0.05 1</diffuse>
<emissive>0.25 0.08 0.0 0.2</emissive>
</material>
</visual>
<!-- Segment 6 (top) — narrowest -->
<visual name="seg_6">
<pose>0 0 0.375 0 0 0</pose>
<geometry><cylinder><radius>0.032</radius><length>0.03</length></cylinder></geometry>
<material>
<ambient>1.0 0.35 0.0 1</ambient>
<diffuse>1.0 0.40 0.05 1</diffuse>
<emissive>0.25 0.08 0.0 0.2</emissive>
</material>
</visual>
<!-- Tip cap -->
<visual name="tip">
<pose>0 0 0.395 0 0 0</pose>
<geometry><cylinder><radius>0.020</radius><length>0.01</length></cylinder></geometry>
<material>
<ambient>1.0 0.40 0.05 1</ambient>
<diffuse>1.0 0.45 0.10 1</diffuse>
</material>
</visual>
<!-- Collision: simplified bounding shape for the whole cone -->
<collision name="cone_collision">
<pose>0 0 0.22 0 0 0</pose>
<geometry><cylinder><radius>0.13</radius><length>0.40</length></cylinder></geometry>
</collision>
</link>
</model>
</sdf>