diff --git a/orbbec_camera/include/orbbec_camera/ob_camera_node.h b/orbbec_camera/include/orbbec_camera/ob_camera_node.h index 09d21926..550fd232 100644 --- a/orbbec_camera/include/orbbec_camera/ob_camera_node.h +++ b/orbbec_camera/include/orbbec_camera/ob_camera_node.h @@ -352,6 +352,7 @@ class OBCameraNode { std::unique_ptr pipeline_ = nullptr; std::unique_ptr imuPipeline_ = nullptr; std::atomic_bool pipeline_started_{false}; + std::string prefix_ = ""; std::string camera_name_ = "camera"; const std::string imu_optical_frame_id_ = "camera_gyro_optical_frame"; const std::string imu_frame_id_ = "camera_gyro_frame"; diff --git a/orbbec_camera/launch/astra.launch.py b/orbbec_camera/launch/astra.launch.py index 5dea0f17..a74b4b0f 100644 --- a/orbbec_camera/launch/astra.launch.py +++ b/orbbec_camera/launch/astra.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -99,14 +100,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -119,7 +120,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/astra2.launch.py b/orbbec_camera/launch/astra2.launch.py index caa2ef14..6aa4f1c5 100644 --- a/orbbec_camera/launch/astra2.launch.py +++ b/orbbec_camera/launch/astra2.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -107,14 +108,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -127,7 +128,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/astra_adv.launch.py b/orbbec_camera/launch/astra_adv.launch.py index 2d658075..184d58dc 100644 --- a/orbbec_camera/launch/astra_adv.launch.py +++ b/orbbec_camera/launch/astra_adv.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -99,14 +100,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -119,7 +120,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/astra_embedded_s.launch.py b/orbbec_camera/launch/astra_embedded_s.launch.py index de8235c8..1d68e66c 100644 --- a/orbbec_camera/launch/astra_embedded_s.launch.py +++ b/orbbec_camera/launch/astra_embedded_s.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -99,14 +100,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -119,7 +120,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/astra_pro2.launch.py b/orbbec_camera/launch/astra_pro2.launch.py index 25dd5e14..c5945404 100644 --- a/orbbec_camera/launch/astra_pro2.launch.py +++ b/orbbec_camera/launch/astra_pro2.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -99,14 +100,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -119,7 +120,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/astra_stereo_u3.launch.py b/orbbec_camera/launch/astra_stereo_u3.launch.py index 43d781ae..b5c90a11 100644 --- a/orbbec_camera/launch/astra_stereo_u3.launch.py +++ b/orbbec_camera/launch/astra_stereo_u3.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -99,14 +100,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -119,7 +120,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/dabai.launch.py b/orbbec_camera/launch/dabai.launch.py index 43d781ae..b5c90a11 100644 --- a/orbbec_camera/launch/dabai.launch.py +++ b/orbbec_camera/launch/dabai.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -99,14 +100,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -119,7 +120,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/dabai_d1.launch.py b/orbbec_camera/launch/dabai_d1.launch.py index 3f87875a..5e980d94 100644 --- a/orbbec_camera/launch/dabai_d1.launch.py +++ b/orbbec_camera/launch/dabai_d1.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('serial_number', default_value=''), DeclareLaunchArgument('usb_port', default_value=''), @@ -83,14 +84,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -103,7 +104,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/dabai_dcl.py b/orbbec_camera/launch/dabai_dcl.py index 9a19764a..5a049f13 100644 --- a/orbbec_camera/launch/dabai_dcl.py +++ b/orbbec_camera/launch/dabai_dcl.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -120,14 +121,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -140,7 +141,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/dabai_dcw.launch.py b/orbbec_camera/launch/dabai_dcw.launch.py index 77d46593..7c8bfc79 100644 --- a/orbbec_camera/launch/dabai_dcw.launch.py +++ b/orbbec_camera/launch/dabai_dcw.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -99,14 +100,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -119,7 +120,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/dabai_dcw2.launch.py b/orbbec_camera/launch/dabai_dcw2.launch.py index 13deec96..064b43e0 100644 --- a/orbbec_camera/launch/dabai_dcw2.launch.py +++ b/orbbec_camera/launch/dabai_dcw2.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -107,14 +108,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -127,7 +128,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/dabai_dw.launch.py b/orbbec_camera/launch/dabai_dw.launch.py index 1f7f40b8..490a3dc7 100644 --- a/orbbec_camera/launch/dabai_dw.launch.py +++ b/orbbec_camera/launch/dabai_dw.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('serial_number', default_value=''), DeclareLaunchArgument('usb_port', default_value=''), @@ -82,14 +83,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -102,7 +103,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/dabai_dw2.launch.py b/orbbec_camera/launch/dabai_dw2.launch.py index ac4da505..18624934 100644 --- a/orbbec_camera/launch/dabai_dw2.launch.py +++ b/orbbec_camera/launch/dabai_dw2.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('serial_number', default_value=''), DeclareLaunchArgument('usb_port', default_value=''), @@ -82,14 +83,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -102,7 +103,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/dabai_max.launch.py b/orbbec_camera/launch/dabai_max.launch.py index 6f89fa53..9dc2b856 100644 --- a/orbbec_camera/launch/dabai_max.launch.py +++ b/orbbec_camera/launch/dabai_max.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('serial_number', default_value=''), DeclareLaunchArgument('usb_port', default_value=''), @@ -84,14 +85,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -104,7 +105,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/dabai_max_pro.launch.py b/orbbec_camera/launch/dabai_max_pro.launch.py index 7aa6221a..a2f06304 100644 --- a/orbbec_camera/launch/dabai_max_pro.launch.py +++ b/orbbec_camera/launch/dabai_max_pro.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -100,14 +101,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -120,7 +121,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/dabai_pro.launch.py b/orbbec_camera/launch/dabai_pro.launch.py index 1f7f40b8..490a3dc7 100644 --- a/orbbec_camera/launch/dabai_pro.launch.py +++ b/orbbec_camera/launch/dabai_pro.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('serial_number', default_value=''), DeclareLaunchArgument('usb_port', default_value=''), @@ -82,14 +83,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -102,7 +103,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/deeya.launch.py b/orbbec_camera/launch/deeya.launch.py index 334983e0..3519c72f 100644 --- a/orbbec_camera/launch/deeya.launch.py +++ b/orbbec_camera/launch/deeya.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -97,14 +98,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -117,7 +118,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/femto.launch.py b/orbbec_camera/launch/femto.launch.py index 153f2676..42228f85 100644 --- a/orbbec_camera/launch/femto.launch.py +++ b/orbbec_camera/launch/femto.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -108,14 +109,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -128,7 +129,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/femto_bolt.launch.py b/orbbec_camera/launch/femto_bolt.launch.py index 11b06ef1..2382a5f0 100644 --- a/orbbec_camera/launch/femto_bolt.launch.py +++ b/orbbec_camera/launch/femto_bolt.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -115,14 +116,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -135,7 +136,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/femto_mega.launch.py b/orbbec_camera/launch/femto_mega.launch.py index ed67d63e..e631ce8a 100644 --- a/orbbec_camera/launch/femto_mega.launch.py +++ b/orbbec_camera/launch/femto_mega.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -123,14 +124,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -143,7 +144,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/gemini2.launch.py b/orbbec_camera/launch/gemini2.launch.py index 1f34da3b..001f8c7a 100644 --- a/orbbec_camera/launch/gemini2.launch.py +++ b/orbbec_camera/launch/gemini2.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -121,14 +122,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -141,7 +142,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/gemini2L.launch.py b/orbbec_camera/launch/gemini2L.launch.py index f71d1a59..cb497a45 100644 --- a/orbbec_camera/launch/gemini2L.launch.py +++ b/orbbec_camera/launch/gemini2L.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -122,14 +123,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -142,7 +143,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/gemini2VL.launch.py b/orbbec_camera/launch/gemini2VL.launch.py index e9577ca7..d7c2eba5 100644 --- a/orbbec_camera/launch/gemini2VL.launch.py +++ b/orbbec_camera/launch/gemini2VL.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -114,14 +115,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -134,7 +135,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/gemini2XL.launch.py b/orbbec_camera/launch/gemini2XL.launch.py index 9261edc8..a05fe381 100644 --- a/orbbec_camera/launch/gemini2XL.launch.py +++ b/orbbec_camera/launch/gemini2XL.launch.py @@ -11,6 +11,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -130,14 +131,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -150,7 +151,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/gemini_330_series.launch.py b/orbbec_camera/launch/gemini_330_series.launch.py index f1d9359e..281aa99b 100644 --- a/orbbec_camera/launch/gemini_330_series.launch.py +++ b/orbbec_camera/launch/gemini_330_series.launch.py @@ -51,6 +51,7 @@ def load_parameters(context, args): def generate_launch_description(): args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='true'), DeclareLaunchArgument('serial_number', default_value=''), diff --git a/orbbec_camera/launch/gemini_e.launch.py b/orbbec_camera/launch/gemini_e.launch.py index 1d7389ea..1e25d31e 100644 --- a/orbbec_camera/launch/gemini_e.launch.py +++ b/orbbec_camera/launch/gemini_e.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -98,14 +99,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -118,7 +119,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/gemini_e_lite.launch.py b/orbbec_camera/launch/gemini_e_lite.launch.py index eefa22df..ae187703 100644 --- a/orbbec_camera/launch/gemini_e_lite.launch.py +++ b/orbbec_camera/launch/gemini_e_lite.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('serial_number', default_value=''), DeclareLaunchArgument('usb_port', default_value=''), @@ -83,14 +84,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -103,7 +104,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/gemini_ew.launch.py b/orbbec_camera/launch/gemini_ew.launch.py index 3c02f093..9bb997b2 100644 --- a/orbbec_camera/launch/gemini_ew.launch.py +++ b/orbbec_camera/launch/gemini_ew.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -99,14 +100,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -119,7 +120,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/gemini_ew_lite.launch.py b/orbbec_camera/launch/gemini_ew_lite.launch.py index 622aea17..0a926a6a 100644 --- a/orbbec_camera/launch/gemini_ew_lite.launch.py +++ b/orbbec_camera/launch/gemini_ew_lite.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('serial_number', default_value=''), DeclareLaunchArgument('usb_port', default_value=''), @@ -86,14 +87,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -106,7 +107,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/gemini_intra_process_demo_launch.py b/orbbec_camera/launch/gemini_intra_process_demo_launch.py index 1297d1a8..84fdb23c 100644 --- a/orbbec_camera/launch/gemini_intra_process_demo_launch.py +++ b/orbbec_camera/launch/gemini_intra_process_demo_launch.py @@ -51,6 +51,7 @@ def load_parameters(context, args): def generate_launch_description(): args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='true'), DeclareLaunchArgument('serial_number', default_value=''), diff --git a/orbbec_camera/launch/gemini_uw.launch.py b/orbbec_camera/launch/gemini_uw.launch.py index 7aa6221a..a2f06304 100644 --- a/orbbec_camera/launch/gemini_uw.launch.py +++ b/orbbec_camera/launch/gemini_uw.launch.py @@ -12,6 +12,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -100,14 +101,14 @@ def generate_launch_description(): compose_node = ComposableNode( package="orbbec_camera", plugin="orbbec_camera::OBCameraNodeDriver", - name=LaunchConfiguration("camera_name"), - namespace="", + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name="camera_container", - namespace="", + name="container", + namespace=LaunchConfiguration("camera_name"), package="rclcpp_components", executable="component_container", composable_node_descriptions=[ @@ -120,7 +121,7 @@ def generate_launch_description(): args + [ GroupAction( - [PushRosNamespace(LaunchConfiguration("camera_name")), container] + [PushRosNamespace(LaunchConfiguration("prefix")), container] ) ] ) diff --git a/orbbec_camera/launch/ob_camera.launch.py b/orbbec_camera/launch/ob_camera.launch.py index 0cf68b27..739fd675 100644 --- a/orbbec_camera/launch/ob_camera.launch.py +++ b/orbbec_camera/launch/ob_camera.launch.py @@ -10,6 +10,7 @@ def generate_launch_description(): # Declare arguments args = [ + DeclareLaunchArgument('prefix', default_value=''), DeclareLaunchArgument('camera_name', default_value='camera'), DeclareLaunchArgument('depth_registration', default_value='false'), DeclareLaunchArgument('serial_number', default_value=''), @@ -74,14 +75,14 @@ def generate_launch_description(): compose_node = ComposableNode( package='orbbec_camera', plugin='orbbec_camera::OBCameraNodeDriver', - name=LaunchConfiguration('camera_name'), - namespace='', + name="orbbec_node_driver", + namespace=LaunchConfiguration("camera_name"), parameters=parameters, ) # Define the ComposableNodeContainer container = ComposableNodeContainer( - name='camera_container', - namespace='', + name="container", + namespace=LaunchConfiguration("camera_name"), package='rclcpp_components', executable='component_container', composable_node_descriptions=[ diff --git a/orbbec_camera/src/d2c_viewer.cpp b/orbbec_camera/src/d2c_viewer.cpp index 0a833251..b5c8878d 100644 --- a/orbbec_camera/src/d2c_viewer.cpp +++ b/orbbec_camera/src/d2c_viewer.cpp @@ -30,9 +30,9 @@ D2CViewer::D2CViewer(rclcpp::Node* const node, rmw_qos_profile_t rgb_qos, rmw_qos_profile_t depth_qos) : node_(node), logger_(rclcpp::get_logger("d2c_viewer")) { rgb_sub_ = std::make_shared>( - node_, "color/image_raw", rgb_qos); + node_, "~/color/image_raw", rgb_qos); depth_sub_ = std::make_shared>( - node_, "depth/image_raw", depth_qos); + node_, "~/depth/image_raw", depth_qos); sync_ = std::make_shared>(MySyncPolicy(10), *rgb_sub_, *depth_sub_); sync_->setMaxIntervalDuration(rclcpp::Duration::from_seconds(1.0)); // 1s @@ -41,7 +41,7 @@ D2CViewer::D2CViewer(rclcpp::Node* const node, rmw_qos_profile_t rgb_qos, using std::placeholders::_2; sync_->registerCallback(std::bind(&D2CViewer::messageCallback, this, _1, _2)); d2c_viewer_pub_ = - node_->create_publisher("depth_to_color/image_raw", rclcpp::QoS(1)); + node_->create_publisher("~/depth_to_color/image_raw", rclcpp::QoS(1)); } D2CViewer::~D2CViewer() = default; diff --git a/orbbec_camera/src/ob_camera_node.cpp b/orbbec_camera/src/ob_camera_node.cpp index b8fdb061..c7b4a865 100644 --- a/orbbec_camera/src/ob_camera_node.cpp +++ b/orbbec_camera/src/ob_camera_node.cpp @@ -977,8 +977,9 @@ void OBCameraNode::setupDefaultImageFormat() { } void OBCameraNode::getParameters() { + setAndGetNodeParameter(prefix_, "prefix", ""); setAndGetNodeParameter(camera_name_, "camera_name", "camera"); - camera_link_frame_id_ = camera_name_ + "_link"; + camera_link_frame_id_ = prefix_ + camera_name_ + "_link"; for (auto stream_index : IMAGE_STREAMS) { std::string param_name = stream_name_[stream_index] + "_width"; setAndGetNodeParameter(width_[stream_index], param_name, 0); @@ -995,10 +996,10 @@ void OBCameraNode::getParameters() { param_name = "flip_" + stream_name_[stream_index]; setAndGetNodeParameter(flip_stream_[stream_index], param_name, false); param_name = camera_name_ + "_" + stream_name_[stream_index] + "_frame_id"; - std::string default_frame_id = camera_name_ + "_" + stream_name_[stream_index] + "_frame"; + std::string default_frame_id = prefix_ + camera_name_ + "_" + stream_name_[stream_index] + "_frame"; setAndGetNodeParameter(frame_id_[stream_index], param_name, default_frame_id); std::string default_optical_frame_id = - camera_name_ + "_" + stream_name_[stream_index] + "_optical_frame"; + prefix_ + camera_name_ + "_" + stream_name_[stream_index] + "_optical_frame"; param_name = stream_name_[stream_index] + "_optical_frame_id"; setAndGetNodeParameter(optical_frame_id_[stream_index], param_name, default_optical_frame_id); param_name = stream_name_[stream_index] + "_format"; @@ -1029,14 +1030,14 @@ void OBCameraNode::getParameters() { param_name = stream_name_[stream_index] + "_range"; setAndGetNodeParameter(imu_range_[stream_index], param_name, ""); param_name = camera_name_ + "_" + stream_name_[stream_index] + "_frame_id"; - std::string default_frame_id = camera_name_ + "_" + stream_name_[stream_index] + "_frame"; + std::string default_frame_id = prefix_ + camera_name_ + "_" + stream_name_[stream_index] + "_frame"; setAndGetNodeParameter(frame_id_[stream_index], param_name, default_frame_id); std::string default_optical_frame_id = - camera_name_ + "_" + stream_name_[stream_index] + "_optical_frame"; + prefix_ + camera_name_ + "_" + stream_name_[stream_index] + "_optical_frame"; param_name = stream_name_[stream_index] + "_optical_frame_id"; setAndGetNodeParameter(optical_frame_id_[stream_index], param_name, default_optical_frame_id); depth_aligned_frame_id_[stream_index] = - camera_name_ + "_" + stream_name_[COLOR] + "_optical_frame"; + prefix_ + camera_name_ + "_" + stream_name_[COLOR] + "_optical_frame"; } setAndGetNodeParameter(publish_tf_, "publish_tf", true); @@ -1083,6 +1084,7 @@ void OBCameraNode::getParameters() { setAndGetNodeParameter(trigger_out_enabled_, "trigger_out_enabled", false); setAndGetNodeParameter(depth_precision_str_, "depth_precision", ""); setAndGetNodeParameter(cloud_frame_id_, "cloud_frame_id", ""); + cloud_frame_id_ = prefix_ + cloud_frame_id_; if (!depth_precision_str_.empty()) { depth_precision_ = depthPrecisionLevelFromString(depth_precision_str_); } @@ -1380,32 +1382,32 @@ void OBCameraNode::setupPublishers() { if (enable_stream_[DEPTH] && enable_stream_[INFRA0]) { depth_to_other_extrinsics_publishers_[INFRA0] = node_->create_publisher( - "/" + camera_name_ + "/depth_to_ir", extrinsics_qos); + "/" + prefix_ + camera_name_ + "/depth_to_ir", extrinsics_qos); } if (enable_stream_[DEPTH] && enable_stream_[COLOR]) { depth_to_other_extrinsics_publishers_[COLOR] = node_->create_publisher( - "/" + camera_name_ + "/depth_to_color", extrinsics_qos); + "/" + prefix_ + camera_name_ + "/depth_to_color", extrinsics_qos); } if (enable_stream_[DEPTH] && enable_stream_[INFRA1]) { depth_to_other_extrinsics_publishers_[INFRA1] = node_->create_publisher( - "/" + camera_name_ + "/depth_to_left_ir", extrinsics_qos); + "/" + prefix_ + camera_name_ + "/depth_to_left_ir", extrinsics_qos); } if (enable_stream_[DEPTH] && enable_stream_[INFRA2]) { depth_to_other_extrinsics_publishers_[INFRA2] = node_->create_publisher( - "/" + camera_name_ + "/depth_to_right_ir", extrinsics_qos); + "/" + prefix_ + camera_name_ + "/depth_to_right_ir", extrinsics_qos); } if (enable_stream_[DEPTH] && enable_stream_[ACCEL]) { depth_to_other_extrinsics_publishers_[ACCEL] = node_->create_publisher( - "/" + camera_name_ + "/depth_to_accel", extrinsics_qos); + "/" + prefix_ + camera_name_ + "/depth_to_accel", extrinsics_qos); } if (enable_stream_[DEPTH] && enable_stream_[GYRO]) { depth_to_other_extrinsics_publishers_[GYRO] = node_->create_publisher( - "/" + camera_name_ + "/depth_to_gyro", extrinsics_qos); + "/" + prefix_ + camera_name_ + "/depth_to_gyro", extrinsics_qos); } filter_status_pub_ = node_->create_publisher("depth_filter_status", extrinsics_qos); @@ -1510,7 +1512,8 @@ void OBCameraNode::publishDepthPointCloud(const std::shared_ptr &f auto frame_timestamp = getFrameTimestampUs(depth_frame); auto timestamp = fromUsToROSTime(frame_timestamp); std::string frame_id = depth_registration_ ? optical_frame_id_[COLOR] : optical_frame_id_[DEPTH]; - if (!cloud_frame_id_.empty()) { + std::string cloud_frame_id_no_prefix = cloud_frame_id_.substr(prefix_.length(), cloud_frame_id_.length()); + if (!cloud_frame_id_no_prefix.empty()) { frame_id = cloud_frame_id_; } point_cloud_msg->header.stamp = timestamp; @@ -2471,7 +2474,8 @@ void OBCameraNode::calcAndPublishStaticTransform() { frame_id_[base_stream_]); } if (enable_stream_[DEPTH] && enable_stream_[COLOR]) { - static const char *frame_id = "depth_to_color_extrinsics"; + std::string string_frame_id = prefix_ + camera_name_ + "_" + "depth_to_color_extrinsics"; + static const char *frame_id = string_frame_id.c_str(); OBExtrinsic ex; try { ex = base_stream_profile->getExtrinsicTo(stream_profile_[COLOR]); @@ -2486,7 +2490,8 @@ void OBCameraNode::calcAndPublishStaticTransform() { depth_to_other_extrinsics_publishers_[COLOR]->publish(ex_msg); } if (enable_stream_[DEPTH] && enable_stream_[INFRA0]) { - static const char *frame_id = "depth_to_ir_extrinsics"; + std::string string_frame_id = prefix_ + camera_name_ + "_" + "depth_to_ir_extrinsics"; + static const char *frame_id = string_frame_id.c_str(); OBExtrinsic ex; try { ex = base_stream_profile->getExtrinsicTo(stream_profile_[INFRA0]); @@ -2501,7 +2506,8 @@ void OBCameraNode::calcAndPublishStaticTransform() { depth_to_other_extrinsics_publishers_[INFRA0]->publish(ex_msg); } if (enable_stream_[DEPTH] && enable_stream_[INFRA1]) { - static const char *frame_id = "depth_to_left_ir_extrinsics"; + std::string string_frame_id = prefix_ + camera_name_ + "_" + "depth_to_left_ir_extrinsics"; + static const char *frame_id = string_frame_id.c_str(); OBExtrinsic ex; try { ex = base_stream_profile->getExtrinsicTo(stream_profile_[INFRA1]); @@ -2516,7 +2522,8 @@ void OBCameraNode::calcAndPublishStaticTransform() { depth_to_other_extrinsics_publishers_[INFRA1]->publish(ex_msg); } if (enable_stream_[DEPTH] && enable_stream_[INFRA2]) { - static const char *frame_id = "depth_to_right_ir_extrinsics"; + std::string string_frame_id = prefix_ + camera_name_ + "_" + "depth_to_right_ir_extrinsics"; + static const char *frame_id = string_frame_id.c_str(); OBExtrinsic ex; try { ex = base_stream_profile->getExtrinsicTo(stream_profile_[INFRA2]); @@ -2532,7 +2539,8 @@ void OBCameraNode::calcAndPublishStaticTransform() { depth_to_other_extrinsics_publishers_[INFRA2]->publish(ex_msg); } if (enable_stream_[DEPTH] && enable_stream_[ACCEL]) { - static const char *frame_id = "depth_to_accel_extrinsics"; + std::string string_frame_id = prefix_ + camera_name_ + "_" + "depth_to_accel_extrinsics"; + static const char *frame_id = string_frame_id.c_str(); OBExtrinsic ex; try { ex = base_stream_profile->getExtrinsicTo(stream_profile_[ACCEL]); @@ -2547,7 +2555,8 @@ void OBCameraNode::calcAndPublishStaticTransform() { depth_to_other_extrinsics_publishers_[ACCEL]->publish(ex_msg); } if (enable_stream_[DEPTH] && enable_stream_[GYRO]) { - static const char *frame_id = "depth_to_gyro_extrinsics"; + std::string string_frame_id = prefix_ + camera_name_ + "_" + "depth_to_gyro_extrinsics"; + static const char *frame_id = string_frame_id.c_str(); OBExtrinsic ex; try { ex = base_stream_profile->getExtrinsicTo(stream_profile_[GYRO]);