diff --git a/models/dave_robot_models/config/bluerov2_heavy/robot_config.py b/models/dave_robot_models/config/bluerov2_heavy/robot_config.py
index 0a664fd6..3b8e9446 100644
--- a/models/dave_robot_models/config/bluerov2_heavy/robot_config.py
+++ b/models/dave_robot_models/config/bluerov2_heavy/robot_config.py
@@ -29,23 +29,11 @@ def launch_setup(context, *args, **kwargs):
f"/model/{namespace}/pose@geometry_msgs/msg/PoseArray@gz.msgs.Pose_V",
f"/model/{namespace}/imu@sensor_msgs/msg/Imu@gz.msgs.IMU",
f"/model/{namespace}/magnetometer@sensor_msgs/msg/MagneticField@gz.msgs.Magnetometer",
- f"/model/{namespace}/camera/image@sensor_msgs/msg/Image@gz.msgs.Image",
+ f"/model/{namespace}/camera/image_raw@sensor_msgs/msg/Image@gz.msgs.Image",
f"/model/{namespace}/camera/camera_info@sensor_msgs/msg/CameraInfo@gz.msgs.CameraInfo",
- f"/model/{namespace}/multibeam_sonar/point_cloud@sensor_msgs/msg/PointCloud2@gz.msgs.PointCloudPacked",
]
)
- tf_node = Node(
- package="tf2_ros",
- executable="static_transform_publisher",
- arguments=[
- "--frame-id",
- "world",
- "--child-frame-id",
- "bluerov2_heavy/sonar_link/multibeam_sonar",
- ],
- )
-
bluerov2_heavy_bridge = Node(
package="ros_gz_bridge",
executable="parameter_bridge",
@@ -62,7 +50,7 @@ def launch_setup(context, *args, **kwargs):
parameters=[mavros_file, {"use_sim_time": True}],
)
- nodes = [bluerov2_heavy_bridge, mavros_node, tf_node]
+ nodes = [bluerov2_heavy_bridge, mavros_node]
ardusub_params = LaunchConfiguration("ardusub_params").perform(context)
@@ -76,6 +64,28 @@ def launch_setup(context, *args, **kwargs):
processes = [ardusub_process]
+ # ardusub_manager_file = LaunchConfiguration("ardusub_manager_file")
+
+ # # Include the ardusub_manager launch file
+ # ardusub_manager = IncludeLaunchDescription(
+ # PythonLaunchDescriptionSource(
+ # [
+ # PathJoinSubstitution(
+ # [
+ # FindPackageShare("ardusub_manager"),
+ # "launch",
+ # "ardusub_manager.launch.py",
+ # ]
+ # )
+ # ]
+ # ),
+ # launch_arguments={
+ # "ardusub_manager_file": ardusub_manager_file,
+ # }.items(),
+ # )
+
+ # includes = [ardusub_manager]
+
return nodes + processes
@@ -89,7 +99,7 @@ def generate_launch_description():
DeclareLaunchArgument(
"mavros_file",
default_value=PathJoinSubstitution(
- [FindPackageShare("dave_robot_models"), "config", "mavros", "mavros.yaml"]
+ [FindPackageShare("dave_robot_models"), "config", "ardusub", "mavros.yaml"]
),
description="Path to mavros.yaml file",
),
@@ -100,6 +110,18 @@ def generate_launch_description():
),
description="Path to ardusub.parm file",
),
+ DeclareLaunchArgument(
+ "ardusub_manager_file",
+ default_value=PathJoinSubstitution(
+ [
+ FindPackageShare("dave_robot_models"),
+ "config",
+ "ardusub",
+ "ardusub_manager.yaml",
+ ]
+ ),
+ description="Path to ardusub_manager.yaml file",
+ ),
]
return LaunchDescription(args + [OpaqueFunction(function=launch_setup)])
diff --git a/models/dave_robot_models/config/bluerov2_heavy_multibeam_sonar/ardusub.parm b/models/dave_robot_models/config/bluerov2_heavy_multibeam_sonar/ardusub.parm
new file mode 100644
index 00000000..e8f67cc8
--- /dev/null
+++ b/models/dave_robot_models/config/bluerov2_heavy_multibeam_sonar/ardusub.parm
@@ -0,0 +1,94 @@
+# These settings were copied from ardupilot/Tools/autotest/default_params/sub-6dof.parm
+BARO_RND 0.02
+BATT_MONITOR 4
+BTN0_FUNCTION 0
+BTN10_SFUNCTION 0
+BTN10_FUNCTION 22
+BTN10_SFUNCTION 0
+BTN11_FUNCTION 42
+BTN11_SFUNCTION 47
+BTN12_FUNCTION 43
+BTN12_SFUNCTION 46
+BTN13_FUNCTION 33
+BTN13_SFUNCTION 45
+BTN14_FUNCTION 32
+BTN14_SFUNCTION 44
+BTN15_FUNCTION 0
+BTN15_SFUNCTION 0
+BTN1_FUNCTION 6
+BTN1_SFUNCTION 0
+BTN2_FUNCTION 8
+BTN2_SFUNCTION 0
+BTN3_FUNCTION 7
+BTN3_SFUNCTION 0
+BTN4_FUNCTION 4
+BTN4_SFUNCTION 0
+BTN5_FUNCTION 1
+BTN5_SFUNCTION 0
+BTN6_FUNCTION 3
+BTN6_SFUNCTION 0
+BTN7_FUNCTION 21
+BTN7_SFUNCTION 0
+BTN8_FUNCTION 48
+BTN8_SFUNCTION 0
+BTN9_FUNCTION 23
+BTN9_SFUNCTION 0
+COMPASS_OFS_X 5
+COMPASS_OFS_Y 13
+COMPASS_OFS_Z -18
+COMPASS_OFS2_X 5
+COMPASS_OFS2_Y 13
+COMPASS_OFS2_Z -18
+COMPASS_OFS3_X 5
+COMPASS_OFS3_Y 13
+COMPASS_OFS3_Z -18
+INS_ACCOFFS_X 0.001
+INS_ACCOFFS_Y 0.001
+INS_ACCOFFS_Z 0.001
+INS_ACCSCAL_X 1.001
+INS_ACCSCAL_Y 1.001
+INS_ACCSCAL_Z 1.001
+INS_ACC2OFFS_X 0.001
+INS_ACC2OFFS_Y 0.001
+INS_ACC2OFFS_Z 0.001
+INS_ACC2SCAL_X 1.001
+INS_ACC2SCAL_Y 1.001
+INS_ACC2SCAL_Z 1.001
+INS_ACC3OFFS_X 0.000
+INS_ACC3OFFS_Y 0.000
+INS_ACC3OFFS_Z 0.000
+INS_ACC3SCAL_X 1.000
+INS_ACC3SCAL_Y 1.000
+INS_ACC3SCAL_Z 1.000
+FRAME_CONFIG 2.000
+
+# Use EK3
+EK2_ENABLE 0
+EK3_ENABLE 1
+AHRS_EKF_TYPE 3
+
+# Enable external nav
+# From https://ardupilot.org/copter/docs/common-vio-tracking-camera.html
+GPS_TYPE 0 # Disable GPS
+VISO_TYPE 1 # External vision
+EK3_SRC1_POSXY 6 # External nav
+EK3_SRC1_VELXY 6 # External nav
+EK3_SRC1_POSZ 1 # Baro is the primary z source
+EK3_SRC1_VELZ 6 # External nav z velocity influences EKF
+COMPASS_USE 0 # Disable compass 1
+COMPASS_USE2 0 # Disable compass 2
+COMPASS_USE3 0 # Disable compass 3
+EK3_SRC1_YAW 6 # External nav
+
+# See https://github.com/clydemcqueen/bluerov2_ignition/issues/7
+SIM_BARO_RND 0.01
+
+# Store thruster parameters as backups
+SERVO1_FUNCTION 33
+SERVO2_FUNCTION 34
+SERVO3_FUNCTION 35
+SERVO4_FUNCTION 36
+SERVO5_FUNCTION 37
+SERVO6_FUNCTION 38
+SERVO7_FUNCTION 39
+SERVO8_FUNCTION 40
diff --git a/models/dave_robot_models/config/bluerov2_heavy_multibeam_sonar/robot_config.py b/models/dave_robot_models/config/bluerov2_heavy_multibeam_sonar/robot_config.py
new file mode 100644
index 00000000..90b22ad9
--- /dev/null
+++ b/models/dave_robot_models/config/bluerov2_heavy_multibeam_sonar/robot_config.py
@@ -0,0 +1,105 @@
+from launch import LaunchDescription
+from launch.actions import (
+ DeclareLaunchArgument,
+ OpaqueFunction,
+ ExecuteProcess,
+)
+from launch.substitutions import LaunchConfiguration, PathJoinSubstitution
+from launch_ros.actions import Node
+from launch_ros.substitutions import FindPackageShare
+
+
+def launch_setup(context, *args, **kwargs):
+ namespace = LaunchConfiguration("namespace").perform(context)
+
+ thruster_joints = []
+ for thruster in range(1, 9):
+ thruster_joints.append(f"/model/{namespace}/joint/thruster{thruster}_joint")
+
+ bluerov2_heavy_arguments = (
+ [f"{joint}/cmd_thrust@std_msgs/msg/Float64@gz.msgs.Double" for joint in thruster_joints]
+ + [f"{joint}/ang_vel@std_msgs/msg/Float64@gz.msgs.Double" for joint in thruster_joints]
+ + [
+ f"{joint}/enable_deadband@std_msgs/msg/Bool@gz.msgs.Boolean"
+ for joint in thruster_joints
+ ]
+ + [
+ f"/model/{namespace}/odometry@nav_msgs/msg/Odometry@gz.msgs.Odometry",
+ f"/model/{namespace}/odometry_with_covariance@nav_msgs/msg/Odometry@gz.msgs.OdometryWithCovariance",
+ f"/model/{namespace}/pose@geometry_msgs/msg/PoseArray@gz.msgs.Pose_V",
+ f"/model/{namespace}/imu@sensor_msgs/msg/Imu@gz.msgs.IMU",
+ f"/model/{namespace}/magnetometer@sensor_msgs/msg/MagneticField@gz.msgs.Magnetometer",
+ f"/model/{namespace}/camera/image@sensor_msgs/msg/Image@gz.msgs.Image",
+ f"/model/{namespace}/camera/camera_info@sensor_msgs/msg/CameraInfo@gz.msgs.CameraInfo",
+ f"/model/{namespace}/multibeam_sonar/point_cloud@sensor_msgs/msg/PointCloud2@gz.msgs.PointCloudPacked",
+ ]
+ )
+
+ tf_node = Node(
+ package="tf2_ros",
+ executable="static_transform_publisher",
+ arguments=[
+ "--frame-id",
+ "world",
+ "--child-frame-id",
+ "bluerov2_heavy_multibeam_sonar/sonar_link/multibeam_sonar",
+ ],
+ )
+
+ bluerov2_heavy_bridge = Node(
+ package="ros_gz_bridge",
+ executable="parameter_bridge",
+ arguments=bluerov2_heavy_arguments,
+ output="screen",
+ )
+
+ mavros_file = LaunchConfiguration("mavros_file")
+
+ mavros_node = Node(
+ package="mavros",
+ executable="mavros_node",
+ output="screen",
+ parameters=[mavros_file, {"use_sim_time": True}],
+ )
+
+ nodes = [bluerov2_heavy_bridge, mavros_node, tf_node]
+
+ ardusub_params = LaunchConfiguration("ardusub_params").perform(context)
+
+ ardusub_cmd = [
+ "ardusub -S -w -M gazebo --defaults "
+ + ardusub_params
+ + " -IO --home 44.65870,-124.06556,0.0,270.0"
+ ]
+
+ ardusub_process = ExecuteProcess(cmd=ardusub_cmd, shell=True, output="screen")
+
+ processes = [ardusub_process]
+
+ return nodes + processes
+
+
+def generate_launch_description():
+ args = [
+ DeclareLaunchArgument(
+ "namespace",
+ default_value="",
+ description="Namespace",
+ ),
+ DeclareLaunchArgument(
+ "mavros_file",
+ default_value=PathJoinSubstitution(
+ [FindPackageShare("dave_robot_models"), "config", "mavros", "mavros.yaml"]
+ ),
+ description="Path to mavros.yaml file",
+ ),
+ DeclareLaunchArgument(
+ "ardusub_params",
+ default_value=PathJoinSubstitution(
+ [FindPackageShare("dave_robot_models"), "config", "bluerov2", "ardusub.parm"]
+ ),
+ description="Path to ardusub.parm file",
+ ),
+ ]
+
+ return LaunchDescription(args + [OpaqueFunction(function=launch_setup)])
diff --git a/models/dave_robot_models/description/bluerov2_heavy/model.config b/models/dave_robot_models/description/bluerov2_heavy/model.config
index b5149da4..09168b7e 100644
--- a/models/dave_robot_models/description/bluerov2_heavy/model.config
+++ b/models/dave_robot_models/description/bluerov2_heavy/model.config
@@ -16,4 +16,4 @@
Blue Robotics BlueROV2 Heavy configuration model
-
+
\ No newline at end of file
diff --git a/models/dave_robot_models/description/bluerov2_heavy/model.sdf b/models/dave_robot_models/description/bluerov2_heavy/model.sdf
index ab3f53fe..af0ef3c8 100644
--- a/models/dave_robot_models/description/bluerov2_heavy/model.sdf
+++ b/models/dave_robot_models/description/bluerov2_heavy/model.sdf
@@ -118,72 +118,6 @@
camera_mount_link
-
- 0.35 0 -0.1 0 1.5708 0
-
- 0.001
-
- 0.0001
- 0
- 0
- 0.0001
- 0
- 0.0001
-
-
-
- true
- 30.0
- /model/bluerov2_heavy/multibeam_sonar
- true
-
-
-
-
- 512
- -1.13447
- 1.13447
-
-
- 300
- -0.10472
- 0.10472
-
-
-
- 0.1
- 10.0
-
-
-
-
- 12
- 900e3
- 29.9e3
- 1500
- 220
- 10
- 10
- 0.02
- true
- false
- false
- 5
-
- point_cloud
- sonar_image_raw
- sonar_image
- forward_sonar_optical_link
-
-
-
-
-
-
- base_link
- sonar_link
-
-
-
+
\ No newline at end of file
diff --git a/models/dave_robot_models/description/bluerov2_heavy_multibeam_sonar/model.config b/models/dave_robot_models/description/bluerov2_heavy_multibeam_sonar/model.config
new file mode 100644
index 00000000..c4db97a0
--- /dev/null
+++ b/models/dave_robot_models/description/bluerov2_heavy_multibeam_sonar/model.config
@@ -0,0 +1,19 @@
+
+
+
+ BlueROV2 Heavy With Sonar
+ 1.0
+ model.sdf
+
+
+ Evan Palmer
+ evanp922@gmail.com
+
+
+ Clyde McQueen
+ Rakesh Vivekanandan
+
+
+ Blue Robotics BlueROV2 Heavy (with Sonar) configuration model
+
+
diff --git a/models/dave_robot_models/description/bluerov2_heavy_multibeam_sonar/model.sdf b/models/dave_robot_models/description/bluerov2_heavy_multibeam_sonar/model.sdf
new file mode 100644
index 00000000..68b6afee
--- /dev/null
+++ b/models/dave_robot_models/description/bluerov2_heavy_multibeam_sonar/model.sdf
@@ -0,0 +1,696 @@
+
+
+
+ 0 0 0 0 0 0
+
+
+
+
+
+ 0.0 0.0 0.011 0 0 0
+ 13.0
+
+ 0.26
+ 0
+ 0
+ 0.23
+ 0
+ 0.37
+
+
+
+
+
+
+ model://meshes/bluerov2_heavy/bluerov2_heavy.dae
+ 0.025 0.025 0.025
+
+
+
+
+
+
+ 0.0 0.0 0.06 0 0 0
+
+
+ 0.457 0.575 0.05
+
+
+
+
+
+
+
+ 0 0 0 3.142 0 0
+ 1
+ 1000.0
+ /model/bluerov2_heavy_multibeam_sonar/imu
+
+
+
+
+
+ 0 0 0 0 0 0
+
+ 0.0001
+
+ 0.0001
+ 0
+ 0
+ 0.0001
+ 0
+ 0.0001
+
+
+
+ 10
+ true
+ 1
+ /model/bluerov2_heavy_multibeam_sonar/camera
+
+ 1.05
+
+ 1920
+ 1080
+
+
+ 0.1
+ 10.0
+
+
+
+ 0.8
+ 0.5
+ 0.2
+
+ 85
+ 107
+ 47
+
+
+
+
+
+ 0.19 0 0.067 0 0 0
+
+ 0.0001
+
+ 0.0001
+ 0
+ 0
+ 0.0001
+ 0
+ 0.0001
+
+
+
+
+
+ camera_mount_link
+ camera_link
+
+
+
+ base_link
+ camera_mount_link
+
+
+
+ 0.2 0 -0.13 0 0 0
+
+ 0.001
+
+ 0.0001
+ 0
+ 0
+ 0.0001
+ 0
+ 0.0001
+
+
+
+ 0 0 0 0 0 0
+
+
+ 0.6 0.6 0.6
+ model://meshes/blueview_p900/p900.dae
+
+
+ 0
+ 1
+
+
+ 0 0 0 0 0 0
+
+
+ model://meshes/blueview_p900/COLLISION-p900.dae
+
+
+
+
+ true
+ 30.0
+ /model/bluerov2_heavy_multibeam_sonar/multibeam_sonar
+ true
+
+
+
+
+ 512
+ -1.13447
+ 1.13447
+
+
+ 300
+ -0.10472
+ 0.10472
+
+
+
+ 0.1
+ 10.0
+
+
+
+
+ 12
+ 900e3
+ 29.9e3
+ 1500
+ 220
+ 10
+ 10
+ 0.02
+ true
+ true
+ 5
+
+ point_cloud
+ sonar_image_raw
+ sonar_image
+ forward_sonar_optical_link
+
+
+
+
+
+
+ base_link
+ sonar_link
+
+
+
+
+ base_link
+ 1025.0
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+ -58.42
+ -55.137
+ -124.818
+ -4.0
+ -4.0
+ -4.0
+
+
+
+ 0.14 -0.092 0.0 -1.571 1.571 -0.785
+
+ 0 0 0 -1.571 0 0
+
+
+ model://meshes/t200/ccw_prop.dae
+
+
+
+
+ 0.002
+
+ 0.001
+ 0
+ 0
+ 0.001
+ 0
+ 0.001
+
+
+
+
+
+ 0.14 0.092 0.0 -1.571 1.571 -2.356
+
+ 0 0 0 -1.571 0 0
+
+
+ model://meshes/t200/ccw_prop.dae
+
+
+
+
+ 0.002
+
+ 0.001
+ 0
+ 0
+ 0.001
+ 0
+ 0.001
+
+
+
+
+
+ -0.15 -0.092 0.0 -1.571 1.571 0.785
+
+ 0 0 0 1.571 0 0
+
+
+ model://meshes/t200/cw_prop.dae
+
+
+
+
+ 0.002
+
+ 0.001
+ 0
+ 0
+ 0.001
+ 0
+ 0.001
+
+
+
+
+
+ -0.15 0.092 0.0 -1.571 1.571 2.356
+
+ 0 0 0 1.571 0 0
+
+
+ model://meshes/t200/cw_prop.dae
+
+
+
+
+ 0.002
+
+ 0.001
+ 0
+ 0
+ 0.001
+ 0
+ 0.001
+
+
+
+
+
+ 0.118 -0.215 0.064 0 0 0
+
+ 0 0 0 -1.571 0 1.571
+
+
+ model://meshes/t200/ccw_prop.dae
+
+
+
+
+ 0.002
+
+ 0.001
+ 0
+ 0
+ 0.001
+ 0
+ 0.001
+
+
+
+
+
+ 0.118 0.215 0.064 0 0 0
+
+ 0 0 0 1.571 0 1.571
+
+
+ model://meshes/t200/cw_prop.dae
+
+
+
+
+ 0.002
+
+ 0.001
+ 0
+ 0
+ 0.001
+ 0
+ 0.001
+
+
+
+
+
+ -0.118 -0.215 0.064 0 0 0
+
+ 0 0 0 1.571 0 1.571
+
+
+ model://meshes/t200/cw_prop.dae
+
+
+
+
+ 0.002
+
+ 0.001
+ 0
+ 0
+ 0.001
+ 0
+ 0.001
+
+
+
+
+
+ -0.118 0.215 0.064 0 0 0
+
+ 0 0 0 -1.571 0 1.571
+
+
+ model://meshes/t200/ccw_prop.dae
+
+
+
+
+ 0.002
+
+ 0.001
+ 0
+ 0
+ 0.001
+ 0
+ 0.001
+
+
+
+
+
+ base_link
+ thruster1
+
+ 0 0 -1
+
+
+
+
+ base_link
+ thruster2
+
+ 0 0 -1
+
+
+
+
+ base_link
+ thruster3
+
+ 0 0 -1
+
+
+
+
+ base_link
+ thruster4
+
+ 0 0 -1
+
+
+
+
+ base_link
+ thruster5
+
+ 0 0 -1
+
+
+
+
+ base_link
+ thruster6
+
+ 0 0 -1
+
+
+
+
+ base_link
+ thruster7
+
+ 0 0 -1
+
+
+
+
+ base_link
+ thruster8
+
+ 0 0 -1
+
+
+
+
+ bluerov2_heavy_multibeam_sonar
+ thruster1_joint
+ 0.02
+ 1025.0
+ 0.1
+ true
+ False
+
+
+
+ bluerov2_heavy_multibeam_sonar
+ thruster2_joint
+ 0.02
+ 1025.0
+ 0.1
+ true
+ False
+
+
+
+ bluerov2_heavy_multibeam_sonar
+ thruster3_joint
+
+ -0.02
+ 1025.0
+ 0.1
+ true
+ False
+
+
+
+ bluerov2_heavy_multibeam_sonar
+ thruster4_joint
+
+ -0.02
+ 1025.0
+ 0.1
+ true
+ False
+
+
+
+ bluerov2_heavy_multibeam_sonar
+ thruster5_joint
+ 0.02
+ 1025.0
+ 0.1
+ true
+ False
+
+
+
+ bluerov2_heavy_multibeam_sonar
+ thruster6_joint
+
+ -0.02
+ 1025.0
+ 0.1
+ true
+ False
+
+
+
+ bluerov2_heavy_multibeam_sonar
+ thruster7_joint
+
+ -0.02
+ 1025.0
+ 0.1
+ true
+ False
+
+
+
+ bluerov2_heavy_multibeam_sonar
+ thruster8_joint
+ 0.02
+ 1025.0
+ 0.1
+ true
+ False
+
+
+
+
+ 127.0.0.1
+ 9002
+ 5
+ 1
+
+
+ 0 0 0 3.142 0 0
+
+
+ 0 0 0 3.142 0 1.571
+
+
+ imu_sensor
+
+
+
+ thruster1_joint
+ 1100
+ 1900
+ COMMAND
+ /model/bluerov2_heavy_multibeam_sonar/joint/thruster1_joint/cmd_thrust
+ -0.5
+ 100
+
+
+ thruster2_joint
+ 1100
+ 1900
+ COMMAND
+ /model/bluerov2_heavy_multibeam_sonar/joint/thruster2_joint/cmd_thrust
+ -0.5
+ 100
+
+
+ thruster3_joint
+ 1100
+ 1900
+ COMMAND
+ /model/bluerov2_heavy_multibeam_sonar/joint/thruster3_joint/cmd_thrust
+ -0.5
+ 100
+
+
+ thruster4_joint
+ 1100
+ 1900
+ COMMAND
+ /model/bluerov2_heavy_multibeam_sonar/joint/thruster4_joint/cmd_thrust
+ -0.5
+ 100
+
+
+ thruster5_joint
+ 1100
+ 1900
+ COMMAND
+ /model/bluerov2_heavy_multibeam_sonar/joint/thruster5_joint/cmd_thrust
+ -0.5
+ 100
+
+
+ thruster6_joint
+ 1100
+ 1900
+ COMMAND
+ /model/bluerov2_heavy_multibeam_sonar/joint/thruster6_joint/cmd_thrust
+ -0.5
+ 100
+
+
+ thruster7_joint
+ 1100
+ 1900
+ COMMAND
+ /model/bluerov2_heavy_multibeam_sonar/joint/thruster7_joint/cmd_thrust
+ -0.5
+ 100
+
+
+ thruster8_joint
+ 1100
+ 1900
+ COMMAND
+ /model/bluerov2_heavy_multibeam_sonar/joint/thruster8_joint/cmd_thrust
+ -0.5
+ 100
+
+
+
+
+
+ map
+ base_link
+ 3
+ 100
+
+
+
+
+
+
+
+
+
+
diff --git a/models/dave_worlds/worlds/dave_ocean_waves_sonar.world b/models/dave_worlds/worlds/dave_ocean_waves_sonar.world
index 66e8f3b6..9b0212fa 100644
--- a/models/dave_worlds/worlds/dave_ocean_waves_sonar.world
+++ b/models/dave_worlds/worlds/dave_ocean_waves_sonar.world
@@ -112,20 +112,13 @@
-
-
- cylinder_sonar_tank_1
- https://fuel.gazebosim.org/1.0/hmoyen/models/Cylinder Sonar Tank
- 0 0 -2 0 0 0
-
-
-
-
- cylinder_sonar_tank_2
- https://fuel.gazebosim.org/1.0/hmoyen/models/Cylinder Sonar Tank
- 0 2 -2 0 0 0
-
+
+
+ https://fuel.gazebosim.org/1.0/hmoyen/models/Sunken Ship Distorted
+
+ 15 2 -16 0 0 1
+
diff --git a/models/dave_worlds/worlds/dave_ocean_waves_sonar_integrated.world b/models/dave_worlds/worlds/dave_ocean_waves_sonar_integrated.world
new file mode 100644
index 00000000..8fcf052a
--- /dev/null
+++ b/models/dave_worlds/worlds/dave_ocean_waves_sonar_integrated.world
@@ -0,0 +1,195 @@
+
+
+
+
+
+
+ 0.01 0.01 0.01 1.0
+
+
+ 12
+
+
+ 1
+
+
+ 0.001
+ 1.0
+
+
+
+
+
+
+
+
+ ogre2
+
+
+
+
+
+
+
+
+
+ 56.71897669633431
+ 3.515625
+
+
+
+
+ 50 0 150 0 0 0
+ 1 1 1 1
+ .1 .1 .1 1
+ 0.3 0.3 -1
+ false
+
+
+
+ -50 0 -150 0 0 0
+ 0.6 0.6 0.6 1
+ 0 0 0 1
+ -0.3 -0.3 -1
+ false
+
+
+
+ -100 500 -20 0 0 0
+ 0.8 0.8 0.8 1
+ 1 1 1 1
+ -1 -1 0
+ false
+
+
+
+ -150 -130 50 0 0 0
+ 0.6 0.6 0.6 1
+ 0.2 0.2 0.2 1
+ 0.5 0.5 -1
+ false
+
+
+
+
+
+ https://fuel.gazebosim.org/1.0/hmoyen/models/North East Down frame
+
+ 0 0 0 0 0 0
+
+
+
+
+
+ https://fuel.gazebosim.org/1.0/OpenRobotics/models/Coast Water
+
+
+
+
+
+ https://fuel.gazebosim.org/1.0/Cole/models/Sunken Ship
+
+ 10 -5 -16 -0.4 0 -1.7
+
+
+
+ sunken_vase
+ 20 -3 -16 0 0 0
+ https://fuel.ignitionrobotics.org/1.0/Cole/models/Sunken Vase
+
+
+
+ sunken_vase_distorted
+ 20 -3.5 -16 0 0 0
+ https://fuel.gazebosim.org/1.0/hmoyen/models/Sunken Vase Distorted
+ true
+
+
+
+ sunken_vase2
+ 20 -4 -16 0 0 0
+ https://fuel.ignitionrobotics.org/1.0/Cole/models/Sunken Vase 02
+ true
+
+
+
+ Lionfish2
+ 20 -4.5 -16 0 0 0
+ https://fuel.ignitionrobotics.org/1.0/Cole/models/Lionfish
+ true
+
+
+
+ Coral2
+ 20 -5.0 -16 0 0 0
+ https://fuel.ignitionrobotics.org/1.0/Cole/models/Coral02
+ true
+
+
+
+ Kelp3
+ 20 -6.5 -16 0 0 0
+ https://fuel.ignitionrobotics.org/1.0/Cole/models/Kelp 03
+ true
+
+
+
+ Kelp4
+ 20 -7.5 -16 0 0 0
+ https://fuel.ignitionrobotics.org/1.0/Cole/models/Kelp 04
+ true
+
+
+
+
+ https://fuel.gazebosim.org/1.0/hmoyen/models/Sand Heightmap
+ 0 0 -16 0 0 0
+
+
+
+
+ https://fuel.gazebosim.org/1.0/hmoyen/models/Hardhat Superribbed
+
+ 20 -7 -16 0 0 0
+
+
+
+
+ https://fuel.gazebosim.org/1.0/hmoyen/models/Torpedo MK46
+
+ 20 -1 -16 0 0 2
+
+
+
+
+ https://fuel.gazebosim.org/1.0/hmoyen/models/MBARI MARS
+
+ 27 4 -16 0 0 1
+
+
+
+
+ 1025
+
+ 0
+ 1
+
+
+
+
+
+