diff --git a/orbbec_camera/config/gemini305_dual_color.yaml b/orbbec_camera/config/gemini305_dual_color.yaml index e1d9303b..90f2a845 100644 --- a/orbbec_camera/config/gemini305_dual_color.yaml +++ b/orbbec_camera/config/gemini305_dual_color.yaml @@ -41,7 +41,7 @@ disparity_offset_config: false offset_index0: -1 offset_index1: -1 frame_aggregate_mode: ANY -interleave_ae_mode: laser +interleave_ae_mode: hdr interleave_frame_enable: false interleave_skip_enable: false interleave_skip_index: 1 @@ -108,6 +108,21 @@ color_decimation_filter_scale: -1 color_denoising_level: -1 enable_color_undistortion: false +# hdr_params +hdr_index1_depth_exposure: 1 +hdr_index1_depth_gain: 16 +hdr_index1_ir_brightness: 30 +hdr_index1_ir_ae_max_exposure: 30458 +hdr_index0_depth_exposure: 7500 +hdr_index0_depth_gain: 16 +hdr_index0_ir_brightness: 90 +hdr_index0_ir_ae_max_exposure: 30458 + +# publishers and transports +left_color.image_raw.enable_pub_plugins: ["image_transport/compressed", "image_transport/raw", "image_transport/theora"] +right_color.image_raw.enable_pub_plugins: ["image_transport/compressed", "image_transport/raw", "image_transport/theora"] + +# In dual color mode, it is not recommended to change the following parameters # depth enable_depth: false depth_width: 0 @@ -163,6 +178,7 @@ spatial_moderate_filter_magnitude: -1 spatial_moderate_filter_radius: -1 # point_cloud +depth_registration: false point_cloud_qos: default enable_point_cloud: false point_cloud_decimation_filter_factor: 1 @@ -237,18 +253,6 @@ enable_frame_sync: true noise_removal_filter_min_diff: 256 noise_removal_filter_max_size: 80 -# hdr_params -hdr_index1_laser_control: 1 -hdr_index1_depth_exposure: 1 -hdr_index1_depth_gain: 16 -hdr_index1_ir_brightness: 30 -hdr_index1_ir_ae_max_exposure: 30458 -hdr_index0_laser_control: 1 -hdr_index0_depth_exposure: 7500 -hdr_index0_depth_gain: 16 -hdr_index0_ir_brightness: 90 -hdr_index0_ir_ae_max_exposure: 30458 - # laser_params laser_index1_laser_control: 0 laser_index1_depth_exposure: 3000 @@ -261,19 +265,3 @@ laser_index0_depth_gain: 16 laser_index0_ir_brightness: 60 laser_index0_ir_ae_max_exposure: 30000 -# publishers and transports -color_image_transport_plugins: - - image_transport/compressed - - image_transport/raw - - image_transport/theora -depth_image_transport_plugins: - - image_transport/compressedDepth - - image_transport/raw -left_ir_image_transport_plugins: - - image_transport/compressed - - image_transport/raw - - image_transport/theora -right_ir_image_transport_plugins: - - image_transport/compressed - - image_transport/raw - - image_transport/theora diff --git a/orbbec_camera/launch/gemini305.launch.py b/orbbec_camera/launch/gemini305.launch.py index 04febff6..33a986a1 100644 --- a/orbbec_camera/launch/gemini305.launch.py +++ b/orbbec_camera/launch/gemini305.launch.py @@ -211,12 +211,6 @@ def generate_launch_description(): DeclareLaunchArgument('ir_info_url', default_value=''), DeclareLaunchArgument('color_info_url', default_value=''), - # Network device settings: default enumerate_net_device is set to true, which will automatically enumerate network devices - # If you do not want to automatically enumerate network devices, - # you can set enumerate_net_device to false, net_device_ip to the device's IP address, and net_device_port to the default value of 8090 - DeclareLaunchArgument('enumerate_net_device', default_value='true'), - DeclareLaunchArgument('net_device_ip', default_value=''), - DeclareLaunchArgument('net_device_port', default_value='0'), DeclareLaunchArgument('device_access_mode', default_value='Default'), # Default, EA or CA . only for 335le DeclareLaunchArgument('exposure_range_mode', default_value='default'),#default, ultimate or regular DeclareLaunchArgument('log_level', default_value='none'), @@ -224,8 +218,6 @@ def generate_launch_description(): DeclareLaunchArgument('enable_publish_extrinsic', default_value='false'), DeclareLaunchArgument('enable_d2c_viewer', default_value='false'), DeclareLaunchArgument('disparity_to_depth_mode', default_value='HW'), - DeclareLaunchArgument('enable_ldp', default_value='true'), - DeclareLaunchArgument('ldp_power_level', default_value='-1'), DeclareLaunchArgument('sync_mode', default_value='standalone'), DeclareLaunchArgument('depth_delay_us', default_value='0'), DeclareLaunchArgument('color_delay_us', default_value='0'), @@ -235,7 +227,6 @@ def generate_launch_description(): DeclareLaunchArgument('software_trigger_enabled', default_value='true'), DeclareLaunchArgument('frames_per_trigger', default_value='2'), DeclareLaunchArgument('software_trigger_period', default_value='33'), # ms - DeclareLaunchArgument('enable_ptp_config', default_value='false'),#Only for Gemini 335Le DeclareLaunchArgument('enable_frame_sync', default_value='true'), DeclareLaunchArgument('ordered_pc', default_value='false'), DeclareLaunchArgument('enable_depth_scale', default_value='true'), @@ -276,51 +267,35 @@ def generate_launch_description(): DeclareLaunchArgument('align_mode', default_value='SW'), DeclareLaunchArgument('align_target_stream', default_value='COLOR'),# COLOR or DEPTH DeclareLaunchArgument('diagnostic_period', default_value='1.0'), # seconds - DeclareLaunchArgument('enable_laser', default_value='true'), DeclareLaunchArgument('depth_precision', default_value=''), DeclareLaunchArgument('device_preset', default_value='Default'), # Default, High Accuracy, Close Range High Accuracy, Factory Calib, Dual Color Streams, Custom DeclareLaunchArgument('retry_on_usb3_detection_failure', default_value='false'), - DeclareLaunchArgument('laser_energy_level', default_value='-1'), DeclareLaunchArgument('enable_sync_host_time', default_value='true'), DeclareLaunchArgument('time_sync_period', default_value='6.0'), # seconds DeclareLaunchArgument('time_domain', default_value='global'),# global, device, system DeclareLaunchArgument('enable_color_undistortion', default_value='false'), DeclareLaunchArgument('config_file_path', default_value=''), DeclareLaunchArgument('enable_heartbeat', default_value='false'), - DeclareLaunchArgument('gmsl_trigger_fps', default_value='3000'), - DeclareLaunchArgument('enable_gmsl_trigger', default_value='false'), DeclareLaunchArgument('disparity_range_mode', default_value='-1'), DeclareLaunchArgument('disparity_search_offset', default_value='-1'), DeclareLaunchArgument('disparity_offset_config', default_value='false'), DeclareLaunchArgument('offset_index0', default_value='-1'), DeclareLaunchArgument('offset_index1', default_value='-1'), DeclareLaunchArgument('frame_aggregate_mode', default_value='ANY'), # full_frame, color_frame, ANY or disable - DeclareLaunchArgument('interleave_ae_mode', default_value='laser'), # 'hdr' or 'laser' + DeclareLaunchArgument('interleave_ae_mode', default_value='hdr'), DeclareLaunchArgument('interleave_frame_enable', default_value='false'), DeclareLaunchArgument('interleave_skip_enable', default_value='false'), DeclareLaunchArgument('interleave_skip_index', default_value='1'), # 0:skip pattern ir 1: skip flood ir - DeclareLaunchArgument('hdr_index1_laser_control', default_value='1'),#interleave_hdr_param DeclareLaunchArgument('hdr_index1_depth_exposure', default_value='1'), DeclareLaunchArgument('hdr_index1_depth_gain', default_value='16'), DeclareLaunchArgument('hdr_index1_ir_brightness', default_value='30'), DeclareLaunchArgument('hdr_index1_ir_ae_max_exposure', default_value='30458'), - DeclareLaunchArgument('hdr_index0_laser_control', default_value='1'), DeclareLaunchArgument('hdr_index0_depth_exposure', default_value='7500'), DeclareLaunchArgument('hdr_index0_depth_gain', default_value='16'), DeclareLaunchArgument('hdr_index0_ir_brightness', default_value='90'), DeclareLaunchArgument('hdr_index0_ir_ae_max_exposure', default_value='30458'), - DeclareLaunchArgument('laser_index1_laser_control', default_value='0'),#interleave_laser_param - DeclareLaunchArgument('laser_index1_depth_exposure', default_value='3000'), - DeclareLaunchArgument('laser_index1_depth_gain', default_value='16'), - DeclareLaunchArgument('laser_index1_ir_brightness', default_value='60'), - DeclareLaunchArgument('laser_index1_ir_ae_max_exposure', default_value='17000'), - DeclareLaunchArgument('laser_index0_laser_control', default_value='1'), - DeclareLaunchArgument('laser_index0_depth_exposure', default_value='3000'), - DeclareLaunchArgument('laser_index0_depth_gain', default_value='16'), - DeclareLaunchArgument('laser_index0_ir_brightness', default_value='60'), - DeclareLaunchArgument('laser_index0_ir_ae_max_exposure', default_value='30000'), DeclareLaunchArgument('show_fps_enable', default_value='false'), #color image transport plugins @@ -332,13 +307,6 @@ def generate_launch_description(): #infra2 DeclareLaunchArgument('right_ir.image_raw.enable_pub_plugins',default_value='["image_transport/compressed", "image_transport/raw", "image_transport/theora"]'), - # Force IP parameters - DeclareLaunchArgument("force_ip_enable", default_value="false"), # Whether to enable Force IP function - DeclareLaunchArgument("force_ip_mac", default_value=""), # If multiple cameras are connected, specify target MAC (e.g. "54:14:FD:06:07:DA") - DeclareLaunchArgument("force_ip_address", default_value="192.168.1.10"), # Static IP address to assign - DeclareLaunchArgument("force_ip_subnet_mask", default_value="255.255.255.0"), # Subnet mask used for static IP - DeclareLaunchArgument("force_ip_gateway", default_value="192.168.1.1"), # Gateway address used for static IP - DeclareLaunchArgument('intra_camera_sync_reference', default_value=""),#Start, Middle or End ] diff --git a/orbbec_camera/tools/list_camera_profile.cpp b/orbbec_camera/tools/list_camera_profile.cpp index 68a68861..89e83ffe 100644 --- a/orbbec_camera/tools/list_camera_profile.cpp +++ b/orbbec_camera/tools/list_camera_profile.cpp @@ -32,8 +32,8 @@ void listSensorProfiles(const std::shared_ptr& device) { std::cout << magic_enum::enum_name(sensor->getType()) << " profile: " << profile->getWidth() << "x" << profile->getHeight() << " " << profile->getFps() << "fps " << magic_enum::enum_name(profile->getFormat()) - << " | Weight: " << profile->getDecimationConfig().originWidth - << " Height: " << profile->getDecimationConfig().originHeight + << " | width: " << profile->getDecimationConfig().originWidth + << " height: " << profile->getDecimationConfig().originHeight << " downscale:" << profile->getDecimationConfig().factor << std::endl; } else if (sensor->getType() == OB_SENSOR_COLOR || sensor->getType() == OB_SENSOR_DEPTH || sensor->getType() == OB_SENSOR_IR || sensor->getType() == OB_SENSOR_IR_LEFT ||