From 8da66b27f79c7dee8e69b1ad6158d7e6e4aa7587 Mon Sep 17 00:00:00 2001 From: yeseorizi <172019512+yeseorizi@users.noreply.github.com> Date: Fri, 9 Oct 2026 13:53:33 +0900 Subject: [PATCH 1/2] fix: keep DVL water-mass layers within declared sensor ranges --- models/posim_sensor_models/CMakeLists.txt | 5 +++ .../description/nortek_dvl1000_300/model.sdf | 2 +- .../teledyne_explorer1000/model.sdf | 2 +- .../teledyne_explorer4000/model.sdf | 2 +- .../description/teledyne_whn/model.sdf | 2 +- models/posim_sensor_models/package.xml | 1 + .../test/test_dvl_tracking_bounds.py | 34 +++++++++++++++++++ 7 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 models/posim_sensor_models/test/test_dvl_tracking_bounds.py diff --git a/models/posim_sensor_models/CMakeLists.txt b/models/posim_sensor_models/CMakeLists.txt index 0a76e60b..38c35e24 100644 --- a/models/posim_sensor_models/CMakeLists.txt +++ b/models/posim_sensor_models/CMakeLists.txt @@ -11,4 +11,9 @@ install( ament_environment_hooks( "${CMAKE_CURRENT_SOURCE_DIR}/hooks/${PROJECT_NAME}.dsv.in") +if(BUILD_TESTING) + find_package(ament_cmake_pytest REQUIRED) + ament_add_pytest_test(test_dvl_tracking_bounds test/test_dvl_tracking_bounds.py) +endif() + ament_package() diff --git a/models/posim_sensor_models/description/nortek_dvl1000_300/model.sdf b/models/posim_sensor_models/description/nortek_dvl1000_300/model.sdf index acfa0fab..c8ec07da 100644 --- a/models/posim_sensor_models/description/nortek_dvl1000_300/model.sdf +++ b/models/posim_sensor_models/description/nortek_dvl1000_300/model.sdf @@ -60,7 +60,7 @@ 10. - 100. + 75. 10 diff --git a/models/posim_sensor_models/description/teledyne_explorer1000/model.sdf b/models/posim_sensor_models/description/teledyne_explorer1000/model.sdf index 41d78e88..35838def 100644 --- a/models/posim_sensor_models/description/teledyne_explorer1000/model.sdf +++ b/models/posim_sensor_models/description/teledyne_explorer1000/model.sdf @@ -59,7 +59,7 @@ 10. - 100. + 81. 10 diff --git a/models/posim_sensor_models/description/teledyne_explorer4000/model.sdf b/models/posim_sensor_models/description/teledyne_explorer4000/model.sdf index 7e8a1aba..d5689603 100644 --- a/models/posim_sensor_models/description/teledyne_explorer4000/model.sdf +++ b/models/posim_sensor_models/description/teledyne_explorer4000/model.sdf @@ -60,7 +60,7 @@ 10. - 100. + 66. 10 diff --git a/models/posim_sensor_models/description/teledyne_whn/model.sdf b/models/posim_sensor_models/description/teledyne_whn/model.sdf index fe09b26b..b51a5632 100644 --- a/models/posim_sensor_models/description/teledyne_whn/model.sdf +++ b/models/posim_sensor_models/description/teledyne_whn/model.sdf @@ -61,7 +61,7 @@ 10. - 100. + 90. 10 diff --git a/models/posim_sensor_models/package.xml b/models/posim_sensor_models/package.xml index 34f6d89d..982f4227 100644 --- a/models/posim_sensor_models/package.xml +++ b/models/posim_sensor_models/package.xml @@ -8,6 +8,7 @@ Ye-Seol Kwon Apache 2.0 ament_cmake + ament_cmake_pytest ament_cmake diff --git a/models/posim_sensor_models/test/test_dvl_tracking_bounds.py b/models/posim_sensor_models/test/test_dvl_tracking_bounds.py new file mode 100644 index 00000000..eafce323 --- /dev/null +++ b/models/posim_sensor_models/test/test_dvl_tracking_bounds.py @@ -0,0 +1,34 @@ +"""Catch DVL configurations rejected by Gazebo before publication starts.""" + +from pathlib import Path +import re +import xml.etree.ElementTree as ET + +import pytest + +DESCRIPTION = Path(__file__).resolve().parents[1] / "description" +DVL_MODELS = [p for p in sorted(DESCRIPTION.glob("*/model.sdf")) if "" in p.read_text()] + + +def test_dvl_catalog_is_present(): + assert DVL_MODELS, "No DVL descriptors found; check the test resource path" + + +@pytest.mark.parametrize("path", DVL_MODELS, ids=lambda p: p.parent.name) +def test_water_mass_layer_fits_sensor_range(path): + # SDF accepts the gz extension without an XML namespace declaration. + text = re.sub(r" Date: Fri, 9 Oct 2026 14:10:56 +0900 Subject: [PATCH 2/2] style: wrap DVL regression target declaration --- models/posim_sensor_models/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/models/posim_sensor_models/CMakeLists.txt b/models/posim_sensor_models/CMakeLists.txt index 38c35e24..859ed80f 100644 --- a/models/posim_sensor_models/CMakeLists.txt +++ b/models/posim_sensor_models/CMakeLists.txt @@ -13,7 +13,8 @@ ament_environment_hooks( if(BUILD_TESTING) find_package(ament_cmake_pytest REQUIRED) - ament_add_pytest_test(test_dvl_tracking_bounds test/test_dvl_tracking_bounds.py) + ament_add_pytest_test(test_dvl_tracking_bounds + test/test_dvl_tracking_bounds.py) endif() ament_package()