diff --git a/depthai-ros/CHANGELOG.rst b/depthai-ros/CHANGELOG.rst index 8e3c0c97..6e6b6c74 100644 --- a/depthai-ros/CHANGELOG.rst +++ b/depthai-ros/CHANGELOG.rst @@ -2,6 +2,13 @@ Changelog for package depthai-ros ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +2.10.4 (2024-11-07) +------------------- +* Fix rectified topic names +* Fix pointcloud launch +* Add sensor parameters for max autoexposure, sharpness, luma and chroma denoise + 2.10.3 (2024-10-14) ------------------- * Allow setting USB speed without specifying device information diff --git a/depthai-ros/CMakeLists.txt b/depthai-ros/CMakeLists.txt index 3da4853a..1096cb9d 100644 --- a/depthai-ros/CMakeLists.txt +++ b/depthai-ros/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10.2) # CMake version in Ubuntu 18.04 LTS -project(depthai-ros VERSION 2.10.3 LANGUAGES CXX C) +project(depthai-ros VERSION 2.10.4 LANGUAGES CXX C) set(CMAKE_CXX_STANDARD 14) diff --git a/depthai-ros/package.xml b/depthai-ros/package.xml index 5b9d07ee..ed584774 100644 --- a/depthai-ros/package.xml +++ b/depthai-ros/package.xml @@ -1,7 +1,7 @@ depthai-ros - 2.10.3 + 2.10.4 The depthai-ros package diff --git a/depthai_bridge/CMakeLists.txt b/depthai_bridge/CMakeLists.txt index 82f2ee9f..7411e478 100644 --- a/depthai_bridge/CMakeLists.txt +++ b/depthai_bridge/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.10.2) # CMake version in Ubuntu 18.04 LTS set(CMAKE_POSITION_INDEPENDENT_CODE ON) -project(depthai_bridge VERSION 2.10.3 LANGUAGES CXX C) +project(depthai_bridge VERSION 2.10.4 LANGUAGES CXX C) set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) diff --git a/depthai_bridge/package.xml b/depthai_bridge/package.xml index 124296c3..fd41081e 100644 --- a/depthai_bridge/package.xml +++ b/depthai_bridge/package.xml @@ -1,7 +1,7 @@ depthai_bridge - 2.10.3 + 2.10.4 The depthai_bridge package Adam Serafin diff --git a/depthai_descriptions/CMakeLists.txt b/depthai_descriptions/CMakeLists.txt index 2d751133..29f1be7e 100644 --- a/depthai_descriptions/CMakeLists.txt +++ b/depthai_descriptions/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8) -project(depthai_descriptions VERSION 2.10.3) +project(depthai_descriptions VERSION 2.10.4) if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -Wextra -Wpedantic) diff --git a/depthai_descriptions/package.xml b/depthai_descriptions/package.xml index 27f85f05..c17db101 100644 --- a/depthai_descriptions/package.xml +++ b/depthai_descriptions/package.xml @@ -1,7 +1,7 @@ depthai_descriptions - 2.10.3 + 2.10.4 The depthai_descriptions package Adam Serafin diff --git a/depthai_examples/CMakeLists.txt b/depthai_examples/CMakeLists.txt index 48d76b9a..c41cab19 100644 --- a/depthai_examples/CMakeLists.txt +++ b/depthai_examples/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.10.2) # CMake version in Ubuntu 18.04 LTS -project(depthai_examples VERSION 2.10.3 LANGUAGES CXX C) +project(depthai_examples VERSION 2.10.4 LANGUAGES CXX C) set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) diff --git a/depthai_examples/package.xml b/depthai_examples/package.xml index 879d4861..19e99d39 100644 --- a/depthai_examples/package.xml +++ b/depthai_examples/package.xml @@ -1,7 +1,7 @@ depthai_examples - 2.10.3 + 2.10.4 The depthai_examples package diff --git a/depthai_filters/CMakeLists.txt b/depthai_filters/CMakeLists.txt index cdac3a5d..40f1d368 100644 --- a/depthai_filters/CMakeLists.txt +++ b/depthai_filters/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8) -project(depthai_filters VERSION 2.10.3 LANGUAGES CXX C) +project(depthai_filters VERSION 2.10.4 LANGUAGES CXX C) if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -Wextra -Wpedantic) diff --git a/depthai_filters/package.xml b/depthai_filters/package.xml index 1cc2c127..8c2389d7 100644 --- a/depthai_filters/package.xml +++ b/depthai_filters/package.xml @@ -2,7 +2,7 @@ depthai_filters - 2.10.3 + 2.10.4 Depthai filters package Adam Serafin MIT diff --git a/depthai_ros_driver/CMakeLists.txt b/depthai_ros_driver/CMakeLists.txt index d17b8a9c..b483c8df 100644 --- a/depthai_ros_driver/CMakeLists.txt +++ b/depthai_ros_driver/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.22) -project(depthai_ros_driver VERSION 2.10.3) +project(depthai_ros_driver VERSION 2.10.4) set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_BUILD_SHARED_LIBS ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) diff --git a/depthai_ros_driver/config/pcl.yaml b/depthai_ros_driver/config/pcl.yaml index 1ea1fbb1..2466e9ef 100644 --- a/depthai_ros_driver/config/pcl.yaml +++ b/depthai_ros_driver/config/pcl.yaml @@ -6,4 +6,5 @@ i_align_depth: true i_board_socket_id: 2 i_subpixel: true - i_publish_right_rect: true \ No newline at end of file + i_right_rect_publish_topic: true + i_right_rect_synced: false diff --git a/depthai_ros_driver/launch/camera.launch.py b/depthai_ros_driver/launch/camera.launch.py index 5f3a8d87..83bb4ca8 100644 --- a/depthai_ros_driver/launch/camera.launch.py +++ b/depthai_ros_driver/launch/camera.launch.py @@ -143,8 +143,8 @@ def launch_setup(context, *args, **kwargs): }, } parameter_overrides["depth"] = { - "i_publish_left_rect": True, - "i_publish_right_rect": True, + "i_left_rect_publish_topic": True, + "i_right_rect_publish_topic": True, } tf_params = {} diff --git a/depthai_ros_driver/package.xml b/depthai_ros_driver/package.xml index 7d7f8ee6..05f96186 100644 --- a/depthai_ros_driver/package.xml +++ b/depthai_ros_driver/package.xml @@ -2,7 +2,7 @@ depthai_ros_driver - 2.10.3 + 2.10.4 Depthai ROS Monolithic node. Adam Serafin diff --git a/depthai_ros_driver/src/dai_nodes/sensors/stereo.cpp b/depthai_ros_driver/src/dai_nodes/sensors/stereo.cpp index ba57490c..141bdd26 100644 --- a/depthai_ros_driver/src/dai_nodes/sensors/stereo.cpp +++ b/depthai_ros_driver/src/dai_nodes/sensors/stereo.cpp @@ -155,7 +155,7 @@ void Stereo::setupRectQueue(std::shared_ptr device, pubConfig.width = ph->getOtherNodeParam(sensorName, "i_width"); pubConfig.height = ph->getOtherNodeParam(sensorName, "i_height"); pubConfig.topicName = "~/" + sensorName; - pubConfig.topicSuffix = rsCompabilityMode() ? "/image_rect_raw" : "/image_raw"; + pubConfig.topicSuffix = rsCompabilityMode() ? "/image_rect_raw" : "/image_rect"; pubConfig.maxQSize = ph->getOtherNodeParam(sensorName, "i_max_q_size"); pubConfig.socket = sensorInfo.socket; pubConfig.infoMgrSuffix = "rect"; diff --git a/depthai_ros_driver/src/param_handlers/sensor_param_handler.cpp b/depthai_ros_driver/src/param_handlers/sensor_param_handler.cpp index 0b9fe0dd..2650a593 100644 --- a/depthai_ros_driver/src/param_handlers/sensor_param_handler.cpp +++ b/depthai_ros_driver/src/param_handlers/sensor_param_handler.cpp @@ -79,6 +79,22 @@ void SensorParamHandler::declareParams(std::shared_ptr mo } monoCam->setImageOrientation( utils::getValFromMap(declareAndLogParam("i_sensor_img_orientation", "AUTO"), dai_nodes::sensor_helpers::cameraImageOrientationMap)); + int expLimit = declareAndLogParam("r_auto_exposure_limit", 1000); + if(declareAndLogParam("r_set_auto_exposure_limit", false)) { + monoCam->initialControl.setAutoExposureLimit(expLimit); + } + int sharpness = declareAndLogParam("r_sharpness", 1); + if(declareAndLogParam("r_set_sharpness", false)) { + monoCam->initialControl.setSharpness(sharpness); + } + int chromaDenoise = declareAndLogParam("r_chroma_denoise", 1); + if(declareAndLogParam("r_set_chroma_denoise", false)) { + monoCam->initialControl.setChromaDenoise(chromaDenoise); + } + int lumaDenoise = declareAndLogParam("r_luma_denoise", 1); + if(declareAndLogParam("r_set_luma_denoise", false)) { + monoCam->initialControl.setLumaDenoise(lumaDenoise); + } } void SensorParamHandler::declareParams(std::shared_ptr colorCam, dai_nodes::sensor_helpers::ImageSensor sensor, bool publish) { declareAndLogParam("i_publish_topic", publish); @@ -178,6 +194,22 @@ void SensorParamHandler::declareParams(std::shared_ptr c } colorCam->setImageOrientation( utils::getValFromMap(declareAndLogParam("i_sensor_img_orientation", "AUTO"), dai_nodes::sensor_helpers::cameraImageOrientationMap)); + int expLimit = declareAndLogParam("r_auto_exposure_limit", 1000); + if(declareAndLogParam("r_set_auto_exposure_limit", false)) { + colorCam->initialControl.setAutoExposureLimit(expLimit); + } + int sharpness = declareAndLogParam("r_sharpness", 1); + if(declareAndLogParam("r_set_sharpness", false)) { + colorCam->initialControl.setSharpness(sharpness); + } + int chromaDenoise = declareAndLogParam("r_chroma_denoise", 1); + if(declareAndLogParam("r_set_chroma_denoise", false)) { + colorCam->initialControl.setChromaDenoise(chromaDenoise); + } + int lumaDenoise = declareAndLogParam("r_luma_denoise", 1); + if(declareAndLogParam("r_set_luma_denoise", false)) { + colorCam->initialControl.setLumaDenoise(lumaDenoise); + } } dai::CameraControl SensorParamHandler::setRuntimeParams(const std::vector& params) { dai::CameraControl ctrl; @@ -216,6 +248,38 @@ dai::CameraControl SensorParamHandler::setRuntimeParams(const std::vector("r_set_man_whitebalance")) { ctrl.setManualWhiteBalance(p.get_value()); } + } else if(p.get_name() == getFullParamName("r_set_auto_exposure_limit")) { + if(p.get_value()) { + ctrl.setAutoExposureLimit(getParam("r_auto_exposure_limit")); + } + } else if(p.get_name() == getFullParamName("r_auto_exposure_limit")) { + if(getParam("r_set_auto_exposure_limit")) { + ctrl.setAutoExposureLimit(p.get_value()); + } + } else if(p.get_name() == getFullParamName("r_set_sharpness")) { + if(p.get_value()) { + ctrl.setSharpness(getParam("r_sharpness")); + } + } else if(p.get_name() == getFullParamName("r_sharpness")) { + if(getParam("r_set_sharpness")) { + ctrl.setSharpness(p.get_value()); + } + } else if(p.get_name() == getFullParamName("r_set_chroma_denoise")) { + if(p.get_value()) { + ctrl.setChromaDenoise(getParam("r_chroma_denoise")); + } + } else if(p.get_name() == getFullParamName("r_chroma_denoise")) { + if(getParam("r_set_chroma_denoise")) { + ctrl.setChromaDenoise(p.get_value()); + } + } else if(p.get_name() == getFullParamName("r_set_luma_denoise")) { + if(p.get_value()) { + ctrl.setLumaDenoise(getParam("r_luma_denoise")); + } + } else if(p.get_name() == getFullParamName("r_luma_denoise")) { + if(getParam("r_set_luma_denoise")) { + ctrl.setLumaDenoise(p.get_value()); + } } } return ctrl; diff --git a/depthai_ros_driver/src/param_handlers/stereo_param_handler.cpp b/depthai_ros_driver/src/param_handlers/stereo_param_handler.cpp index e2bede44..75b67ae1 100644 --- a/depthai_ros_driver/src/param_handlers/stereo_param_handler.cpp +++ b/depthai_ros_driver/src/param_handlers/stereo_param_handler.cpp @@ -82,7 +82,7 @@ void StereoParamHandler::declareParams(std::shared_ptr s declareAndLogParam("i_left_rect_add_exposure_offset", false); declareAndLogParam("i_left_rect_exposure_offset", 0); declareAndLogParam("i_left_rect_enable_feature_tracker", false); - declareAndLogParam("i_left_rect_synced", true); + declareAndLogParam("i_left_rect_synced", false); declareAndLogParam("i_left_rect_publish_compressed", false); declareAndLogParam("i_right_rect_publish_topic", false); @@ -95,7 +95,7 @@ void StereoParamHandler::declareParams(std::shared_ptr s declareAndLogParam("i_right_rect_enable_feature_tracker", false); declareAndLogParam("i_right_rect_add_exposure_offset", false); declareAndLogParam("i_right_rect_exposure_offset", 0); - declareAndLogParam("i_right_rect_synced", true); + declareAndLogParam("i_right_rect_synced", false); declareAndLogParam("i_right_rect_publish_compressed", false); declareAndLogParam("i_enable_spatial_nn", false); diff --git a/depthai_ros_msgs/CMakeLists.txt b/depthai_ros_msgs/CMakeLists.txt index b1b99c90..78cc0232 100644 --- a/depthai_ros_msgs/CMakeLists.txt +++ b/depthai_ros_msgs/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10.2) # CMake version in Ubuntu 18.04 LTS -project(depthai_ros_msgs VERSION 2.10.3) +project(depthai_ros_msgs VERSION 2.10.4) if(POLICY CMP0057) cmake_policy(SET CMP0057 NEW) diff --git a/depthai_ros_msgs/package.xml b/depthai_ros_msgs/package.xml index f7efee68..51e13e9d 100644 --- a/depthai_ros_msgs/package.xml +++ b/depthai_ros_msgs/package.xml @@ -1,7 +1,7 @@ depthai_ros_msgs - 2.10.3 + 2.10.4 Package to keep interface independent of the driver Adam Serafin