Skip to content
<?xml version="1.0" encoding="utf-8"?>
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<asset>
<contributor>
<author>Blender User</author>
<authoring_tool>Blender 4.3.2 commit date:2024-12-16, commit time:21:10, hash:32f5fdce0a0a</authoring_tool>
</contributor>
<created>2025-07-23T21:24:27</created>
<modified>2025-07-23T21:24:27</modified>
<unit name="meter" meter="1"/>
<up_axis>Z_UP</up_axis>
</asset>
<library_effects>
<effect id="Material_002-effect">
<profile_COMMON>
<newparam sid="red_triangle_png-surface">
<surface type="2D">
<init_from>red_triangle_png</init_from>
</surface>
</newparam>
<newparam sid="red_triangle_png-sampler">
<sampler2D>
<source>red_triangle_png-surface</source>
</sampler2D>
</newparam>
<technique sid="common">
<lambert>
<emission>
<color sid="emission">0 0 0 1</color>
</emission>
<diffuse>
<texture texture="red_triangle_png-sampler" texcoord="UVMap"/>
</diffuse>
<index_of_refraction>
<float sid="ior">1.5</float>
</index_of_refraction>
</lambert>
</technique>
</profile_COMMON>
</effect>
</library_effects>
<library_images>
<image id="red_triangle_png" name="red_triangle_png">
<init_from>red_triangle.png</init_from>
</image>
</library_images>
<library_materials>
<material id="Material_002-material" name="Material.002">
<instance_effect url="#Material_002-effect"/>
</material>
</library_materials>
<library_geometries>
<geometry id="Plane-mesh" name="Plane">
<mesh>
<source id="Plane-mesh-positions">
<float_array id="Plane-mesh-positions-array" count="12">-1 -1 0 1 -1 0 -1 1 0 1 1 0</float_array>
<technique_common>
<accessor source="#Plane-mesh-positions-array" count="4" stride="3">
<param name="X" type="float"/>
<param name="Y" type="float"/>
<param name="Z" type="float"/>
</accessor>
</technique_common>
</source>
<source id="Plane-mesh-normals">
<float_array id="Plane-mesh-normals-array" count="6">0 0 1 0 0 1</float_array>
<technique_common>
<accessor source="#Plane-mesh-normals-array" count="2" stride="3">
<param name="X" type="float"/>
<param name="Y" type="float"/>
<param name="Z" type="float"/>
</accessor>
</technique_common>
</source>
<source id="Plane-mesh-map-0">
<float_array id="Plane-mesh-map-0-array" count="12">1 0 0 1 0 0 1 0 1 1 0 1</float_array>
<technique_common>
<accessor source="#Plane-mesh-map-0-array" count="6" stride="2">
<param name="S" type="float"/>
<param name="T" type="float"/>
</accessor>
</technique_common>
</source>
<vertices id="Plane-mesh-vertices">
<input semantic="POSITION" source="#Plane-mesh-positions"/>
</vertices>
<triangles material="Material_002-material" count="2">
<input semantic="VERTEX" source="#Plane-mesh-vertices" offset="0"/>
<input semantic="NORMAL" source="#Plane-mesh-normals" offset="1"/>
<input semantic="TEXCOORD" source="#Plane-mesh-map-0" offset="2" set="0"/>
<p>1 0 0 2 0 1 0 0 2 1 1 3 3 1 4 2 1 5</p>
</triangles>
</mesh>
</geometry>
</library_geometries>
<library_visual_scenes>
<visual_scene id="Scene" name="Scene">
<node id="Plane" name="Plane" type="NODE">
<matrix sid="transform">0.15 0 0 0 0 0.11 0 0 0 0 1 0 0 0 0 1</matrix>
<instance_geometry url="#Plane-mesh" name="Plane">
<bind_material>
<technique_common>
<instance_material symbol="Material_002-material" target="#Material_002-material">
<bind_vertex_input semantic="UVMap" input_semantic="TEXCOORD" input_set="0"/>
</instance_material>
</technique_common>
</bind_material>
</instance_geometry>
</node>
</visual_scene>
</library_visual_scenes>
<scene>
<instance_visual_scene url="#Scene"/>
</scene>
</COLLADA>
\ No newline at end of file
This diff is collapsed.
material sport_pool
{
receive_shadows on
technique
{
pass
{
lighting on
scene_blend off
depth_write on
depth_check on
cull_hardware none
cull_software none
texture_unit
{
texture sport_pool_texture.png
}
}
}
}
This diff is collapsed.
source diff could not be displayed: it is too large. Options to address this: view the blob.
<?xml version="1.0" ?>
<model>
<name>sport_pool</name>
<version>1.0</version>
<sdf version="1.5">model.sdf</sdf>
<author>
</author>
<description>smtu sport poool</description>
</model>
<?xml version="1.0" ?>
<sdf version="1.6">
<model name="smtu_sport_pool">
<static>true</static>
<link name="sport_pool_link">
<visual name="sport_pool_visual">
<cast_shadows>true</cast_shadows>
<!-- x y z roll pitch yaw (m/rad) 1.570795 3.14159 -->
<pose>0 10 0 0 0 1.570795</pose>
<geometry>
<mesh>
<uri>model://smtu_pool/meshes/pool.dae</uri> <!-- Путь к модели -->
<scale>1 1 1</scale>
</mesh>
</geometry>
<material>
<script>
<uri>model://smtu_pool/materials/scripts</uri>
<uri>model://smtu_pool/materials/textures</uri>
<name>sport_pool</name>
</script>
</material>
</visual>
<collision name="bottom">
<!--center of collider -->
<pose>12.5 5 -1.4 0 0 0</pose>
<geometry>
<box>
<size>25.0 10.0 0.001</size>
</box>
</geometry>
</collision>
<collision name="back_wall">
<!--center of collider -->
<pose>0 5 -1.0 0 0 0</pose>
<geometry>
<box>
<size>0.001 10.0 2.0</size>
</box>
</geometry>
</collision>
<collision name="front_wall">
<!--center of collider -->
<pose>25 5 -1.0 0 0 0</pose>
<geometry>
<box>
<size>0.001 10.0 2.0</size>
</box>
</geometry>
</collision>
<collision name="right_wall">
<!--center of collider -->
<pose>12.5 0 -1.0 0 0 0</pose>
<geometry>
<box>
<size>25 0.001 2.0</size>
</box>
</geometry>
</collision>
<collision name="left_wall">
<!--center of collider -->
<pose>12.5 10 -1.0 0 0 0</pose>
<geometry>
<box>
<size>25 0.001 2.0</size>
</box>
</geometry>
</collision>
</link>
<!-- because we use gazebo and plankton -->
<link name="sport_pool_link">
<visual name="sport_pool_visual">
<cast_shadows>true</cast_shadows>
<!-- x y z roll pitch yaw (m/rad) 1.570795 3.14159 -->
<pose>0 10 0 0 0 1.570795</pose>
<geometry>
<mesh>
<uri>model://smtu_pool/meshes/pool.dae</uri> <!-- Путь к модели -->
<scale>1 1 1</scale>
</mesh>
</geometry>
<material>
<diffuse>0.32 0.83 1 1</diffuse>
</material>
</visual>
</link>
<link name="sport_pool_home_link">
<visual name="sport_pool_home_visual">
<cast_shadows>true</cast_shadows>
<!-- x y z roll pitch yaw (m/rad) 1.570795 3.14159 -->
<pose> 0 0 0 0 0</pose>
<geometry>
<mesh>
<uri>model://smtu_pool/meshes/sport_pool_home.dae</uri> <!-- Путь к модели -->
<scale>1 1 1</scale>
</mesh>
</geometry>
</visual>
</link>
<link name="water_link">
<visual name="water_surface">
<cast_shadows>true</cast_shadows>
<pose>12.5 5 -0.7 0 0 0</pose>
<geometry>
<box>
<size>25 10 1.4</size>
</box>
</geometry>
<material>
<rendering_order>1</rendering_order>
<script>
<uri>file://media/materials/scripts/waves.material</uri>
<name>UUVSimulator/StaticWater</name>
</script>
<rendering_order>0</rendering_order>
</material>
</visual>
</link>
</model>
</sdf>
......@@ -31,27 +31,43 @@
<!-- Global light source -->
<light type="directional" name="sun_diffuse_1">
<pose>-200 -200 100 0 0 0</pose>
<diffuse>0.6 0.6 0.6 1</diffuse>
<specular>0 0 0 1</specular>
<direction>-0.3 -0.3 -1</direction>
<cast_shadows>true</cast_shadows>
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_6">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_5">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_2">
<pose>-100 50 200 0 0 0</pose>
<diffuse>0.6 0.6 0.6 1</diffuse>
<specular>0 0 0 1</specular>
<direction>-0.3 -0.3 -1</direction>
<cast_shadows>true</cast_shadows>
<pose>7 0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_3">
<pose>-150 -130 50 0 0 0</pose>
<diffuse>0.6 0.6 0.6 1</diffuse>
<specular>0.2 0.2 0.2 1</specular>
<pose>-9 5 10 0 1.531698 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_7">
<pose>10 0 10 0 0 0</pose>
<direction>0.5 0.5 0</direction>
</light>
<light type="directional" name="sun_diffuse_8">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>0.5 0.5 0</direction>
</light>
<light type="directional" name="sun_diffuse_4">
<pose>-9 -5 10 0 1.531698 0</pose>
<direction>0.5 0.5 -1</direction>
<cast_shadows>true</cast_shadows>
</light>
<include>
......@@ -70,7 +86,7 @@
<constant_current>
<topic>current_velocity</topic>
<velocity>
<mean>0</mean>
<mean>5</mean>
<min>0</min>
<max>5</max>
<mu>0.0</mu>
......@@ -78,7 +94,7 @@
</velocity>
<horizontal_angle>
<mean>0</mean>
<mean>3.141592653589793238</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
......@@ -101,7 +117,12 @@
<camera name='user_camera'>
<pose frame=''>-300 -300 20 0 0 0.5</pose>
<view_controller>orbit</view_controller>
<projection_type>perspective</projection_type>
<projection_type>fps</projection_type>
<track_visual>
<name>ws02::ws02/base_link</name>
<min_dist>1.0</min_dist>
<max_dist>10.0</max_dist>
</track_visual>
</camera>
</gui>
</world>
......
<?xml version="1.0" ?>
<sdf version="1.4">
<world name="pool">
<physics name="default_physics" default="true" type="ode">
<max_step_size>0.01</max_step_size>
<real_time_factor>1</real_time_factor>
<real_time_update_rate>100</real_time_update_rate>
<ode>
<solver>
<type>quick</type>
<iters>50</iters>
<sor>1.2</sor>
</solver>
</ode>
</physics>
<scene>
<ambient>0.01 0.01 0.01 1.0</ambient>
<sky>
<clouds>
<speed>12</speed>
</clouds>
</sky>
<shadows>1</shadows>
</scene>
<!-- Origin of the world on the Trondheim fjord, Norway -->
<spherical_coordinates>
<latitude_deg>63.4520171</latitude_deg>
<longitude_deg>10.3844778</longitude_deg>
</spherical_coordinates>
<!-- Global light source -->
<light type="directional" name="sun_diffuse_1">
<pose>0 -60 200 0 0 0</pose>
<diffuse>0.6 0.6 0.6 1</diffuse>
<specular>0 0 0 1</specular>
<direction>-0.3 -0.3 -1</direction>
<cast_shadows>true</cast_shadows>
</light>
<light type="directional" name="sun_diffuse_2">
<pose>-120 60 200 0 0 0</pose>
<diffuse>0.6 0.6 0.6 1</diffuse>
<specular>0 0 0 1</specular>
<direction>-0.3 -0.3 -1</direction>
<cast_shadows>true</cast_shadows>
</light>
<light type="directional" name="sun_diffuse_3">
<pose>-120 0 100 0 0 0</pose>
<diffuse>0.6 0.6 0.6 1</diffuse>
<specular>0.2 0.2 0.2 1</specular>
<direction>0.5 0.5 -1</direction>
<cast_shadows>true</cast_shadows>
</light>
<include>
<uri>model://pool_model_4m</uri>
<pose>0 0 0 0 0 0</pose>
</include>
<plugin name="gazebo_ros" filename="libgazebo_ros_state.so">
<ros>
<namespace>/gazebo</namespace>
</ros>
</plugin>
<plugin name="underwater_current_plugin" filename="libuuv_underwater_current_ros_plugin.so">
<namespace>hydrodynamics</namespace>
<constant_current>
<topic>current_velocity</topic>
<velocity>
<mean>0</mean>
<min>0</min>
<max>5</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</velocity>
<horizontal_angle>
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</horizontal_angle>
<vertical_angle>
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</vertical_angle>
</constant_current>
</plugin>
<plugin name="sc_interface" filename="libuuv_sc_ros_interface_plugin.so"/>
<gui fullscreen='0'>
<camera name='user_camera'>
<pose frame=''>-300 -300 20 0 0 0.5</pose>
<view_controller>orbit</view_controller>
<projection_type>perspective</projection_type>
</camera>
</gui>
</world>
</sdf>
<?xml version="1.0" ?>
<sdf version="1.4">
<world name="pool">
<physics name="default_physics" default="true" type="ode">
<max_step_size>0.01</max_step_size>
<real_time_factor>1</real_time_factor>
<real_time_update_rate>100</real_time_update_rate>
<ode>
<solver>
<type>quick</type>
<iters>50</iters>
<sor>1.2</sor>
</solver>
</ode>
</physics>
<scene>
<shadows>1</shadows>
</scene>
<!-- Origin of the world on the Trondheim fjord, Norway -->
<spherical_coordinates>
<latitude_deg>63.4520171</latitude_deg>
<longitude_deg>10.3844778</longitude_deg>
</spherical_coordinates>
<!-- Global light source -->
<light type="directional" name="sun_diffuse_1">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_2">
<pose>0 0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_3">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_4">
<pose>-9 -5 10 0 1.531698 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<include>
<uri>model://pool_model_4m</uri>
<pose>0 0 0 0 0 0</pose>
</include>
<include>
<uri>model://buoys_for_pool_4m</uri>
<pose>-6.75 1.7 0 0 0 0</pose>
</include>
<plugin name="gazebo_ros" filename="libgazebo_ros_state.so">
<ros>
<namespace>/gazebo</namespace>
</ros>
</plugin>
<plugin name="underwater_current_plugin" filename="libuuv_underwater_current_ros_plugin.so">
<namespace>hydrodynamics</namespace>
<constant_current>
<topic>current_velocity</topic>
<velocity>
<mean>0</mean>
<min>0</min>
<max>5</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</velocity>
<horizontal_angle>
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</horizontal_angle>
<vertical_angle>
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</vertical_angle>
</constant_current>
</plugin>
<plugin name="sc_interface" filename="libuuv_sc_ros_interface_plugin.so"/>
<gui fullscreen='0'>
<camera name='user_camera'>
<pose frame=''>-30.0 -30.0 3.0 0 0 0.6</pose>
<view_controller>orbit</view_controller>
<projection_type>perspective</projection_type>
</camera>
</gui>
</world>
</sdf>
<?xml version="1.0" ?>
<sdf version="1.4">
<world name="pool">
<physics name="default_physics" default="true" type="ode">
<max_step_size>0.01</max_step_size>
<real_time_factor>1</real_time_factor>
<real_time_update_rate>100</real_time_update_rate>
<ode>
<solver>
<type>quick</type>
<iters>50</iters>
<sor>1.2</sor>
</solver>
</ode>
</physics>
<scene>
<ambient>0.1 0.1 0.1 1.0</ambient>
<sky>
<clouds>
<speed>12</speed>
</clouds>
</sky>
<shadows>true</shadows>
<background>0.1 0.1 0.1 1</background>
</scene>
<!-- Origin of SPb -->
<spherical_coordinates>
<latitude_deg>59.9343</latitude_deg>
<longitude_deg>30.3351</longitude_deg>
</spherical_coordinates>
<!-- Global light source -->
<light type="directional" name="sun_diffuse_1">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_2">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_3">
<pose>-8 -0 10 0 0 0</pose>
<direction>-0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_4">
<pose>7 0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_5">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>-0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_10">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_20">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 -0.5 -1</direction>
</light>
-->
<light type="directional" name="sun_diffuse_30">
<pose>-8 -0 10 0 0 0</pose>
<direction>-0.5 0.5 -1</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_40">
<pose>7 0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light> -->
<light type="directional" name="sun_diffuse_50">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>-0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_100">
<pose>22 5 2 0 0 0</pose>
<direction>0 -1 0</direction>
</light>
<light type="directional" name="sun_diffuse_200">
<pose>0.5 9.5 2 0 0 0</pose>
<direction>1 0.3 0</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_7">
<pose>10 0 10 0 0 0</pose>
<direction>0.5 0.5 0</direction>
</light>
<light type="directional" name="sun_diffuse_8">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>0.5 0.5 0</direction>
</light>
<light type="directional" name="sun_diffuse_4">
<pose>-9 -5 10 0 1.531698 0</pose>
<direction>0.5 0.5 -1</direction>
</light> -->
<!-- pool model -->
<include>
<uri>model://smtu_pool</uri>
<pose>0 0 0 0 0 0</pose>
</include>
<!-- other model example -->
<include>
<uri>model://pspb_2025/environment/example</uri>
<pose>0 0 0 0 0 0</pose>
</include>
<!-- namespace-->
<plugin name="gazebo_ros" filename="libgazebo_ros_state.so">
<ros>
<namespace>/gazebo</namespace>
</ros>
</plugin>
<plugin name="underwater_current_plugin" filename="libuuv_underwater_current_ros_plugin.so">
<namespace>hydrodynamics</namespace>
<constant_current>
<topic>current_velocity</topic>
<velocity>
<!-- current speed -->
<mean>0</mean>
<min>0</min>
<max>5</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</velocity>
<horizontal_angle>
<!-- current angle -->
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</horizontal_angle>
<vertical_angle>
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</vertical_angle>
</constant_current>
</plugin>
<plugin name="sc_interface" filename="libuuv_sc_ros_interface_plugin.so"/>
<gui fullscreen='0'>
<camera name='user_camera'>
<!-- x y z roll pitch yaw (m/rad) 1.570795 3.14159 -->
<pose frame=''>22 27 14 0 0.57 -1.918</pose>
<!-- orbit/fps -->
<view_controller>fps</view_controller>
<projection_type>perspective</projection_type>
<!-- привязка камеры к визуальному объекту -->
<!--
<track_visual>
<name>ws02::ws02/base_link</name>
<min_dist>1.0</min_dist>
<max_dist>1000.0</max_dist>
</track_visual>
-->
<!-- сохранять ли состояние камеры между запусками -->
</camera>
</gui>
</world>
</sdf>
<?xml version="1.0" ?>
<sdf version="1.4">
<world name="pool">
<physics name="default_physics" default="true" type="ode">
<max_step_size>0.01</max_step_size>
<real_time_factor>1</real_time_factor>
<real_time_update_rate>100</real_time_update_rate>
<ode>
<solver>
<type>quick</type>
<iters>50</iters>
<sor>1.2</sor>
</solver>
</ode>
</physics>
<scene>
<ambient>0.1 0.1 0.1 1.0</ambient>
<sky>
<clouds>
<speed>12</speed>
</clouds>
</sky>
<shadows>true</shadows>
<background>0.1 0.1 0.1 1</background>
</scene>
<!-- Origin of SPb -->
<spherical_coordinates>
<latitude_deg>59.9343</latitude_deg>
<longitude_deg>30.3351</longitude_deg>
</spherical_coordinates>
<!-- Global light source -->
<light type="directional" name="sun_diffuse_1">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_2">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_3">
<pose>-8 -0 10 0 0 0</pose>
<direction>-0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_4">
<pose>7 0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_5">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>-0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_10">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_20">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 -0.5 -1</direction>
</light>
-->
<light type="directional" name="sun_diffuse_30">
<pose>-8 -0 10 0 0 0</pose>
<direction>-0.5 0.5 -1</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_40">
<pose>7 0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light> -->
<light type="directional" name="sun_diffuse_50">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>-0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_100">
<pose>22 5 2 0 0 0</pose>
<direction>0 -1 0</direction>
</light>
<light type="directional" name="sun_diffuse_200">
<pose>0.5 9.5 2 0 0 0</pose>
<direction>1 0.3 0</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_7">
<pose>10 0 10 0 0 0</pose>
<direction>0.5 0.5 0</direction>
</light>
<light type="directional" name="sun_diffuse_8">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>0.5 0.5 0</direction>
</light>
<light type="directional" name="sun_diffuse_4">
<pose>-9 -5 10 0 1.531698 0</pose>
<direction>0.5 0.5 -1</direction>
</light> -->
<!-- pool model -->
<include>
<uri>model://smtu_pool</uri>
<pose>0 0 0 0 0 0</pose>
</include>
<!-- other model example -->
<include>
<uri>model://pspb_2025/environment/green_square</uri>
<pose>0 0 0 0 0 0</pose>
</include>
<!-- namespace-->
<plugin name="gazebo_ros" filename="libgazebo_ros_state.so">
<ros>
<namespace>/gazebo</namespace>
</ros>
</plugin>
<plugin name="underwater_current_plugin" filename="libuuv_underwater_current_ros_plugin.so">
<namespace>hydrodynamics</namespace>
<constant_current>
<topic>current_velocity</topic>
<velocity>
<!-- current speed -->
<mean>0</mean>
<min>0</min>
<max>5</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</velocity>
<horizontal_angle>
<!-- current angle -->
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</horizontal_angle>
<vertical_angle>
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</vertical_angle>
</constant_current>
</plugin>
<plugin name="sc_interface" filename="libuuv_sc_ros_interface_plugin.so"/>
<gui fullscreen='0'>
<camera name='user_camera'>
<!-- x y z roll pitch yaw (m/rad) 1.570795 3.14159 -->
<pose frame=''>22 27 14 0 0.57 -1.918</pose>
<!-- orbit/fps -->
<view_controller>fps</view_controller>
<projection_type>perspective</projection_type>
<!-- привязка камеры к визуальному объекту -->
<!--
<track_visual>
<name>ws02::ws02/base_link</name>
<min_dist>1.0</min_dist>
<max_dist>1000.0</max_dist>
</track_visual>
-->
<!-- сохранять ли состояние камеры между запусками -->
</camera>
</gui>
</world>
</sdf>
<?xml version="1.0" ?>
<sdf version="1.4">
<world name="pool">
<physics name="default_physics" default="true" type="ode">
<max_step_size>0.01</max_step_size>
<real_time_factor>1</real_time_factor>
<real_time_update_rate>100</real_time_update_rate>
<ode>
<solver>
<type>quick</type>
<iters>50</iters>
<sor>1.2</sor>
</solver>
</ode>
</physics>
<scene>
<ambient>0.1 0.1 0.1 1.0</ambient>
<sky>
<clouds>
<speed>12</speed>
</clouds>
</sky>
<shadows>true</shadows>
<background>0.1 0.1 0.1 1</background>
</scene>
<!-- Origin of SPb -->
<spherical_coordinates>
<latitude_deg>59.9343</latitude_deg>
<longitude_deg>30.3351</longitude_deg>
</spherical_coordinates>
<!-- Global light source -->
<light type="directional" name="sun_diffuse_1">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_2">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_3">
<pose>-8 -0 10 0 0 0</pose>
<direction>-0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_4">
<pose>7 0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_5">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>-0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_10">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_20">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 -0.5 -1</direction>
</light>
-->
<light type="directional" name="sun_diffuse_30">
<pose>-8 -0 10 0 0 0</pose>
<direction>-0.5 0.5 -1</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_40">
<pose>7 0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light> -->
<light type="directional" name="sun_diffuse_50">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>-0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_100">
<pose>22 5 2 0 0 0</pose>
<direction>0 -1 0</direction>
</light>
<light type="directional" name="sun_diffuse_200">
<pose>0.5 9.5 2 0 0 0</pose>
<direction>1 0.3 0</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_7">
<pose>10 0 10 0 0 0</pose>
<direction>0.5 0.5 0</direction>
</light>
<light type="directional" name="sun_diffuse_8">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>0.5 0.5 0</direction>
</light>
<light type="directional" name="sun_diffuse_4">
<pose>-9 -5 10 0 1.531698 0</pose>
<direction>0.5 0.5 -1</direction>
</light> -->
<!-- pool model -->
<include>
<uri>model://smtu_pool</uri>
<pose>0 0 0 0 0 0</pose>
</include>
<!-- other model example -->
<include>
<uri>model://pspb_2025/environment/red_triangle</uri>
<pose>0 0 0 0 0 0</pose>
</include>
<!-- namespace-->
<plugin name="gazebo_ros" filename="libgazebo_ros_state.so">
<ros>
<namespace>/gazebo</namespace>
</ros>
</plugin>
<plugin name="underwater_current_plugin" filename="libuuv_underwater_current_ros_plugin.so">
<namespace>hydrodynamics</namespace>
<constant_current>
<topic>current_velocity</topic>
<velocity>
<!-- current speed -->
<mean>0</mean>
<min>0</min>
<max>5</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</velocity>
<horizontal_angle>
<!-- current angle -->
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</horizontal_angle>
<vertical_angle>
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</vertical_angle>
</constant_current>
</plugin>
<plugin name="sc_interface" filename="libuuv_sc_ros_interface_plugin.so"/>
<gui fullscreen='0'>
<camera name='user_camera'>
<!-- x y z roll pitch yaw (m/rad) 1.570795 3.14159 -->
<pose frame=''>22 27 14 0 0.57 -1.918</pose>
<!-- orbit/fps -->
<view_controller>fps</view_controller>
<projection_type>perspective</projection_type>
<!-- привязка камеры к визуальному объекту -->
<!--
<track_visual>
<name>ws02::ws02/base_link</name>
<min_dist>1.0</min_dist>
<max_dist>1000.0</max_dist>
</track_visual>
-->
<!-- сохранять ли состояние камеры между запусками -->
</camera>
</gui>
</world>
</sdf>
<?xml version="1.0" ?>
<sdf version="1.4">
<world name="pool">
<physics name="default_physics" default="true" type="ode">
<max_step_size>0.01</max_step_size>
<real_time_factor>1</real_time_factor>
<real_time_update_rate>100</real_time_update_rate>
<ode>
<solver>
<type>quick</type>
<iters>50</iters>
<sor>1.2</sor>
</solver>
</ode>
</physics>
<scene>
<ambient>0.1 0.1 0.1 1.0</ambient>
<sky>
<clouds>
<speed>12</speed>
</clouds>
</sky>
<shadows>true</shadows>
<background>0.1 0.1 0.1 1</background>
</scene>
<!-- Origin of SPb -->
<spherical_coordinates>
<latitude_deg>59.9343</latitude_deg>
<longitude_deg>30.3351</longitude_deg>
</spherical_coordinates>
<!-- Global light source -->
<light type="directional" name="sun_diffuse_1">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_2">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_3">
<pose>-8 -0 10 0 0 0</pose>
<direction>-0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_4">
<pose>7 0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_5">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>-0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_10">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_20">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 -0.5 -1</direction>
</light>
-->
<light type="directional" name="sun_diffuse_30">
<pose>-8 -0 10 0 0 0</pose>
<direction>-0.5 0.5 -1</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_40">
<pose>7 0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light> -->
<light type="directional" name="sun_diffuse_50">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>-0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_100">
<pose>22 5 2 0 0 0</pose>
<direction>0 -1 0</direction>
</light>
<light type="directional" name="sun_diffuse_200">
<pose>0.5 9.5 2 0 0 0</pose>
<direction>1 0.3 0</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_7">
<pose>10 0 10 0 0 0</pose>
<direction>0.5 0.5 0</direction>
</light>
<light type="directional" name="sun_diffuse_8">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>0.5 0.5 0</direction>
</light>
<light type="directional" name="sun_diffuse_4">
<pose>-9 -5 10 0 1.531698 0</pose>
<direction>0.5 0.5 -1</direction>
</light> -->
<!-- pool model -->
<include>
<uri>model://smtu_pool</uri>
<pose>0 0 0 0 0 0</pose>
</include>
<!-- other model example -->
<include>
<uri>model://pspb_2025/environment/test</uri>
<pose>0 0 0 0 0 0</pose>
</include>
<!-- namespace-->
<plugin name="gazebo_ros" filename="libgazebo_ros_state.so">
<ros>
<namespace>/gazebo</namespace>
</ros>
</plugin>
<plugin name="underwater_current_plugin" filename="libuuv_underwater_current_ros_plugin.so">
<namespace>hydrodynamics</namespace>
<constant_current>
<topic>current_velocity</topic>
<velocity>
<!-- current speed -->
<mean>0</mean>
<min>0</min>
<max>5</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</velocity>
<horizontal_angle>
<!-- current angle -->
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</horizontal_angle>
<vertical_angle>
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</vertical_angle>
</constant_current>
</plugin>
<plugin name="sc_interface" filename="libuuv_sc_ros_interface_plugin.so"/>
<gui fullscreen='0'>
<camera name='user_camera'>
<!-- x y z roll pitch yaw (m/rad) 1.570795 3.14159 -->
<pose frame=''>22 27 14 0 0.57 -1.918</pose>
<!-- orbit/fps -->
<view_controller>fps</view_controller>
<projection_type>perspective</projection_type>
<!-- привязка камеры к визуальному объекту -->
<!--
<track_visual>
<name>ws02::ws02/base_link</name>
<min_dist>1.0</min_dist>
<max_dist>1000.0</max_dist>
</track_visual>
-->
<!-- сохранять ли состояние камеры между запусками -->
</camera>
</gui>
</world>
</sdf>
<?xml version="1.0" ?>
<sdf version="1.4">
<world name="pool">
<physics name="default_physics" default="true" type="ode">
<max_step_size>0.01</max_step_size>
<real_time_factor>1</real_time_factor>
<real_time_update_rate>100</real_time_update_rate>
<ode>
<solver>
<type>quick</type>
<iters>50</iters>
<sor>1.2</sor>
</solver>
</ode>
</physics>
<scene>
<ambient>0.1 0.1 0.1 1.0</ambient>
<sky>
<clouds>
<speed>12</speed>
</clouds>
</sky>
<shadows>true</shadows>
<background>0.1 0.1 0.1 1</background>
</scene>
<!-- Origin of SPb -->
<spherical_coordinates>
<latitude_deg>59.9343</latitude_deg>
<longitude_deg>30.3351</longitude_deg>
</spherical_coordinates>
<!-- Global light source -->
<light type="directional" name="sun_diffuse_1">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_2">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_3">
<pose>-8 -0 10 0 0 0</pose>
<direction>-0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_4">
<pose>7 0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_5">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>-0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_10">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_20">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 -0.5 -1</direction>
</light>
-->
<light type="directional" name="sun_diffuse_30">
<pose>-8 -0 10 0 0 0</pose>
<direction>-0.5 0.5 -1</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_40">
<pose>7 0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light> -->
<light type="directional" name="sun_diffuse_50">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>-0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_100">
<pose>22 5 2 0 0 0</pose>
<direction>0 -1 0</direction>
</light>
<light type="directional" name="sun_diffuse_200">
<pose>0.5 9.5 2 0 0 0</pose>
<direction>1 0.3 0</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_7">
<pose>10 0 10 0 0 0</pose>
<direction>0.5 0.5 0</direction>
</light>
<light type="directional" name="sun_diffuse_8">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>0.5 0.5 0</direction>
</light>
<light type="directional" name="sun_diffuse_4">
<pose>-9 -5 10 0 1.531698 0</pose>
<direction>0.5 0.5 -1</direction>
</light> -->
<!-- pool model -->
<include>
<uri>model://smtu_pool</uri>
<pose>0 0 0 0 0 0</pose>
</include>
<!-- other model example -->
<include>
<uri>model://pspb_2025/environment/yellow_circle</uri>
<pose>0 0 0 0 0 0</pose>
</include>
<!-- namespace-->
<plugin name="gazebo_ros" filename="libgazebo_ros_state.so">
<ros>
<namespace>/gazebo</namespace>
</ros>
</plugin>
<plugin name="underwater_current_plugin" filename="libuuv_underwater_current_ros_plugin.so">
<namespace>hydrodynamics</namespace>
<constant_current>
<topic>current_velocity</topic>
<velocity>
<!-- current speed -->
<mean>0</mean>
<min>0</min>
<max>5</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</velocity>
<horizontal_angle>
<!-- current angle -->
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</horizontal_angle>
<vertical_angle>
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</vertical_angle>
</constant_current>
</plugin>
<plugin name="sc_interface" filename="libuuv_sc_ros_interface_plugin.so"/>
<gui fullscreen='0'>
<camera name='user_camera'>
<!-- x y z roll pitch yaw (m/rad) 1.570795 3.14159 -->
<pose frame=''>22 27 14 0 0.57 -1.918</pose>
<!-- orbit/fps -->
<view_controller>fps</view_controller>
<projection_type>perspective</projection_type>
<!-- привязка камеры к визуальному объекту -->
<!--
<track_visual>
<name>ws02::ws02/base_link</name>
<min_dist>1.0</min_dist>
<max_dist>1000.0</max_dist>
</track_visual>
-->
<!-- сохранять ли состояние камеры между запусками -->
</camera>
</gui>
</world>
</sdf>
<?xml version="1.0" ?>
<sdf version="1.4">
<world name="pool">
<physics name="default_physics" default="true" type="ode">
<max_step_size>0.01</max_step_size>
<real_time_factor>1</real_time_factor>
<real_time_update_rate>100</real_time_update_rate>
<ode>
<solver>
<type>quick</type>
<iters>50</iters>
<sor>1.2</sor>
</solver>
</ode>
</physics>
<scene>
<ambient>0.1 0.1 0.1 1.0</ambient>
<sky>
<clouds>
<speed>12</speed>
</clouds>
</sky>
<shadows>true</shadows>
<background>0.1 0.1 0.1 1</background>
</scene>
<!-- Origin of SPb -->
<spherical_coordinates>
<latitude_deg>59.9343</latitude_deg>
<longitude_deg>30.3351</longitude_deg>
</spherical_coordinates>
<!-- Global light source -->
<light type="directional" name="sun_diffuse_1">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_2">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_3">
<pose>-8 -0 10 0 0 0</pose>
<direction>-0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_4">
<pose>7 0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_5">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>-0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_10">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_20">
<pose>-8 -0 10 0 0 0</pose>
<direction>0.5 -0.5 -1</direction>
</light>
-->
<light type="directional" name="sun_diffuse_30">
<pose>-8 -0 10 0 0 0</pose>
<direction>-0.5 0.5 -1</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_40">
<pose>7 0 10 0 0 0</pose>
<direction>0.5 0.5 -1</direction>
</light> -->
<light type="directional" name="sun_diffuse_50">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>-0.5 -0.5 -1</direction>
</light>
<light type="directional" name="sun_diffuse_100">
<pose>22 5 2 0 0 0</pose>
<direction>0 -1 0</direction>
</light>
<light type="directional" name="sun_diffuse_100">
<pose>0.5 9.5 2 0 0 0</pose>
<direction>1 0.3 0</direction>
</light>
<!-- <light type="directional" name="sun_diffuse_7">
<pose>10 0 10 0 0 0</pose>
<direction>0.5 0.5 0</direction>
</light>
<light type="directional" name="sun_diffuse_8">
<pose>-9 5 10 0 1.531698 0</pose>
<direction>0.5 0.5 0</direction>
</light>
<light type="directional" name="sun_diffuse_4">
<pose>-9 -5 10 0 1.531698 0</pose>
<direction>0.5 0.5 -1</direction>
</light> -->
<!-- pool model -->
<include>
<uri>model://smtu_pool</uri>
<pose>0 0 0 0 0 0</pose>
</include>
<!-- other model example -->
<!-- <include>
<uri>model://pspb_2025</uri>
<pose>0 0 0 0 0 0</pose>
</include> -->
<!-- namespace-->
<plugin name="gazebo_ros" filename="libgazebo_ros_state.so">
<ros>
<namespace>/gazebo</namespace>
</ros>
</plugin>
<plugin name="underwater_current_plugin" filename="libuuv_underwater_current_ros_plugin.so">
<namespace>hydrodynamics</namespace>
<constant_current>
<topic>current_velocity</topic>
<velocity>
<!-- current speed -->
<mean>0</mean>
<min>0</min>
<max>5</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</velocity>
<horizontal_angle>
<!-- current angle -->
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</horizontal_angle>
<vertical_angle>
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</vertical_angle>
</constant_current>
</plugin>
<plugin name="sc_interface" filename="libuuv_sc_ros_interface_plugin.so"/>
<gui fullscreen='0'>
<camera name='user_camera'>
<!-- x y z roll pitch yaw (m/rad) 1.570795 3.14159 -->
<pose frame=''>-1.3 -14 16 0 0.642 1.018</pose>
<!-- orbit/fps -->
<view_controller>fps</view_controller>
<projection_type>perspective</projection_type>
<!-- привязка камеры к визуальному объекту -->
<!--
<track_visual>
<name>ws02::ws02/base_link</name>
<min_dist>1.0</min_dist>
<max_dist>1000.0</max_dist>
</track_visual>
-->
<!-- сохранять ли состояние камеры между запусками -->
</camera>
</gui>
</world>
</sdf>