diff --git a/aip_x2_gen2_description/CMakeLists.txt b/aip_x2_gen2_description/CMakeLists.txt new file mode 100644 index 00000000..68dbdf53 --- /dev/null +++ b/aip_x2_gen2_description/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.5) +project(aip_x2_gen2_description) + +find_package(ament_cmake_auto REQUIRED) + +ament_auto_find_build_dependencies() + +ament_auto_package(INSTALL_TO_SHARE + urdf + config +) diff --git a/aip_x2_gen2_description/config/sensor_kit_calibration.yaml b/aip_x2_gen2_description/config/sensor_kit_calibration.yaml new file mode 100644 index 00000000..4a37420d --- /dev/null +++ b/aip_x2_gen2_description/config/sensor_kit_calibration.yaml @@ -0,0 +1,173 @@ +sensor_kit_base_link: + # left upper + left_upper/lidar_base_link: + x: 0.0 + y: 0.0 + z: 0.0 + roll: 0.0 + pitch: 0.0 + yaw: 3.141592 # 180 [deg] to turn the connector toward the vehicle + left_lower/lidar_base_link: + x: 0.0 + y: -0.025 + z: -0.115 + roll: 0.6981 # 40[deg] + pitch: 0.0 + yaw: 3.141592 # 180 [deg] to turn the connector toward the vehicle + left_front/camera_link: + x: 0.12758 + y: -0.04589 + z: -0.0866 + roll: 0.0 + pitch: 0.08722 # 5 [deg] + yaw: 0.85478 # 49 [deg] + left_rear/camera_link: + x: -0.12842 + y: -0.04589 + z: -0.0866 + roll: 0.0 + pitch: 0.08722 # 5 [deg] + yaw: 2.2678 # 130 [deg] + left_center/camera_link: + x: 0.0 + y: -0.04089 + z: -0.18666 + roll: 0.0 + pitch: 0.933278 # 53.50 [deg] + yaw: 1.570796 # 90 [deg] + + # right upper + right_upper/lidar_base_link: + x: 0.0 + y: -2.15178 + z: 0.0 + roll: 0.0 + pitch: 0.0 + yaw: 0.0 # to turn the connector toward the vehicle + right_lower/lidar_base_link: + x: 0.0 + y: -2.12678 + z: -0.115 + roll: 0.6981 # 40 [deg] + pitch: 0.0 + yaw: 0.0 # to turn the connector toward the vehicle + right_front/camera_link: + x: 0.12758 + y: -2.10589 + z: -0.0866 + roll: 0.0 + pitch: 0.08722 # 5 [deg] + yaw: -0.85478 # -49 [deg] + right_rear/camera_link: + x: -0.12842 + y: -2.10589 + z: -0.0866 + roll: 0.0 + pitch: 0.08722 # 5 [deg] + yaw: -2.2678 # -130 [deg] + right_center/camera_link: + x: 0.0 + y: -2.11089 + z: -0.18666 + roll: 0.0 + pitch: 0.933278 # 53.50 [deg] + yaw: -1.570796 # -90 [deg] + + # front upper + top_front_left/imu_link: + x: 0.562 + y: -0.99974 + z: -0.06146 + roll: 3.141592 + pitch: 0.0 + yaw: 0.0 + top_front_right/imu_link: + x: 0.562 + y: -1.13974 + z: -0.06146 + roll: 3.141592 + pitch: 0.0 + yaw: 0.0 + top_front_right/camera_link: + x: 0.73758 + y: -1.26439 + z: -0.06666 + roll: 0.0 + pitch: 0.8373 # 48 [deg] + yaw: 0.0 + top_front_center_right/camera_link: + x: 0.73058 + y: -1.18899 + z: -0.02166 + roll: 0.0 + pitch: 0.0 + yaw: 0.0 + top_front_center_left/camera_link: + x: 0.73058 + y: -1.03819 + z: -0.02166 + roll: 0.0 + pitch: 0.0 + yaw: 0.0 + top_front_left/camera_link: + x: 0.73058 + y: -0.96279 + z: -0.02166 + roll: 0.0 + pitch: 0.0 + yaw: 0.0 + top_front/gnss_link: + x: 0.30133 + y: -1.07589 + z: 0.02861 + roll: 0.0 + pitch: 0.0 + yaw: 0.0 + + # rear upper + top_rear_center/camera_link: + x: -6.06359 + y: -1.20389 + z: -0.14078 + roll: 0.0 + pitch: 0.0 + yaw: 3.141592 # 180 [deg] to turn the connector toward the vehicle + top_rear/gnss_link: + x: -5.77517 + y: -1.07589 + z: 0.02861 + roll: 0.0 + pitch: 0.0 + yaw: 0.0 + + # front lower + front_upper/lidar_base_link: + x: 0.94058 + y: -1.07589 + z: -1.91826 + roll: 0.0 + pitch: 0.0 + yaw: 1.570796 # 90 [deg] to turn the connector toward the vehicle + front_lower/lidar_base_link: + x: 0.96758 + y: -1.07589 + z: -2.15234 + roll: 0.6981 # 40[deg] + pitch: 0.0 + yaw: 1.570796 # 90 [deg] to turn the connector toward the vehicle + + # rear lower + rear_upper/lidar_base_link: + x: -6.08042 + y: -1.07589 + z: -1.91826 + roll: 0.0 + pitch: 0.0 + yaw: -1.570796 # 90 [deg] to turn the connector toward the vehicle + rear_lower/lidar_base_link: + x: -6.10742 + y: -1.07589 + z: -2.15234 + roll: 0.6981 # 40[deg] + pitch: 0.0 + yaw: -1.570796 # 90 [deg] to turn the connector toward the vehicle diff --git a/aip_x2_gen2_description/config/sensors_calibration.yaml b/aip_x2_gen2_description/config/sensors_calibration.yaml new file mode 100644 index 00000000..1b5105f0 --- /dev/null +++ b/aip_x2_gen2_description/config/sensors_calibration.yaml @@ -0,0 +1,57 @@ +base_link: + sensor_kit_base_link: + x: 4.66244 + y: 1.07589 + z: 2.78926 + roll: 0.0 + pitch: 0.0 + yaw: 0.0 + + # radar + front_center/radar_link: + x: 5.69207 + y: 0.0 + z: 0.78894 + roll: 0.0 + pitch: 0.0 + yaw: 0.0 + + front_left/radar_link: + x: 5.37204 + y: 1.08537 + z: 0.73431 + roll: 0.0 + pitch: 0.0 + yaw: 1.2211 # 70 [deg] + + front_right/radar_link: + x: 5.37204 + y: -1.06642 + z: 0.73431 + roll: 0.0 + pitch: 0.0 + yaw: -1.2211 # 70 [deg] + + rear_center/radar_link: + x: -1.50704 + y: 0.0 + z: 0.78894 + roll: 0.0 + pitch: 0.0 + yaw: 3.141592 # 180 [deg] + + rear_left/radar_link: + x: -1.27564 + y: 1.07767 + z: 0.5487 + roll: 0.0 + pitch: 0.0 + yaw: 1.9189 # 110 [deg] + + rear_right/radar_link: + x: -1.27564 + y: -1.07768 + z: 0.5487 + roll: 0.0 + pitch: 0.0 + yaw: -1.9189 # 110 [deg] diff --git a/aip_x2_gen2_description/package.xml b/aip_x2_gen2_description/package.xml new file mode 100644 index 00000000..b35ad7a3 --- /dev/null +++ b/aip_x2_gen2_description/package.xml @@ -0,0 +1,17 @@ + + + aip_x2_gen2_description + 0.1.0 + The aip_x2_gen2_description package + + Tomohito Ando + Apache 2 + + ament_cmake_auto + + pandar_description + + + ament_cmake + + diff --git a/aip_x2_gen2_description/urdf/gnss.xacro b/aip_x2_gen2_description/urdf/gnss.xacro new file mode 100644 index 00000000..55002be0 --- /dev/null +++ b/aip_x2_gen2_description/urdf/gnss.xacro @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/aip_x2_gen2_description/urdf/radar.xacro b/aip_x2_gen2_description/urdf/radar.xacro new file mode 100644 index 00000000..8b0f8d4b --- /dev/null +++ b/aip_x2_gen2_description/urdf/radar.xacro @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/aip_x2_gen2_description/urdf/sensor_kit.xacro b/aip_x2_gen2_description/urdf/sensor_kit.xacro new file mode 100644 index 00000000..2db48d09 --- /dev/null +++ b/aip_x2_gen2_description/urdf/sensor_kit.xacro @@ -0,0 +1,345 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/aip_x2_gen2_description/urdf/sensors.xacro b/aip_x2_gen2_description/urdf/sensors.xacro new file mode 100644 index 00000000..34b10729 --- /dev/null +++ b/aip_x2_gen2_description/urdf/sensors.xacro @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/aip_x2_gen2_launch/CMakeLists.txt b/aip_x2_gen2_launch/CMakeLists.txt new file mode 100644 index 00000000..f3997ac7 --- /dev/null +++ b/aip_x2_gen2_launch/CMakeLists.txt @@ -0,0 +1,16 @@ +cmake_minimum_required(VERSION 3.5) +project(aip_x2_gen2_launch) + +find_package(ament_cmake_auto REQUIRED) +ament_auto_find_build_dependencies() + +if(BUILD_TESTING) + find_package(ament_lint_auto REQUIRED) + ament_lint_auto_find_test_dependencies() +endif() + +ament_auto_package(INSTALL_TO_SHARE + launch + data + config +) diff --git a/aip_x2_gen2_launch/config/ARS548.param.yaml b/aip_x2_gen2_launch/config/ARS548.param.yaml new file mode 100644 index 00000000..1fe5e7e2 --- /dev/null +++ b/aip_x2_gen2_launch/config/ARS548.param.yaml @@ -0,0 +1,17 @@ +/**: + ros__parameters: + host_ip: 10.13.1.166 + sensor_ip: 10.13.1.114 + data_port: 42102 + base_frame: base_link + object_frame: base_link + launch_hw: true + multicast_ip: 224.0.2.2 + sensor_model: ARS548 + configuration_host_port: 42401 + configuration_sensor_port: 42101 + use_sensor_time: false + configuration_vehicle_length: 7.2369 + configuration_vehicle_width: 2.2916 + configuration_vehicle_height: 3.08 + configuration_vehicle_wheelbase: 4.76012 diff --git a/aip_x2_gen2_launch/config/asterx_sb3_rover.param.yaml b/aip_x2_gen2_launch/config/asterx_sb3_rover.param.yaml new file mode 100644 index 00000000..559b7ea5 --- /dev/null +++ b/aip_x2_gen2_launch/config/asterx_sb3_rover.param.yaml @@ -0,0 +1,82 @@ +/**: + ros__parameters: + device: tcp://192.168.20.102:28784 + + frame_id: gnss_link + aux1_frame_id: aux1 + get_spatial_config_from_tf: false + use_ros_axis_orientation: false + receiver_type: gnss + multi_antenna: true + + datum: Default + + att_offset: + heading: 0.0 + pitch: 0.0 + + ant_type: "SEPPOLANT_MC.V2 NONE" + ant_serial_nr: Unknown + ant_aux1_type: "SEPPOLANT_MC.V2 NONE" + ant_aux1_serial_nr: Unknown + + polling_period: + pvt: 200 + rest: 200 + + use_gnss_time: false + + rtk_settings: + ntrip_1: + id: "" + caster: "" + caster_port: 2101 + username: "" + password: "" + mountpoint: "" + version: "v2" + tls: false + fingerprint: "" + rtk_standard: "auto" + send_gga: "auto" + keep_open: true + ip_server_1: + id: "IPS1" + port: 28785 + rtk_standard: "RTCMv3" + send_gga: "auto" + keep_open: true + serial_1: + port: "" + baud_rate: 115200 + rtk_standard: "auto" + send_gga: "auto" + keep_open: true + + publish: + # For both GNSS and INS Rxs + navsatfix: true + gpsfix: false + gpgga: false + gprmc: false + gpst: false + measepoch: false + pvtcartesian: false + pvtgeodetic: true + basevectorcart: false + basevectorgeod: false + poscovcartesian: false + poscovgeodetic: true + velcovgeodetic: false + atteuler: false + attcoveuler: false + pose: false + twist: false + diagnostics: true + # For GNSS Rx only + gpgsa: false + gpgsv: false + + # logger + + activate_debug_log: false diff --git a/aip_x2_gen2_launch/config/blockage_diagnostics_param_file.yaml b/aip_x2_gen2_launch/config/blockage_diagnostics_param_file.yaml new file mode 100644 index 00000000..ea0285a5 --- /dev/null +++ b/aip_x2_gen2_launch/config/blockage_diagnostics_param_file.yaml @@ -0,0 +1,14 @@ +/**: + ros__parameters: + blockage_ratio_threshold: 0.2 + blockage_count_threshold: 50 + blockage_buffering_frames: 2 + blockage_buffering_interval: 1 + enable_dust_diag: false + publish_debug_image: false + dust_ratio_threshold: 0.2 + dust_count_threshold: 10 + dust_kernel_size: 2 + dust_buffering_frames: 10 + dust_buffering_interval: 1 + blockage_kernel: 10 diff --git a/aip_x2_gen2_launch/config/diagnostic_aggregator/sensor_kit.param.yaml b/aip_x2_gen2_launch/config/diagnostic_aggregator/sensor_kit.param.yaml new file mode 100644 index 00000000..f2ffdcbd --- /dev/null +++ b/aip_x2_gen2_launch/config/diagnostic_aggregator/sensor_kit.param.yaml @@ -0,0 +1,100 @@ +/**: + ros__parameters: + sensing: + type: diagnostic_aggregator/AnalyzerGroup + path: sensing + analyzers: + node_alive_monitoring: + type: diagnostic_aggregator/AnalyzerGroup + path: node_alive_monitoring + analyzers: + topic_status: + type: diagnostic_aggregator/GenericAnalyzer + path: topic_status + contains: [": sensing_topic_status"] + timeout: 1.0 + + lidar: + type: diagnostic_aggregator/AnalyzerGroup + path: lidar + analyzers: + performance_monitoring: + type: diagnostic_aggregator/AnalyzerGroup + path: performance_monitoring + analyzers: + blockage: + type: diagnostic_aggregator/GenericAnalyzer + path: blockage + contains: [": blockage_validation"] + timeout: 1.0 + visibility: + type: diagnostic_aggregator/GenericAnalyzer + path: visibility + contains: ["left_upper: visibility_validation"] + timeout: 1.0 + concat_status: + type: diagnostic_aggregator/GenericAnalyzer + path: concat_status + contains: [": concat_status"] + timeout: 1.0 + pandar: + type: diagnostic_aggregator/AnalyzerGroup + path: pandar + analyzers: + health_monitoring: + type: diagnostic_aggregator/AnalyzerGroup + path: health_monitoring + analyzers: + connection: + type: diagnostic_aggregator/GenericAnalyzer + path: connection + contains: [": pandar_connection"] + timeout: 5.0 + temperature: + type: diagnostic_aggregator/GenericAnalyzer + path: temperature + contains: [": pandar_temperature"] + timeout: 5.0 + ptp: + type: diagnostic_aggregator/GenericAnalyzer + path: ptp + contains: [": pandar_ptp"] + timeout: 5.0 + + dust: + type: diagnostic_aggregator/GenericAnalyzer + path: dust + contains: [": dust_validation"] + timeout: 1.0 + + gnss: + type: diagnostic_aggregator/AnalyzerGroup + path: gnss + analyzers: + septentrio: + type: diagnostic_aggregator/AnalyzerGroup + path: septentrio + analyzers: + health_monitoring: + type: diagnostic_aggregator/AnalyzerGroup + path: health_monitoring + analyzers: + gnss: + type: diagnostic_aggregator/GenericAnalyzer + path: gnss + startswith: ["gnss"] + contains: [": gnss"] + timeout: 5.0 + imu: + type: diagnostic_aggregator/AnalyzerGroup + path: imu + analyzers: + bias_monitoring: + type: diagnostic_aggregator/AnalyzerGroup + path: bias_monitoring + analyzers: + gyro_bias_validator: + type: diagnostic_aggregator/GenericAnalyzer + path: gyro_bias_validator + contains: [": gyro_bias_validator"] + timeout: 1.0 diff --git a/aip_x2_gen2_launch/config/dual_return_filter.param.yaml b/aip_x2_gen2_launch/config/dual_return_filter.param.yaml new file mode 100644 index 00000000..75168e7b --- /dev/null +++ b/aip_x2_gen2_launch/config/dual_return_filter.param.yaml @@ -0,0 +1,13 @@ +/**: + ros__parameters: + roi_mode: "Fixed_azimuth_ROI" # description="options: `No_ROI`, `Fixed_xyz_ROI` or `Fixed_azimuth_ROI`"/> + weak_first_local_noise_threshold: 2 # description="for No_ROI roi_mode, recommended value is 10" /> + visibility_error_threshold: 0.95 + visibility_warn_threshold: 0.97 + max_distance: 10.0 + x_max: 18.0 + x_min: -12.0 + y_max: 2.0 + y_min: -2.0 + z_max: 10.0 + z_min: 0.0 diff --git a/aip_x2_gen2_launch/config/dummy_diag_publisher/sensor_kit.param.yaml b/aip_x2_gen2_launch/config/dummy_diag_publisher/sensor_kit.param.yaml new file mode 100644 index 00000000..7686ebf3 --- /dev/null +++ b/aip_x2_gen2_launch/config/dummy_diag_publisher/sensor_kit.param.yaml @@ -0,0 +1,69 @@ +# Description: +# name: diag name +# is_active: Force update or not +# status: diag status set by dummy diag publisher "OK, Warn, Error, Stale" +# +# Note: +# +# default values are: +# is_active: "true" +# status: "OK" +--- +/**: + ros__parameters: + required_diags: + # gnss + "topic_state_monitor_gnss_pose: gnss_topic_status": default + "septentrio_driver: Quality indicators": default + + # imu + "imu_monitor: yaw_rate_status": default + "topic_state_monitor_imu_data: imu_topic_status": default + "gyro_bias_validator: gyro_bias_validator": default + + # lidar + "/sensing/lidar/front_lower/hesai_ros_wrapper_node: hesai_status": default + "/sensing/lidar/front_upper/hesai_ros_wrapper_node: hesai_status": default + "/sensing/lidar/left_lower/hesai_ros_wrapper_node: hesai_status": default + "/sensing/lidar/left_upper/hesai_ros_wrapper_node: hesai_status": default + "/sensing/lidar/right_lower/hesai_ros_wrapper_node: hesai_status": default + "/sensing/lidar/right_upper/hesai_ros_wrapper_node: hesai_status": default + "/sensing/lidar/rear_lower/hesai_ros_wrapper_node: hesai_status": default + "/sensing/lidar/rear_upper/hesai_ros_wrapper_node: hesai_status": default + + "/sensing/lidar/front_lower/hesai_ros_wrapper_node: hesai_ptp": default + "/sensing/lidar/front_upper/hesai_ros_wrapper_node: hesai_ptp": default + "/sensing/lidar/left_lower/hesai_ros_wrapper_node: hesai_ptp": default + "/sensing/lidar/left_upper/hesai_ros_wrapper_node: hesai_ptp": default + "/sensing/lidar/right_lower/hesai_ros_wrapper_node: hesai_ptp": default + "/sensing/lidar/right_upper/hesai_ros_wrapper_node: hesai_ptp": default + "/sensing/lidar/rear_lower/hesai_ros_wrapper_node: hesai_ptp": default + "/sensing/lidar/rear_upper/hesai_ros_wrapper_node: hesai_ptp": default + + "/sensing/lidar/front_lower/hesai_ros_wrapper_node: hesai_temperature": default + "/sensing/lidar/front_upper/hesai_ros_wrapper_node: hesai_temperature": default + "/sensing/lidar/left_lower/hesai_ros_wrapper_node: hesai_temperature": default + "/sensing/lidar/left_upper/hesai_ros_wrapper_node: hesai_temperature": default + "/sensing/lidar/right_lower/hesai_ros_wrapper_node: hesai_temperature": default + "/sensing/lidar/right_upper/hesai_ros_wrapper_node: hesai_temperature": default + "/sensing/lidar/rear_lower/hesai_ros_wrapper_node: hesai_temperature": default + "/sensing/lidar/rear_upper/hesai_ros_wrapper_node: hesai_temperature": default + "concatenate_data: concat_status": default + + # camera + "v4l2_camera_camera0: capture_status": default + "v4l2_camera_camera1: capture_status": default + "v4l2_camera_camera2: capture_status": default + "v4l2_camera_camera3: capture_status": default + "v4l2_camera_camera4: capture_status": default + "v4l2_camera_camera5: capture_status": default + "v4l2_camera_camera6: capture_status": default + "v4l2_camera_camera7: capture_status": default + + # radar + "topic_state_monitor_radar_front_center: radar_front_center_topic_status": default + "topic_state_monitor_radar_front_left: radar_front_left_topic_status": default + "topic_state_monitor_radar_front_right: radar_front_right_topic_status": default + "topic_state_monitor_radar_rear_center: radar_rear_center_topic_status": default + "topic_state_monitor_radar_rear_left: radar_rear_left_topic_status": default + "topic_state_monitor_radar_rear_right: radar_rear_right_topic_status": default diff --git a/aip_x2_gen2_launch/config/gyro_bias_estimator.param.yaml b/aip_x2_gen2_launch/config/gyro_bias_estimator.param.yaml new file mode 100644 index 00000000..d552569f --- /dev/null +++ b/aip_x2_gen2_launch/config/gyro_bias_estimator.param.yaml @@ -0,0 +1,6 @@ +/**: + ros__parameters: + gyro_bias_threshold: 0.008 # [rad/s] + timer_callback_interval_sec: 0.5 # [sec] + diagnostics_updater_interval_sec: 0.5 # [sec] + straight_motion_ang_vel_upper_limit: 0.015 # [rad/s] diff --git a/aip_x2_gen2_launch/config/mosaic_x5_rover.param.yaml b/aip_x2_gen2_launch/config/mosaic_x5_rover.param.yaml new file mode 100644 index 00000000..566ee6ba --- /dev/null +++ b/aip_x2_gen2_launch/config/mosaic_x5_rover.param.yaml @@ -0,0 +1,82 @@ +/**: + ros__parameters: + device: tcp://192.168.100.101:28784 + + frame_id: gnss_link + aux1_frame_id: aux1 + get_spatial_config_from_tf: false + use_ros_axis_orientation: false + receiver_type: gnss + multi_antenna: false + + datum: Default + + att_offset: + heading: 0.0 + pitch: 0.0 + + ant_type: Unknown + ant_serial_nr: Unknown + ant_aux1_type: Unknown + ant_aux1_serial_nr: Unknown + + polling_period: + pvt: 200 + rest: 200 + + use_gnss_time: false + + rtk_settings: + ntrip_1: + id: "" + caster: "" + caster_port: 2101 + username: "" + password: "" + mountpoint: "" + version: "v2" + tls: false + fingerprint: "" + rtk_standard: "auto" + send_gga: "auto" + keep_open: true + ip_server_1: + id: "IPS1" + port: 28785 + rtk_standard: "RTCMv3" + send_gga: "auto" + keep_open: true + serial_1: + port: "" + baud_rate: 115200 + rtk_standard: "auto" + send_gga: "auto" + keep_open: true + + publish: + # For both GNSS and INS Rxs + navsatfix: true + gpsfix: false + gpgga: false + gprmc: false + gpst: false + measepoch: false + pvtcartesian: false + pvtgeodetic: true + basevectorcart: false + basevectorgeod: false + poscovcartesian: false + poscovgeodetic: true + velcovgeodetic: false + atteuler: false + attcoveuler: false + pose: false + twist: false + diagnostics: true + # For GNSS Rx only + gpgsa: false + gpgsv: false + + # logger + + activate_debug_log: false diff --git a/aip_x2_gen2_launch/config/point_filters/default/point_filters_full.param.yaml b/aip_x2_gen2_launch/config/point_filters/default/point_filters_full.param.yaml new file mode 100644 index 00000000..7ff58606 --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/default/point_filters_full.param.yaml @@ -0,0 +1,5 @@ +/**: + ros__parameters: + point_filters: | + { + } diff --git a/aip_x2_gen2_launch/config/point_filters/default/point_filters_left_upper.param.yaml b/aip_x2_gen2_launch/config/point_filters/default/point_filters_left_upper.param.yaml new file mode 100644 index 00000000..1d5d525b --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/default/point_filters_left_upper.param.yaml @@ -0,0 +1,47 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [15, 143.95, 147.1], + [72, 319, 322], + [73, 318, 323], + [74, 318, 323], + [75, 318, 323], + [76, 318, 324], + [77, 318, 325], + [77, 318, 325], + [78, 318, 325], + [79, 318, 325], + [80, 318, 325], + [81, 318, 325], + [82, 318, 325], + [83, 318, 325], + [84, 319, 325], + [85, 319, 325], + [86, 319, 325], + [87, 320, 325], + [88, 321, 325], + [89, 322, 323], + + [91, 287.55, 289.90], + [92, 287.55, 289.75], + [109, 314.74, 316.74], + [110, 312.74, 317.34], + [111, 312.73, 315.93], + [112, 308.48, 313.28], + [113, 305.68, 312.28], + [114, 308.58, 310.58], + [117, 305.77, 313.77], + [118, 303.81, 308.53], + [119, 302.09, 307.53], + [120, 298.42, 307.63], + [121, 299.63, 312.03], + [122, 298.42, 310.02], + [123, 298.42, 310.22], + [124, 298.16, 308.76], + [125, 295.94, 307.54], + [126, 292.12, 303.92], + [127, 289.71, 297.31] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/default/point_filters_one_half.param.yaml b/aip_x2_gen2_launch/config/point_filters/default/point_filters_one_half.param.yaml new file mode 100644 index 00000000..42db0ed7 --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/default/point_filters_one_half.param.yaml @@ -0,0 +1,71 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [1, 0, 360], + [3, 0, 360], + [5, 0, 360], + [7, 0, 360], + [9, 0, 360], + [11, 0, 360], + [13, 0, 360], + [15, 0, 360], + [17, 0, 360], + [19, 0, 360], + [21, 0, 360], + [23, 0, 360], + [25, 0, 360], + [27, 0, 360], + [29, 0, 360], + [31, 0, 360], + [33, 0, 360], + [35, 0, 360], + [37, 0, 360], + [39, 0, 360], + [41, 0, 360], + [43, 0, 360], + [45, 0, 360], + [47, 0, 360], + [49, 0, 360], + [51, 0, 360], + [53, 0, 360], + [55, 0, 360], + [57, 0, 360], + [59, 0, 360], + [61, 0, 360], + [63, 0, 360], + [65, 0, 360], + [67, 0, 360], + [69, 0, 360], + [71, 0, 360], + [73, 0, 360], + [75, 0, 360], + [77, 0, 360], + [79, 0, 360], + [81, 0, 360], + [83, 0, 360], + [85, 0, 360], + [87, 0, 360], + [89, 0, 360], + [91, 0, 360], + [93, 0, 360], + [95, 0, 360], + [97, 0, 360], + [99, 0, 360], + [101, 0, 360], + [103, 0, 360], + [105, 0, 360], + [107, 0, 360], + [109, 0, 360], + [111, 0, 360], + [113, 0, 360], + [115, 0, 360], + [117, 0, 360], + [119, 0, 360], + [121, 0, 360], + [123, 0, 360], + [125, 0, 360], + [127, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/default/point_filters_one_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/default/point_filters_one_third.param.yaml new file mode 100644 index 00000000..075381cc --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/default/point_filters_one_third.param.yaml @@ -0,0 +1,92 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [1, 0, 360], + [2, 0, 360], + [4, 0, 360], + [5, 0, 360], + [7, 0, 360], + [8, 0, 360], + [10, 0, 360], + [11, 0, 360], + [13, 0, 360], + [14, 0, 360], + [16, 0, 360], + [17, 0, 360], + [19, 0, 360], + [20, 0, 360], + [22, 0, 360], + [23, 0, 360], + [25, 0, 360], + [26, 0, 360], + [28, 0, 360], + [29, 0, 360], + [31, 0, 360], + [32, 0, 360], + [34, 0, 360], + [35, 0, 360], + [37, 0, 360], + [38, 0, 360], + [40, 0, 360], + [41, 0, 360], + [43, 0, 360], + [44, 0, 360], + [46, 0, 360], + [47, 0, 360], + [49, 0, 360], + [50, 0, 360], + [52, 0, 360], + [53, 0, 360], + [55, 0, 360], + [56, 0, 360], + [58, 0, 360], + [59, 0, 360], + [61, 0, 360], + [62, 0, 360], + [64, 0, 360], + [65, 0, 360], + [67, 0, 360], + [68, 0, 360], + [70, 0, 360], + [71, 0, 360], + [73, 0, 360], + [74, 0, 360], + [76, 0, 360], + [77, 0, 360], + [79, 0, 360], + [80, 0, 360], + [82, 0, 360], + [83, 0, 360], + [85, 0, 360], + [86, 0, 360], + [88, 0, 360], + [89, 0, 360], + [91, 0, 360], + [92, 0, 360], + [94, 0, 360], + [95, 0, 360], + [97, 0, 360], + [98, 0, 360], + [100, 0, 360], + [101, 0, 360], + [103, 0, 360], + [104, 0, 360], + [106, 0, 360], + [107, 0, 360], + [109, 0, 360], + [110, 0, 360], + [112, 0, 360], + [113, 0, 360], + [115, 0, 360], + [116, 0, 360], + [118, 0, 360], + [119, 0, 360], + [121, 0, 360], + [122, 0, 360], + [124, 0, 360], + [125, 0, 360], + [127, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/default/point_filters_right_upper.param.yaml b/aip_x2_gen2_launch/config/point_filters/default/point_filters_right_upper.param.yaml new file mode 100644 index 00000000..d47a15dd --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/default/point_filters_right_upper.param.yaml @@ -0,0 +1,42 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [71, 36, 39], + [72, 36, 39], + [73, 36, 39], + [74, 36, 41], + [75, 36, 41], + [76, 36, 41], + [77, 34, 41], + [77, 34, 41], + [78, 33, 41], + [79, 33, 41], + [80, 33, 41], + [81, 33, 41], + [82, 33, 41], + [83, 33, 41], + [84, 33, 40], + [85, 33, 40], + [86, 33, 39], + [87, 33, 39], + [88, 34, 37], + [88, 36, 37], + [88, 35, 37], + + [110, 43.17, 45.17], + [110, 87.78, 89.97], + [117, 49.80, 51.80], + [118, 49.60, 51.60], + [119, 50.40, 52.60], + [120, 49.28, 52.88], + [121, 46.08, 55.08], + [122, 48.07, 56.87], + [123, 48.07, 58.67], + [124, 51.80, 60.20], + [125, 50.98, 63.58], + [126, 52.56, 65.76], + [127, 58.57, 69.17] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/default/point_filters_two_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/default/point_filters_two_third.param.yaml new file mode 100644 index 00000000..45a57f55 --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/default/point_filters_two_third.param.yaml @@ -0,0 +1,50 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 360], + [3, 0, 360], + [6, 0, 360], + [9, 0, 360], + [12, 0, 360], + [15, 0, 360], + [18, 0, 360], + [21, 0, 360], + [24, 0, 360], + [27, 0, 360], + [30, 0, 360], + [33, 0, 360], + [36, 0, 360], + [39, 0, 360], + [42, 0, 360], + [45, 0, 360], + [48, 0, 360], + [51, 0, 360], + [54, 0, 360], + [57, 0, 360], + [60, 0, 360], + [63, 0, 360], + [66, 0, 360], + [69, 0, 360], + [72, 0, 360], + [75, 0, 360], + [78, 0, 360], + [81, 0, 360], + [84, 0, 360], + [87, 0, 360], + [90, 0, 360], + [93, 0, 360], + [96, 0, 360], + [99, 0, 360], + [102, 0, 360], + [105, 0, 360], + [108, 0, 360], + [111, 0, 360], + [114, 0, 360], + [117, 0, 360], + [120, 0, 360], + [123, 0, 360], + [126, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/front_lower/point_filters_full.param.yaml b/aip_x2_gen2_launch/config/point_filters/front_lower/point_filters_full.param.yaml new file mode 100644 index 00000000..cd534e3a --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/front_lower/point_filters_full.param.yaml @@ -0,0 +1,44 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 128], [0, 232,360], + [1, 0, 128], [1, 236,360], + [2, 0, 125], [2, 238,360], + [3, 0, 123], [3, 240,360], + [4, 0, 121], [4, 242,360], + [5, 0, 121], [5, 242,360], + [6, 0, 120], [6, 246,360], + [7, 0, 120], [7, 246,360], + [8, 0, 120], [8, 248,360], + [9, 0, 115], [9, 248,360], + [10, 0, 115], [10, 250,360], + [11, 0, 115], [11, 250,360], + [12, 0, 115], [12, 252,360], + [13, 0, 110], [13, 252,360], + [14, 0, 108], [14, 252,360], + [15, 0, 108], [15, 252,360], + [16, 0, 108], [16, 252,360], + [17, 0, 108], [17, 252,360], + [18, 0, 106], [18, 254,360], + [19, 0, 106], [19, 254,360], + [20, 0, 105], [20, 258,360], + [21, 0, 105], [21, 258,360], + [22, 0, 105], [22, 260,360], + [23, 0, 105], [23, 260,360], + [24, 0, 103], [24, 260,360], + [25, 0, 103], [25, 260,360], + [26, 0, 100], [26, 260,360], + [27, 0, 100], [27, 260,360], + [28, 0, 100], [28, 260,360], + [29, 0, 100], [29, 260,360], + [30, 0, 94], [30, 266,360], + [31, 0, 94], [31, 266,360], + [32, 0, 94], [32, 266,360], + [33, 0, 94], [33, 266,360], + [34, 0, 94], [34, 266,360], + [35, 0, 94], [35, 266,360], + [36, 0, 94], [36, 266,360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/front_lower/point_filters_one_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/front_lower/point_filters_one_third.param.yaml new file mode 100644 index 00000000..f0607ac6 --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/front_lower/point_filters_one_third.param.yaml @@ -0,0 +1,129 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 128], [0, 232,360], + [1, 0, 128], [1, 236,360], + [2, 0, 125], [2, 238,360], + [3, 0, 123], [3, 240,360], + [4, 0, 121], [4, 242,360], + [5, 0, 121], [5, 242,360], + [6, 0, 120], [6, 246,360], + [7, 0, 120], [7, 246,360], + [8, 0, 120], [8, 248,360], + [9, 0, 115], [9, 248,360], + [10, 0, 115], [10, 250,360], + [11, 0, 115], [11, 250,360], + [12, 0, 115], [12, 252,360], + [13, 0, 110], [13, 252,360], + [14, 0, 108], [14, 252,360], + [15, 0, 108], [15, 252,360], + [16, 0, 108], [16, 252,360], + [17, 0, 108], [17, 252,360], + [18, 0, 106], [18, 254,360], + [19, 0, 106], [19, 254,360], + [20, 0, 105], [20, 258,360], + [21, 0, 105], [21, 258,360], + [22, 0, 105], [22, 260,360], + [23, 0, 105], [23, 260,360], + [24, 0, 103], [24, 260,360], + [25, 0, 103], [25, 260,360], + [26, 0, 100], [26, 260,360], + [27, 0, 100], [27, 260,360], + [28, 0, 100], [28, 260,360], + [29, 0, 100], [29, 260,360], + [30, 0, 94], [30, 266,360], + [31, 0, 94], [31, 266,360], + [32, 0, 94], [32, 266,360], + [33, 0, 94], [33, 266,360], + [34, 0, 94], [34, 266,360], + [35, 0, 94], [35, 266,360], + [36, 0, 94], [36, 266,360], + [1, 0, 360], + [2, 0, 360], + [4, 0, 360], + [5, 0, 360], + [7, 0, 360], + [8, 0, 360], + [10, 0, 360], + [11, 0, 360], + [13, 0, 360], + [14, 0, 360], + [16, 0, 360], + [17, 0, 360], + [19, 0, 360], + [20, 0, 360], + [22, 0, 360], + [23, 0, 360], + [25, 0, 360], + [26, 0, 360], + [28, 0, 360], + [29, 0, 360], + [31, 0, 360], + [32, 0, 360], + [34, 0, 360], + [35, 0, 360], + [37, 0, 360], + [38, 0, 360], + [40, 0, 360], + [41, 0, 360], + [43, 0, 360], + [44, 0, 360], + [46, 0, 360], + [47, 0, 360], + [49, 0, 360], + [50, 0, 360], + [52, 0, 360], + [53, 0, 360], + [55, 0, 360], + [56, 0, 360], + [58, 0, 360], + [59, 0, 360], + [61, 0, 360], + [62, 0, 360], + [64, 0, 360], + [65, 0, 360], + [67, 0, 360], + [68, 0, 360], + [70, 0, 360], + [71, 0, 360], + [73, 0, 360], + [74, 0, 360], + [76, 0, 360], + [77, 0, 360], + [79, 0, 360], + [80, 0, 360], + [82, 0, 360], + [83, 0, 360], + [85, 0, 360], + [86, 0, 360], + [88, 0, 360], + [89, 0, 360], + [91, 0, 360], + [92, 0, 360], + [94, 0, 360], + [95, 0, 360], + [97, 0, 360], + [98, 0, 360], + [100, 0, 360], + [101, 0, 360], + [103, 0, 360], + [104, 0, 360], + [106, 0, 360], + [107, 0, 360], + [109, 0, 360], + [110, 0, 360], + [112, 0, 360], + [113, 0, 360], + [115, 0, 360], + [116, 0, 360], + [118, 0, 360], + [119, 0, 360], + [121, 0, 360], + [122, 0, 360], + [124, 0, 360], + [125, 0, 360], + [127, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/front_lower/point_filters_two_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/front_lower/point_filters_two_third.param.yaml new file mode 100644 index 00000000..dc4e10a9 --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/front_lower/point_filters_two_third.param.yaml @@ -0,0 +1,87 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 128], [0, 232,360], + [1, 0, 128], [1, 236,360], + [2, 0, 125], [2, 238,360], + [3, 0, 123], [3, 240,360], + [4, 0, 121], [4, 242,360], + [5, 0, 121], [5, 242,360], + [6, 0, 120], [6, 246,360], + [7, 0, 120], [7, 246,360], + [8, 0, 120], [8, 248,360], + [9, 0, 115], [9, 248,360], + [10, 0, 115], [10, 250,360], + [11, 0, 115], [11, 250,360], + [12, 0, 115], [12, 252,360], + [13, 0, 110], [13, 252,360], + [14, 0, 108], [14, 252,360], + [15, 0, 108], [15, 252,360], + [16, 0, 108], [16, 252,360], + [17, 0, 108], [17, 252,360], + [18, 0, 106], [18, 254,360], + [19, 0, 106], [19, 254,360], + [20, 0, 105], [20, 258,360], + [21, 0, 105], [21, 258,360], + [22, 0, 105], [22, 260,360], + [23, 0, 105], [23, 260,360], + [24, 0, 103], [24, 260,360], + [25, 0, 103], [25, 260,360], + [26, 0, 100], [26, 260,360], + [27, 0, 100], [27, 260,360], + [28, 0, 100], [28, 260,360], + [29, 0, 100], [29, 260,360], + [30, 0, 94], [30, 266,360], + [31, 0, 94], [31, 266,360], + [32, 0, 94], [32, 266,360], + [33, 0, 94], [33, 266,360], + [34, 0, 94], [34, 266,360], + [35, 0, 94], [35, 266,360], + [36, 0, 94], [36, 266,360], + [0, 0, 360], + [3, 0, 360], + [6, 0, 360], + [9, 0, 360], + [12, 0, 360], + [15, 0, 360], + [18, 0, 360], + [21, 0, 360], + [24, 0, 360], + [27, 0, 360], + [30, 0, 360], + [33, 0, 360], + [36, 0, 360], + [39, 0, 360], + [42, 0, 360], + [45, 0, 360], + [48, 0, 360], + [51, 0, 360], + [54, 0, 360], + [57, 0, 360], + [60, 0, 360], + [63, 0, 360], + [66, 0, 360], + [69, 0, 360], + [72, 0, 360], + [75, 0, 360], + [78, 0, 360], + [81, 0, 360], + [84, 0, 360], + [87, 0, 360], + [90, 0, 360], + [93, 0, 360], + [96, 0, 360], + [99, 0, 360], + [102, 0, 360], + [105, 0, 360], + [108, 0, 360], + [111, 0, 360], + [114, 0, 360], + [117, 0, 360], + [120, 0, 360], + [123, 0, 360], + [126, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/front_upper/point_filters_full.param.yaml b/aip_x2_gen2_launch/config/point_filters/front_upper/point_filters_full.param.yaml new file mode 100644 index 00000000..9ba6571d --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/front_upper/point_filters_full.param.yaml @@ -0,0 +1,103 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 93],[0, 266, 360], + [1, 0, 93],[1, 266, 360], + [2, 0, 93],[2, 266, 360], + [3, 0, 93],[3, 266, 360], + [4, 268, 360], + [5, 268, 360], + [6, 268, 360], + [7, 268, 360], + [8, 268, 360], + [10, 272, 360], + [11, 272, 360], + [12, 272, 360], + [13, 272, 360], + [14, 266, 360], + [15, 266, 360], + [16, 266, 360], + [17, 0, 96],[17, 266, 360], + [18, 0, 96],[18, 263, 360], + [19, 0, 96],[19, 263, 360], + [20, 0, 96],[20, 263, 360], + [21, 0, 96],[21, 263, 360], + [22, 270, 360], + [23, 270, 360], + [24, 270, 360], + [29, 0, 96], + [30, 0, 96],[30, 267, 360], + [31, 0, 96],[31, 267, 360], + [32, 0, 96],[32, 267, 360], + [33, 0, 96], + [38, 272, 360], + [45, 0, 93],[45, 267, 360], + [50, 0, 98], + [51, 0, 98], + [52, 0, 98], + [53, 0, 98], + [54, 0, 98], + [57, 0, 93], + [58, 0, 93],[58, 261, 360], + [59, 0, 93],[59, 261, 360], + [60, 0, 93],[60, 261, 360], + [61, 0, 93], + [72, 269, 360], + [73, 0, 88],[73, 269, 360], + [74, 0, 88],[74, 269, 360], + [75, 0, 90], + [76, 0, 94], + [77, 0, 94], + [78, 0, 94], + [79, 0, 94], + [80, 0, 94], + [81, 0, 90], + [82, 0, 90], + [83, 0, 90], + [84, 0, 88], + [85, 0, 88], + [86, 0, 88], + [88, 273, 360], + [89, 273, 360], + [90, 273, 360], + [91, 0, 93],[91, 273, 360], + [92, 0, 93],[92, 268, 360], + [93, 0, 93],[93, 273, 360], + [94, 0, 93],[94, 273, 360], + [95, 0, 93],[95, 273, 360], + [96, 0, 93],[96, 273, 360], + [97, 0, 93],[97, 273, 360], + [98, 0, 93],[98, 273, 360], + [99, 0, 93],[99, 273, 360], + [100, 0, 93.5],[100, 273, 360], + [101, 273, 360], + [102, 273, 360], + [103, 274, 360], + [104, 274, 360], + [105, 275, 360], + [106, 0, 95],[106, 275, 360], + [107, 0, 95],[107, 275, 360], + [108, 0, 95],[108, 275, 360], + [109, 0, 95], + [110, 0, 95], + [111, 0, 90], + [112, 0, 93], + [113, 0, 93], + [114, 0, 93], + [115, 0, 93], + [116, 0, 93], + [117, 0, 93], + [118, 0, 96],[118, 265, 360], + [119, 0, 96],[119, 265, 360], + [120, 0, 98],[120, 265, 360], + [121, 0, 98],[121, 265, 360], + [122, 0, 98],[122, 258, 360], + [123, 0, 98],[123, 258, 360], + [124, 0, 98],[124, 258, 360], + [125, 0, 100],[125, 256, 360], + [126, 0, 100],[126, 256, 360], + [127, 0, 100],[127, 256, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/front_upper/point_filters_one_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/front_upper/point_filters_one_third.param.yaml new file mode 100644 index 00000000..70496d1e --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/front_upper/point_filters_one_third.param.yaml @@ -0,0 +1,188 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 93],[0, 266, 360], + [1, 0, 93],[1, 266, 360], + [2, 0, 93],[2, 266, 360], + [3, 0, 93],[3, 266, 360], + [4, 268, 360], + [5, 268, 360], + [6, 268, 360], + [7, 268, 360], + [8, 268, 360], + [10, 272, 360], + [11, 272, 360], + [12, 272, 360], + [13, 272, 360], + [14, 266, 360], + [15, 266, 360], + [16, 266, 360], + [17, 0, 96],[17, 266, 360], + [18, 0, 96],[18, 263, 360], + [19, 0, 96],[19, 263, 360], + [20, 0, 96],[20, 263, 360], + [21, 0, 96],[21, 263, 360], + [22, 270, 360], + [23, 270, 360], + [24, 270, 360], + [29, 0, 96], + [30, 0, 96],[30, 267, 360], + [31, 0, 96],[31, 267, 360], + [32, 0, 96],[32, 267, 360], + [33, 0, 96], + [38, 272, 360], + [45, 0, 93],[45, 267, 360], + [50, 0, 98], + [51, 0, 98], + [52, 0, 98], + [53, 0, 98], + [54, 0, 98], + [57, 0, 93], + [58, 0, 93],[58, 261, 360], + [59, 0, 93],[59, 261, 360], + [60, 0, 93],[60, 261, 360], + [61, 0, 93], + [72, 269, 360], + [73, 0, 88],[73, 269, 360], + [74, 0, 88],[74, 269, 360], + [75, 0, 90], + [76, 0, 94], + [77, 0, 94], + [78, 0, 94], + [79, 0, 94], + [80, 0, 94], + [81, 0, 90], + [82, 0, 90], + [83, 0, 90], + [84, 0, 88], + [85, 0, 88], + [86, 0, 88], + [88, 273, 360], + [89, 273, 360], + [90, 273, 360], + [91, 0, 93],[91, 273, 360], + [92, 0, 93],[92, 268, 360], + [93, 0, 93],[93, 273, 360], + [94, 0, 93],[94, 273, 360], + [95, 0, 93],[95, 273, 360], + [96, 0, 93],[96, 273, 360], + [97, 0, 93],[97, 273, 360], + [98, 0, 93],[98, 273, 360], + [99, 0, 93],[99, 273, 360], + [100, 0, 93.5],[100, 273, 360], + [101, 273, 360], + [102, 273, 360], + [103, 274, 360], + [104, 274, 360], + [105, 275, 360], + [106, 0, 95],[106, 275, 360], + [107, 0, 95],[107, 275, 360], + [108, 0, 95],[108, 275, 360], + [109, 0, 95], + [110, 0, 95], + [111, 0, 90], + [112, 0, 93], + [113, 0, 93], + [114, 0, 93], + [115, 0, 93], + [116, 0, 93], + [117, 0, 93], + [118, 0, 96],[118, 265, 360], + [119, 0, 96],[119, 265, 360], + [120, 0, 98],[120, 265, 360], + [121, 0, 98],[121, 265, 360], + [122, 0, 98],[122, 258, 360], + [123, 0, 98],[123, 258, 360], + [124, 0, 98],[124, 258, 360], + [125, 0, 100],[125, 256, 360], + [126, 0, 100],[126, 256, 360], + [127, 0, 100],[127, 256, 360], + [1, 0, 360], + [2, 0, 360], + [4, 0, 360], + [5, 0, 360], + [7, 0, 360], + [8, 0, 360], + [10, 0, 360], + [11, 0, 360], + [13, 0, 360], + [14, 0, 360], + [16, 0, 360], + [17, 0, 360], + [19, 0, 360], + [20, 0, 360], + [22, 0, 360], + [23, 0, 360], + [25, 0, 360], + [26, 0, 360], + [28, 0, 360], + [29, 0, 360], + [31, 0, 360], + [32, 0, 360], + [34, 0, 360], + [35, 0, 360], + [37, 0, 360], + [38, 0, 360], + [40, 0, 360], + [41, 0, 360], + [43, 0, 360], + [44, 0, 360], + [46, 0, 360], + [47, 0, 360], + [49, 0, 360], + [50, 0, 360], + [52, 0, 360], + [53, 0, 360], + [55, 0, 360], + [56, 0, 360], + [58, 0, 360], + [59, 0, 360], + [61, 0, 360], + [62, 0, 360], + [64, 0, 360], + [65, 0, 360], + [67, 0, 360], + [68, 0, 360], + [70, 0, 360], + [71, 0, 360], + [73, 0, 360], + [74, 0, 360], + [76, 0, 360], + [77, 0, 360], + [79, 0, 360], + [80, 0, 360], + [82, 0, 360], + [83, 0, 360], + [85, 0, 360], + [86, 0, 360], + [88, 0, 360], + [89, 0, 360], + [91, 0, 360], + [92, 0, 360], + [94, 0, 360], + [95, 0, 360], + [97, 0, 360], + [98, 0, 360], + [100, 0, 360], + [101, 0, 360], + [103, 0, 360], + [104, 0, 360], + [106, 0, 360], + [107, 0, 360], + [109, 0, 360], + [110, 0, 360], + [112, 0, 360], + [113, 0, 360], + [115, 0, 360], + [116, 0, 360], + [118, 0, 360], + [119, 0, 360], + [121, 0, 360], + [122, 0, 360], + [124, 0, 360], + [125, 0, 360], + [127, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/front_upper/point_filters_two_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/front_upper/point_filters_two_third.param.yaml new file mode 100644 index 00000000..3ae4770d --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/front_upper/point_filters_two_third.param.yaml @@ -0,0 +1,146 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 93],[0, 266, 360], + [1, 0, 93],[1, 266, 360], + [2, 0, 93],[2, 266, 360], + [3, 0, 93],[3, 266, 360], + [4, 268, 360], + [5, 268, 360], + [6, 268, 360], + [7, 268, 360], + [8, 268, 360], + [10, 272, 360], + [11, 272, 360], + [12, 272, 360], + [13, 272, 360], + [14, 266, 360], + [15, 266, 360], + [16, 266, 360], + [17, 0, 96],[17, 266, 360], + [18, 0, 96],[18, 263, 360], + [19, 0, 96],[19, 263, 360], + [20, 0, 96],[20, 263, 360], + [21, 0, 96],[21, 263, 360], + [22, 270, 360], + [23, 270, 360], + [24, 270, 360], + [29, 0, 96], + [30, 0, 96],[30, 267, 360], + [31, 0, 96],[31, 267, 360], + [32, 0, 96],[32, 267, 360], + [33, 0, 96], + [38, 272, 360], + [45, 0, 93],[45, 267, 360], + [50, 0, 98], + [51, 0, 98], + [52, 0, 98], + [53, 0, 98], + [54, 0, 98], + [57, 0, 93], + [58, 0, 93],[58, 261, 360], + [59, 0, 93],[59, 261, 360], + [60, 0, 93],[60, 261, 360], + [61, 0, 93], + [72, 269, 360], + [73, 0, 88],[73, 269, 360], + [74, 0, 88],[74, 269, 360], + [75, 0, 90], + [76, 0, 94], + [77, 0, 94], + [78, 0, 94], + [79, 0, 94], + [80, 0, 94], + [81, 0, 90], + [82, 0, 90], + [83, 0, 90], + [84, 0, 88], + [85, 0, 88], + [86, 0, 88], + [88, 273, 360], + [89, 273, 360], + [90, 273, 360], + [91, 0, 93],[91, 273, 360], + [92, 0, 93],[92, 268, 360], + [93, 0, 93],[93, 273, 360], + [94, 0, 93],[94, 273, 360], + [95, 0, 93],[95, 273, 360], + [96, 0, 93],[96, 273, 360], + [97, 0, 93],[97, 273, 360], + [98, 0, 93],[98, 273, 360], + [99, 0, 93],[99, 273, 360], + [100, 0, 93.5],[100, 273, 360], + [101, 273, 360], + [102, 273, 360], + [103, 274, 360], + [104, 274, 360], + [105, 275, 360], + [106, 0, 95],[106, 275, 360], + [107, 0, 95],[107, 275, 360], + [108, 0, 95],[108, 275, 360], + [109, 0, 95], + [110, 0, 95], + [111, 0, 90], + [112, 0, 93], + [113, 0, 93], + [114, 0, 93], + [115, 0, 93], + [116, 0, 93], + [117, 0, 93], + [118, 0, 96],[118, 265, 360], + [119, 0, 96],[119, 265, 360], + [120, 0, 98],[120, 265, 360], + [121, 0, 98],[121, 265, 360], + [122, 0, 98],[122, 258, 360], + [123, 0, 98],[123, 258, 360], + [124, 0, 98],[124, 258, 360], + [125, 0, 100],[125, 256, 360], + [126, 0, 100],[126, 256, 360], + [127, 0, 100],[127, 256, 360], + [0, 0, 360], + [3, 0, 360], + [6, 0, 360], + [9, 0, 360], + [12, 0, 360], + [15, 0, 360], + [18, 0, 360], + [21, 0, 360], + [24, 0, 360], + [27, 0, 360], + [30, 0, 360], + [33, 0, 360], + [36, 0, 360], + [39, 0, 360], + [42, 0, 360], + [45, 0, 360], + [48, 0, 360], + [51, 0, 360], + [54, 0, 360], + [57, 0, 360], + [60, 0, 360], + [63, 0, 360], + [66, 0, 360], + [69, 0, 360], + [72, 0, 360], + [75, 0, 360], + [78, 0, 360], + [81, 0, 360], + [84, 0, 360], + [87, 0, 360], + [90, 0, 360], + [93, 0, 360], + [96, 0, 360], + [99, 0, 360], + [102, 0, 360], + [105, 0, 360], + [108, 0, 360], + [111, 0, 360], + [114, 0, 360], + [117, 0, 360], + [120, 0, 360], + [123, 0, 360], + [126, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/left_lower/point_filters_full.param.yaml b/aip_x2_gen2_launch/config/point_filters/left_lower/point_filters_full.param.yaml new file mode 100644 index 00000000..943a4c5d --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/left_lower/point_filters_full.param.yaml @@ -0,0 +1,62 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 360], + [1, 0, 360], + [2, 0, 360], + [3, 0, 170],[3, 199.5, 360], + [4, 0, 155],[4, 203, 360], + [5, 0, 152],[5, 206, 217],[5, 220, 360], + [6, 0, 146],[6, 217, 360], + [7, 0, 143],[7, 230, 360], + [8, 0, 143],[8, 228.5, 360], + [9, 0, 142],[9, 228.5, 360], + [10, 0, 141],[10, 235, 360], + [11, 0, 140],[11, 235, 360], + [12, 0, 140],[12, 235, 360], + [13, 0, 135],[13, 235, 360], + [14, 0, 133],[14, 235, 360], + [15, 0, 131],[15, 235, 360], + [16, 0, 129],[16, 235, 360], + [17, 0, 127],[17, 235, 360], + [18, 0, 127],[18, 235, 360], + [19, 0, 126],[19, 235, 360], + [20, 0, 125],[20, 235, 360], + [21, 0, 125],[21, 235, 360], + [22, 0, 124],[22, 235, 360], + [23, 0, 124],[23, 235, 360], + [24, 0, 122],[24, 235, 360], + [25, 0, 122],[25, 235, 360], + [26, 0, 121],[26, 235, 360], + [27, 0, 120],[27, 235, 360], + [28, 0, 119],[28, 239, 360], + [29, 0, 118],[29, 240, 360], + [30, 0, 110],[30, 240, 360], + [31, 0, 109],[31, 240, 267], + [32, 0, 109],[32, 244, 267], + [33, 0, 108],[33, 244, 267], + [34, 0, 108],[34, 244, 265], + [35, 0, 107],[35, 244, 265], + [36, 0, 107],[36, 244, 265], + [37, 0, 106],[37, 244, 265], + [38, 0, 106],[38, 244, 265], + [39, 0, 105],[39, 244, 265], + [40, 0, 105],[40, 244, 265], + [41, 0, 104],[41, 244, 265], + [42, 0, 104],[42, 244, 265], + [43, 0, 103],[43, 244, 265], + [44, 0, 102], + [45, 0, 101], + [46, 0, 96], + [47, 0, 95], + [48, 0, 95], + [49, 0, 94], + [50, 0, 93], + [51, 0, 93], + [52, 0, 92], + [53, 0, 92], + [54, 0, 92] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/left_lower/point_filters_one_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/left_lower/point_filters_one_third.param.yaml new file mode 100644 index 00000000..66e55a5f --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/left_lower/point_filters_one_third.param.yaml @@ -0,0 +1,147 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 360], + [1, 0, 360], + [2, 0, 170],[2, 192, 360], + [3, 0, 160],[3, 199.5, 360], + [4, 0, 155],[4, 203, 360], + [5, 0, 152],[5, 206, 217],[5, 220, 360], + [6, 0, 146],[6, 217, 360], + [7, 0, 143],[7, 230, 360], + [8, 0, 139],[8, 228.5, 360], + [9, 0, 135],[9, 228.5, 360], + [10, 0, 133],[10, 235, 360], + [11, 0, 132],[11, 235, 360], + [12, 0, 131],[12, 235, 360], + [13, 0, 129],[13, 235, 360], + [14, 0, 127],[14, 235, 360], + [15, 0, 126],[15, 235, 360], + [16, 0, 124],[16, 235, 360], + [17, 0, 122],[17, 235, 360], + [18, 0, 121],[18, 235, 360], + [19, 0, 120],[19, 235, 360], + [20, 0, 119],[20, 235, 360], + [21, 0, 118],[21, 235, 360], + [22, 0, 117],[22, 235, 360], + [23, 0, 116],[23, 235, 360], + [24, 0, 115],[24, 235, 360], + [25, 0, 114],[25, 235, 360], + [26, 0, 113],[26, 235, 360], + [27, 0, 112],[27, 235, 360], + [28, 0, 119],[28, 239, 360], + [29, 0, 118],[29, 240, 360], + [30, 0, 110],[30, 240, 360], + [31, 0, 109],[31, 240, 267], + [32, 0, 109],[32, 244, 267], + [33, 0, 108],[33, 244, 267], + [34, 0, 108],[34, 244, 265], + [35, 0, 107],[35, 244, 265], + [36, 0, 107],[36, 244, 265], + [37, 0, 106],[37, 244, 265], + [38, 0, 106],[38, 244, 265], + [39, 0, 105],[39, 244, 265], + [40, 0, 105],[40, 244, 265], + [41, 0, 104],[41, 244, 265], + [42, 0, 104],[42, 244, 265], + [43, 0, 103],[43, 244, 265], + [44, 0, 102], + [45, 0, 101], + [46, 0, 96], + [47, 0, 95], + [48, 0, 95], + [49, 0, 94], + [50, 0, 93], + [51, 0, 93], + [52, 0, 92], + [53, 0, 92], + [54, 0, 92] + [1, 0, 360], + [2, 0, 360], + [4, 0, 360], + [5, 0, 360], + [7, 0, 360], + [8, 0, 360], + [10, 0, 360], + [11, 0, 360], + [13, 0, 360], + [14, 0, 360], + [16, 0, 360], + [17, 0, 360], + [19, 0, 360], + [20, 0, 360], + [22, 0, 360], + [23, 0, 360], + [25, 0, 360], + [26, 0, 360], + [28, 0, 360], + [29, 0, 360], + [31, 0, 360], + [32, 0, 360], + [34, 0, 360], + [35, 0, 360], + [37, 0, 360], + [38, 0, 360], + [40, 0, 360], + [41, 0, 360], + [43, 0, 360], + [44, 0, 360], + [46, 0, 360], + [47, 0, 360], + [49, 0, 360], + [50, 0, 360], + [52, 0, 360], + [53, 0, 360], + [55, 0, 360], + [56, 0, 360], + [58, 0, 360], + [59, 0, 360], + [61, 0, 360], + [62, 0, 360], + [64, 0, 360], + [65, 0, 360], + [67, 0, 360], + [68, 0, 360], + [70, 0, 360], + [71, 0, 360], + [73, 0, 360], + [74, 0, 360], + [76, 0, 360], + [77, 0, 360], + [79, 0, 360], + [80, 0, 360], + [82, 0, 360], + [83, 0, 360], + [85, 0, 360], + [86, 0, 360], + [88, 0, 360], + [89, 0, 360], + [91, 0, 360], + [92, 0, 360], + [94, 0, 360], + [95, 0, 360], + [97, 0, 360], + [98, 0, 360], + [100, 0, 360], + [101, 0, 360], + [103, 0, 360], + [104, 0, 360], + [106, 0, 360], + [107, 0, 360], + [109, 0, 360], + [110, 0, 360], + [112, 0, 360], + [113, 0, 360], + [115, 0, 360], + [116, 0, 360], + [118, 0, 360], + [119, 0, 360], + [121, 0, 360], + [122, 0, 360], + [124, 0, 360], + [125, 0, 360], + [127, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/left_lower/point_filters_two_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/left_lower/point_filters_two_third.param.yaml new file mode 100644 index 00000000..e21ce758 --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/left_lower/point_filters_two_third.param.yaml @@ -0,0 +1,105 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 360], + [1, 0, 360], + [2, 0, 170],[2, 192, 360], + [3, 0, 160],[3, 199.5, 360], + [4, 0, 155],[4, 203, 360], + [5, 0, 152],[5, 206, 217],[5, 220, 360], + [6, 0, 146],[6, 217, 360], + [7, 0, 143],[7, 230, 360], + [8, 0, 139],[8, 228.5, 360], + [9, 0, 135],[9, 228.5, 360], + [10, 0, 133],[10, 235, 360], + [11, 0, 132],[11, 235, 360], + [12, 0, 131],[12, 235, 360], + [13, 0, 129],[13, 235, 360], + [14, 0, 127],[14, 235, 360], + [15, 0, 126],[15, 235, 360], + [16, 0, 124],[16, 235, 360], + [17, 0, 122],[17, 235, 360], + [18, 0, 121],[18, 235, 360], + [19, 0, 120],[19, 235, 360], + [20, 0, 119],[20, 235, 360], + [21, 0, 118],[21, 235, 360], + [22, 0, 117],[22, 235, 360], + [23, 0, 116],[23, 235, 360], + [24, 0, 115],[24, 235, 360], + [25, 0, 114],[25, 235, 360], + [26, 0, 113],[26, 235, 360], + [27, 0, 112],[27, 235, 360], + [28, 0, 119],[28, 239, 360], + [29, 0, 118],[29, 240, 360], + [30, 0, 110],[30, 240, 360], + [31, 0, 109],[31, 240, 267], + [32, 0, 109],[32, 244, 267], + [33, 0, 108],[33, 244, 267], + [34, 0, 108],[34, 244, 265], + [35, 0, 107],[35, 244, 265], + [36, 0, 107],[36, 244, 265], + [37, 0, 106],[37, 244, 265], + [38, 0, 106],[38, 244, 265], + [39, 0, 105],[39, 244, 265], + [40, 0, 105],[40, 244, 265], + [41, 0, 104],[41, 244, 265], + [42, 0, 104],[42, 244, 265], + [43, 0, 103],[43, 244, 265], + [44, 0, 102], + [45, 0, 101], + [46, 0, 96], + [47, 0, 95], + [48, 0, 95], + [49, 0, 94], + [50, 0, 93], + [51, 0, 93], + [52, 0, 92], + [53, 0, 92], + [54, 0, 92], + [0, 0, 360], + [3, 0, 360], + [6, 0, 360], + [9, 0, 360], + [12, 0, 360], + [15, 0, 360], + [18, 0, 360], + [21, 0, 360], + [24, 0, 360], + [27, 0, 360], + [30, 0, 360], + [33, 0, 360], + [36, 0, 360], + [39, 0, 360], + [42, 0, 360], + [45, 0, 360], + [48, 0, 360], + [51, 0, 360], + [54, 0, 360], + [57, 0, 360], + [60, 0, 360], + [63, 0, 360], + [66, 0, 360], + [69, 0, 360], + [72, 0, 360], + [75, 0, 360], + [78, 0, 360], + [81, 0, 360], + [84, 0, 360], + [87, 0, 360], + [90, 0, 360], + [93, 0, 360], + [96, 0, 360], + [99, 0, 360], + [102, 0, 360], + [105, 0, 360], + [108, 0, 360], + [111, 0, 360], + [114, 0, 360], + [117, 0, 360], + [120, 0, 360], + [123, 0, 360], + [126, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/left_upper/point_filters_full.param.yaml b/aip_x2_gen2_launch/config/point_filters/left_upper/point_filters_full.param.yaml new file mode 100644 index 00000000..0303a1d4 --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/left_upper/point_filters_full.param.yaml @@ -0,0 +1,72 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [11, 322, 336],[11, 354, 360], + [15, 143.95, 147.1],[15, 318, 360], + [19, 330, 360], + [23, 330, 360], + [31, 348, 360], + [38, 350, 360], + [45, 339, 360], + [52, 339, 360], + [59, 99, 101.5],[59, 330, 360], + [60, 330, 341], + [61, 330, 341], + [62, 330, 341], + [63, 330, 341], + [64, 330, 341], + [65, 330, 341], + [66, 319, 360], + [67, 330, 342], + [68, 330, 342], + [69, 330, 342], + [70, 317, 360], + [71, 331, 341], + [72, 319, 322],[72, 331, 341], + [73, 316, 360], + [74, 318, 341], + [75, 318, 341], + [76, 318, 341], + [77, 318, 360], + [77, 318, 360], + [78, 318, 360], + [79, 315, 360], + [80, 318, 360], + [81, 318, 360], + [82, 318, 360], + [83, 318, 360], + [84, 319, 360], + [85, 319, 360], + [86, 319, 360], + [87, 320, 360], + [88, 315, 360], + [89, 322, 323], + [91, 287.55, 289.90], + [92, 287.55, 289.75],[92, 315, 360], + [96, 316, 360], + [100, 316, 360], + [104, 316, 360], + [108, 314, 360], + [109, 314.74, 60], + [110, 312.74, 360], + [111, 312.73, 360], + [112, 308.48, 360], + [113, 305.68, 360], + [114, 308.58, 360], + [115, 307, 360], + [116, 303, 360], + [117, 303, 360], + [118, 303.81, 360], + [119, 302.09, 360], + [120, 298.42, 360], + [121, 90, 91],[121, 299.63, 360], + [122, 90, 92],[122, 298.42, 360], + [123, 90, 92],[123, 298.42, 360], + [124, 90, 93],[124, 293, 360], + [125, 90, 93],[125, 293, 360], + [126, 90, 93],[126, 292.12, 360], + [127, 90, 93],[127, 289.71, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/left_upper/point_filters_one_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/left_upper/point_filters_one_third.param.yaml new file mode 100644 index 00000000..d6117158 --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/left_upper/point_filters_one_third.param.yaml @@ -0,0 +1,157 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [11, 322, 336],[11, 354, 360], + [15, 143.95, 147.1],[15, 318, 360], + [19, 330, 360], + [23, 330, 360], + [31, 348, 360], + [38, 350, 360], + [45, 339, 360], + [52, 339, 360], + [59, 99, 101.5],[59, 330, 360], + [60, 330, 341], + [61, 330, 341], + [62, 330, 341], + [63, 330, 341], + [64, 330, 341], + [65, 330, 341], + [66, 319, 360], + [67, 330, 342], + [68, 330, 342], + [69, 330, 342], + [70, 317, 360], + [71, 331, 341], + [72, 319, 322],[72, 331, 341], + [73, 316, 360], + [74, 318, 341], + [75, 318, 341], + [76, 318, 341], + [77, 318, 360], + [77, 318, 360], + [78, 318, 360], + [79, 315, 360], + [80, 318, 360], + [81, 318, 360], + [82, 318, 360], + [83, 318, 360], + [84, 319, 360], + [85, 319, 360], + [86, 319, 360], + [87, 320, 360], + [88, 315, 360], + [89, 322, 323], + [91, 287.55, 289.90], + [92, 287.55, 289.75],[92, 315, 360], + [96, 316, 360], + [100, 316, 360], + [104, 316, 360], + [108, 314, 360], + [109, 314.74, 60], + [110, 312.74, 360], + [111, 312.73, 360], + [112, 308.48, 360], + [113, 305.68, 360], + [114, 308.58, 360], + [115, 307, 360], + [116, 303, 360], + [117, 303, 360], + [118, 303.81, 360], + [119, 302.09, 360], + [120, 298.42, 360], + [121, 90, 91],[121, 299.63, 360], + [122, 90, 92],[122, 298.42, 360], + [123, 90, 92],[123, 298.42, 360], + [124, 90, 93],[124, 293, 360], + [125, 90, 93],[125, 293, 360], + [126, 90, 93],[126, 292.12, 360], + [127, 90, 93],[127, 289.71, 360], + [1, 0, 360], + [2, 0, 360], + [4, 0, 360], + [5, 0, 360], + [7, 0, 360], + [8, 0, 360], + [10, 0, 360], + [11, 0, 360], + [13, 0, 360], + [14, 0, 360], + [16, 0, 360], + [17, 0, 360], + [19, 0, 360], + [20, 0, 360], + [22, 0, 360], + [23, 0, 360], + [25, 0, 360], + [26, 0, 360], + [28, 0, 360], + [29, 0, 360], + [31, 0, 360], + [32, 0, 360], + [34, 0, 360], + [35, 0, 360], + [37, 0, 360], + [38, 0, 360], + [40, 0, 360], + [41, 0, 360], + [43, 0, 360], + [44, 0, 360], + [46, 0, 360], + [47, 0, 360], + [49, 0, 360], + [50, 0, 360], + [52, 0, 360], + [53, 0, 360], + [55, 0, 360], + [56, 0, 360], + [58, 0, 360], + [59, 0, 360], + [61, 0, 360], + [62, 0, 360], + [64, 0, 360], + [65, 0, 360], + [67, 0, 360], + [68, 0, 360], + [70, 0, 360], + [71, 0, 360], + [73, 0, 360], + [74, 0, 360], + [76, 0, 360], + [77, 0, 360], + [79, 0, 360], + [80, 0, 360], + [82, 0, 360], + [83, 0, 360], + [85, 0, 360], + [86, 0, 360], + [88, 0, 360], + [89, 0, 360], + [91, 0, 360], + [92, 0, 360], + [94, 0, 360], + [95, 0, 360], + [97, 0, 360], + [98, 0, 360], + [100, 0, 360], + [101, 0, 360], + [103, 0, 360], + [104, 0, 360], + [106, 0, 360], + [107, 0, 360], + [109, 0, 360], + [110, 0, 360], + [112, 0, 360], + [113, 0, 360], + [115, 0, 360], + [116, 0, 360], + [118, 0, 360], + [119, 0, 360], + [121, 0, 360], + [122, 0, 360], + [124, 0, 360], + [125, 0, 360], + [127, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/left_upper/point_filters_two_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/left_upper/point_filters_two_third.param.yaml new file mode 100644 index 00000000..2022217a --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/left_upper/point_filters_two_third.param.yaml @@ -0,0 +1,115 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [11, 322, 336],[11, 354, 360], + [15, 143.95, 147.1],[15, 318, 360], + [19, 330, 360], + [23, 330, 360], + [31, 348, 360], + [38, 350, 360], + [45, 339, 360], + [52, 339, 360], + [59, 99, 101.5],[59, 330, 360], + [60, 330, 341], + [61, 330, 341], + [62, 330, 341], + [63, 330, 341], + [64, 330, 341], + [65, 330, 341], + [66, 319, 360], + [67, 330, 342], + [68, 330, 342], + [69, 330, 342], + [70, 317, 360], + [71, 331, 341], + [72, 319, 322],[72, 331, 341], + [73, 316, 360], + [74, 318, 341], + [75, 318, 341], + [76, 318, 341], + [77, 318, 360], + [77, 318, 360], + [78, 318, 360], + [79, 315, 360], + [80, 318, 360], + [81, 318, 360], + [82, 318, 360], + [83, 318, 360], + [84, 319, 360], + [85, 319, 360], + [86, 319, 360], + [87, 320, 360], + [88, 315, 360], + [89, 322, 323], + [91, 287.55, 289.90], + [92, 287.55, 289.75],[92, 315, 360], + [96, 316, 360], + [100, 316, 360], + [104, 316, 360], + [108, 314, 360], + [109, 314.74, 60], + [110, 312.74, 360], + [111, 312.73, 360], + [112, 308.48, 360], + [113, 305.68, 360], + [114, 308.58, 360], + [115, 307, 360], + [116, 303, 360], + [117, 303, 360], + [118, 303.81, 360], + [119, 302.09, 360], + [120, 298.42, 360], + [121, 90, 91],[121, 299.63, 360], + [122, 90, 92],[122, 298.42, 360], + [123, 90, 92],[123, 298.42, 360], + [124, 90, 93],[124, 293, 360], + [125, 90, 93],[125, 293, 360], + [126, 90, 93],[126, 292.12, 360], + [127, 90, 93],[127, 289.71, 360], + [0, 0, 360], + [3, 0, 360], + [6, 0, 360], + [9, 0, 360], + [12, 0, 360], + [15, 0, 360], + [18, 0, 360], + [21, 0, 360], + [24, 0, 360], + [27, 0, 360], + [30, 0, 360], + [33, 0, 360], + [36, 0, 360], + [39, 0, 360], + [42, 0, 360], + [45, 0, 360], + [48, 0, 360], + [51, 0, 360], + [54, 0, 360], + [57, 0, 360], + [60, 0, 360], + [63, 0, 360], + [66, 0, 360], + [69, 0, 360], + [72, 0, 360], + [75, 0, 360], + [78, 0, 360], + [81, 0, 360], + [84, 0, 360], + [87, 0, 360], + [90, 0, 360], + [93, 0, 360], + [96, 0, 360], + [99, 0, 360], + [102, 0, 360], + [105, 0, 360], + [108, 0, 360], + [111, 0, 360], + [114, 0, 360], + [117, 0, 360], + [120, 0, 360], + [123, 0, 360], + [126, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/rear_lower/point_filters_full.param.yaml b/aip_x2_gen2_launch/config/point_filters/rear_lower/point_filters_full.param.yaml new file mode 100644 index 00000000..ee183856 --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/rear_lower/point_filters_full.param.yaml @@ -0,0 +1,55 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 60, 148], [0, 212,360], + [1, 60, 144], [1, 216,360], + [2, 60, 142], [2, 218,360], + [3, 60, 140], [3, 220,360], + [4, 60, 138], [4, 222,360], + [5, 60, 138], [5, 222,360], + [6, 60, 134], [6, 226,360], + [7, 60, 134], [7, 226,360], + [8, 60, 132], [8, 228,360], + [9, 60, 132], [9, 228,360], + [10, 60, 130], [10, 230,360], + [11, 60, 120], [11, 240,360], + [12, 60, 118], [12, 242,360], + [13, 60, 118], [13, 242,360], + [14, 60, 118], [14, 242,360], + [15, 60, 118], [15, 242,360], + [16, 60, 118], [16, 242,360], + [17, 60, 118], [17, 242,360], + [18, 60, 116], [18, 244,360], + [19, 60, 116], [19, 244,360], + [20, 60, 112], [20, 248,360], + [21, 60, 112], [21, 248,360], + [22, 60, 110], [22, 250,360], + [23, 60, 110], [23, 250,360], + [24, 60, 110], [24, 250,360], + [25, 60, 110], [25, 250,360], + [26, 60, 110], [26, 250,360], + [27, 60, 106], [27, 254,360], + [28, 60, 106], [28, 254,360], + [29, 60, 106], [29, 254,360], + [30, 60, 104], [30, 256,360], + [31, 60, 104], [31, 256,360], + [32, 60, 104], [32, 256,360], + [33, 60, 104], [33, 256,360], + [34, 60, 104], [34, 256,360], + [35, 60, 100], [35, 260,360], + [36, 60, 100], [36, 260,360], + [37, 60, 100], [37, 260,360], + [38, 60, 100], [38, 260,360], + [39, 60, 96], [39, 264,360], + [40, 60, 96], [40, 264,360], + [41, 60, 96], [41, 264,360], + [42, 60, 96], [42, 264,360], + [43, 60, 96], [43, 264,360], + [44, 60, 94], [44, 266,360], + [45, 60, 94], [45, 266,360], + [46, 60, 94], [46, 266,360], + [47, 60, 94], [47, 266,360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/rear_lower/point_filters_one_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/rear_lower/point_filters_one_third.param.yaml new file mode 100644 index 00000000..d4fe2b58 --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/rear_lower/point_filters_one_third.param.yaml @@ -0,0 +1,140 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 60, 148], [0, 212,360], + [1, 60, 144], [1, 216,360], + [2, 60, 142], [2, 218,360], + [3, 60, 140], [3, 220,360], + [4, 60, 138], [4, 222,360], + [5, 60, 138], [5, 222,360], + [6, 60, 134], [6, 226,360], + [7, 60, 134], [7, 226,360], + [8, 60, 132], [8, 228,360], + [9, 60, 132], [9, 228,360], + [10, 60, 130], [10, 230,360], + [11, 60, 120], [11, 240,360], + [12, 60, 118], [12, 242,360], + [13, 60, 118], [13, 242,360], + [14, 60, 118], [14, 242,360], + [15, 60, 118], [15, 242,360], + [16, 60, 118], [16, 242,360], + [17, 60, 118], [17, 242,360], + [18, 60, 116], [18, 244,360], + [19, 60, 116], [19, 244,360], + [20, 60, 112], [20, 248,360], + [21, 60, 112], [21, 248,360], + [22, 60, 110], [22, 250,360], + [23, 60, 110], [23, 250,360], + [24, 60, 110], [24, 250,360], + [25, 60, 110], [25, 250,360], + [26, 60, 110], [26, 250,360], + [27, 60, 106], [27, 254,360], + [28, 60, 106], [28, 254,360], + [29, 60, 106], [29, 254,360], + [30, 60, 104], [30, 256,360], + [31, 60, 104], [31, 256,360], + [32, 60, 104], [32, 256,360], + [33, 60, 104], [33, 256,360], + [34, 60, 104], [34, 256,360], + [35, 60, 100], [35, 260,360], + [36, 60, 100], [36, 260,360], + [37, 60, 100], [37, 260,360], + [38, 60, 100], [38, 260,360], + [39, 60, 96], [39, 264,360], + [40, 60, 96], [40, 264,360], + [41, 60, 96], [41, 264,360], + [42, 60, 96], [42, 264,360], + [43, 60, 96], [43, 264,360], + [44, 60, 94], [44, 266,360], + [45, 60, 94], [45, 266,360], + [46, 60, 94], [46, 266,360], + [47, 60, 94], [47, 266,360], + [1, 0, 360], + [2, 0, 360], + [4, 0, 360], + [5, 0, 360], + [7, 0, 360], + [8, 0, 360], + [10, 0, 360], + [11, 0, 360], + [13, 0, 360], + [14, 0, 360], + [16, 0, 360], + [17, 0, 360], + [19, 0, 360], + [20, 0, 360], + [22, 0, 360], + [23, 0, 360], + [25, 0, 360], + [26, 0, 360], + [28, 0, 360], + [29, 0, 360], + [31, 0, 360], + [32, 0, 360], + [34, 0, 360], + [35, 0, 360], + [37, 0, 360], + [38, 0, 360], + [40, 0, 360], + [41, 0, 360], + [43, 0, 360], + [44, 0, 360], + [46, 0, 360], + [47, 0, 360], + [49, 0, 360], + [50, 0, 360], + [52, 0, 360], + [53, 0, 360], + [55, 0, 360], + [56, 0, 360], + [58, 0, 360], + [59, 0, 360], + [61, 0, 360], + [62, 0, 360], + [64, 0, 360], + [65, 0, 360], + [67, 0, 360], + [68, 0, 360], + [70, 0, 360], + [71, 0, 360], + [73, 0, 360], + [74, 0, 360], + [76, 0, 360], + [77, 0, 360], + [79, 0, 360], + [80, 0, 360], + [82, 0, 360], + [83, 0, 360], + [85, 0, 360], + [86, 0, 360], + [88, 0, 360], + [89, 0, 360], + [91, 0, 360], + [92, 0, 360], + [94, 0, 360], + [95, 0, 360], + [97, 0, 360], + [98, 0, 360], + [100, 0, 360], + [101, 0, 360], + [103, 0, 360], + [104, 0, 360], + [106, 0, 360], + [107, 0, 360], + [109, 0, 360], + [110, 0, 360], + [112, 0, 360], + [113, 0, 360], + [115, 0, 360], + [116, 0, 360], + [118, 0, 360], + [119, 0, 360], + [121, 0, 360], + [122, 0, 360], + [124, 0, 360], + [125, 0, 360], + [127, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/rear_lower/point_filters_two_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/rear_lower/point_filters_two_third.param.yaml new file mode 100644 index 00000000..b77ffde6 --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/rear_lower/point_filters_two_third.param.yaml @@ -0,0 +1,98 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 60, 148], [0, 212,360], + [1, 60, 144], [1, 216,360], + [2, 60, 142], [2, 218,360], + [3, 60, 140], [3, 220,360], + [4, 60, 138], [4, 222,360], + [5, 60, 138], [5, 222,360], + [6, 60, 134], [6, 226,360], + [7, 60, 134], [7, 226,360], + [8, 60, 132], [8, 228,360], + [9, 60, 132], [9, 228,360], + [10, 60, 130], [10, 230,360], + [11, 60, 120], [11, 240,360], + [12, 60, 118], [12, 242,360], + [13, 60, 118], [13, 242,360], + [14, 60, 118], [14, 242,360], + [15, 60, 118], [15, 242,360], + [16, 60, 118], [16, 242,360], + [17, 60, 118], [17, 242,360], + [18, 60, 116], [18, 244,360], + [19, 60, 116], [19, 244,360], + [20, 60, 112], [20, 248,360], + [21, 60, 112], [21, 248,360], + [22, 60, 110], [22, 250,360], + [23, 60, 110], [23, 250,360], + [24, 60, 110], [24, 250,360], + [25, 60, 110], [25, 250,360], + [26, 60, 110], [26, 250,360], + [27, 60, 106], [27, 254,360], + [28, 60, 106], [28, 254,360], + [29, 60, 106], [29, 254,360], + [30, 60, 104], [30, 256,360], + [31, 60, 104], [31, 256,360], + [32, 60, 104], [32, 256,360], + [33, 60, 104], [33, 256,360], + [34, 60, 104], [34, 256,360], + [35, 60, 100], [35, 260,360], + [36, 60, 100], [36, 260,360], + [37, 60, 100], [37, 260,360], + [38, 60, 100], [38, 260,360], + [39, 60, 96], [39, 264,360], + [40, 60, 96], [40, 264,360], + [41, 60, 96], [41, 264,360], + [42, 60, 96], [42, 264,360], + [43, 60, 96], [43, 264,360], + [44, 60, 94], [44, 266,360], + [45, 60, 94], [45, 266,360], + [46, 60, 94], [46, 266,360], + [47, 60, 94], [47, 266,360], + [0, 0, 360], + [3, 0, 360], + [6, 0, 360], + [9, 0, 360], + [12, 0, 360], + [15, 0, 360], + [18, 0, 360], + [21, 0, 360], + [24, 0, 360], + [27, 0, 360], + [30, 0, 360], + [33, 0, 360], + [36, 0, 360], + [39, 0, 360], + [42, 0, 360], + [45, 0, 360], + [48, 0, 360], + [51, 0, 360], + [54, 0, 360], + [57, 0, 360], + [60, 0, 360], + [63, 0, 360], + [66, 0, 360], + [69, 0, 360], + [72, 0, 360], + [75, 0, 360], + [78, 0, 360], + [81, 0, 360], + [84, 0, 360], + [87, 0, 360], + [90, 0, 360], + [93, 0, 360], + [96, 0, 360], + [99, 0, 360], + [102, 0, 360], + [105, 0, 360], + [108, 0, 360], + [111, 0, 360], + [114, 0, 360], + [117, 0, 360], + [120, 0, 360], + [123, 0, 360], + [126, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/rear_upper/point_filters_full.param.yaml b/aip_x2_gen2_launch/config/point_filters/rear_upper/point_filters_full.param.yaml new file mode 100644 index 00000000..abbbc01c --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/rear_upper/point_filters_full.param.yaml @@ -0,0 +1,125 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 95],[0, 270, 360], + [1, 0, 95],[1, 270, 360], + [2, 0, 95],[2, 270, 360], + [3, 0, 95],[3, 270, 360], + [4, 0, 98],[4, 270, 360], + [5, 0, 98],[5, 270, 360], + [6, 0, 98],[6, 270, 360], + [7, 0, 98],[7, 270, 360], + [8, 0, 98],[8, 270, 360], + [9, 0, 99],[9, 270, 360], + [10, 0, 99],[10, 270, 360], + [11, 0, 99],[11, 270, 360], + [12, 0, 99],[12, 270, 360], + [13, 0, 104],[13, 270, 360], + [14, 0, 104],[14, 265, 360], + [15, 0, 104],[15, 265, 360], + [16, 0, 104],[16, 265, 360], + [17, 0, 104],[17, 263, 360], + [18, 0, 103],[18, 263, 360], + [19, 0, 103],[19, 263, 360], + [20, 0, 103],[20, 263, 360], + [21, 0, 103],[21, 263, 360], + [22, 0, 102],[22, 264, 360], + [23, 0, 102],[23, 264, 360], + [24, 0, 102],[24, 264, 360], + [25, 0, 102], + [29, 0, 106], + [30, 0, 106],[30,264, 360], + [31, 0, 106],[31,264, 360], + [32, 0, 106],[32,264, 360], + [33, 0, 106], + [34, 0, 90], + [35, 0, 90], + [36, 0, 102], + [37, 0, 102], + [38, 0, 102], + [39, 0, 102], + [40, 0, 102], + [41, 0, 90], + [42, 0, 90], + [43, 0, 101], + [44, 0, 101],[44, 262, 360], + [45, 0, 101],[45, 262, 360], + [46, 0, 101],[46, 262, 360], + [47, 0, 101],[47, 262, 360], + [50, 0, 106],[50, 268, 360], + [51, 0, 106],[51, 268, 360], + [52, 0, 106],[52, 268, 360], + [53, 0, 106],[53, 268, 360], + [54, 0, 106],[54, 268, 360], + [57, 0, 106],[57, 269, 360], + [58, 0, 106],[58, 269, 360], + [59, 0, 106],[59, 269, 360], + [60, 0, 106],[60, 269, 360], + [61, 0, 106],[61, 269, 360], + [62, 0, 100], + [63, 0, 100], + [64, 0, 100], + [65, 0, 100],[65, 259.5, 360], + [66, 0, 100],[66, 259.5, 360], + [67, 0, 100],[67, 259.5, 360], + [68, 0, 100], + [72, 265, 360], + [73, 265, 360], + [74, 265, 360], + [75, 265, 360], + [76, 265, 360], + [77, 265, 360], + [78, 0, 98],[78, 262, 360], + [79, 0, 98],[79, 262, 360], + [80, 0, 98],[80, 262, 360], + [81, 0, 98],[81, 262, 360], + [82, 0, 98],[82, 262, 360], + [83, 0, 98],[83, 262, 360], + [84, 0, 98],[84, 262, 360], + [85, 0, 98],[85, 262, 360], + [86, 0, 98],[86, 262, 360], + [87, 0, 100],[87, 262, 360], + [88, 0, 100],[88, 262, 360], + [89, 0, 100],[89, 262, 360], + [90, 0, 103], [90, 262, 360], + [91, 0, 103], [91, 266, 360], + [92, 0, 103], [92, 266, 360], + [93, 0, 103], [93, 266, 360], + [94, 0, 106], [94, 266, 360], + [95, 0, 106],[95, 266, 360], + [96, 0, 106],[96, 266, 360], + [97, 0, 106],[97, 266, 360], + [98, 0, 108],[98, 268, 360], + [99, 0, 108],[99, 268, 360], + [100, 0, 108],[100, 268, 360], + [101, 0, 108],[101, 268, 360], + [102, 0, 108],[102, 268, 360], + [103, 0, 108],[103, 268, 360], + [104, 0, 108],[104, 268, 360], + [105, 0, 108],[105, 268, 360], + [106, 0, 108],[106, 266, 360], + [107, 0, 106],[107, 266, 360], + [108, 0, 106],[108, 266, 360], + [109, 0, 106],[109, 266, 360], + [110, 0, 106],[110, 266, 360], + [111, 0, 106],[111, 266, 360], + [112, 0, 106],[112, 266, 360], + [113, 0, 106],[113, 266, 360], + [114, 0, 106],[114, 266, 360], + [115, 0, 106],[115, 266, 360], + [116, 0, 106],[116, 266, 360], + [117, 0, 107],[117, 266, 360], + [118, 0, 107],[118, 264, 360], + [119, 0, 107],[119, 264, 360], + [120, 0, 107],[120, 260, 360], + [121, 0, 107],[121, 260, 360], + [122, 0, 107],[122, 260, 360], + [123, 0, 110], [123, 260, 360], + [124, 0, 110], [124, 258, 360], + [125, 0, 110], [125, 258, 360], + [126, 0, 110], [126, 258, 360], + [127, 0, 110], [127, 258, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/rear_upper/point_filters_one_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/rear_upper/point_filters_one_third.param.yaml new file mode 100644 index 00000000..331627ca --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/rear_upper/point_filters_one_third.param.yaml @@ -0,0 +1,210 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 95],[0, 270, 360], + [1, 0, 95],[1, 270, 360], + [2, 0, 95],[2, 270, 360], + [3, 0, 95],[3, 270, 360], + [4, 0, 98],[4, 270, 360], + [5, 0, 98],[5, 270, 360], + [6, 0, 98],[6, 270, 360], + [7, 0, 98],[7, 270, 360], + [8, 0, 98],[8, 270, 360], + [9, 0, 99],[9, 270, 360], + [10, 0, 99],[10, 270, 360], + [11, 0, 99],[11, 270, 360], + [12, 0, 99],[12, 270, 360], + [13, 0, 104],[13, 270, 360], + [14, 0, 104],[14, 265, 360], + [15, 0, 104],[15, 265, 360], + [16, 0, 104],[16, 265, 360], + [17, 0, 104],[17, 263, 360], + [18, 0, 103],[18, 263, 360], + [19, 0, 103],[19, 263, 360], + [20, 0, 103],[20, 263, 360], + [21, 0, 103],[21, 263, 360], + [22, 0, 102],[22, 264, 360], + [23, 0, 102],[23, 264, 360], + [24, 0, 102],[24, 264, 360], + [25, 0, 102], + [29, 0, 106], + [30, 0, 106],[30,264, 360], + [31, 0, 106],[31,264, 360], + [32, 0, 106],[32,264, 360], + [33, 0, 106], + [34, 0, 90], + [35, 0, 90], + [36, 0, 102], + [37, 0, 102], + [38, 0, 102], + [39, 0, 102], + [40, 0, 102], + [41, 0, 90], + [42, 0, 90], + [43, 0, 101], + [44, 0, 101],[44, 262, 360], + [45, 0, 101],[45, 262, 360], + [46, 0, 101],[46, 262, 360], + [47, 0, 101],[47, 262, 360], + [50, 0, 106],[50, 268, 360], + [51, 0, 106],[51, 268, 360], + [52, 0, 106],[52, 268, 360], + [53, 0, 106],[53, 268, 360], + [54, 0, 106],[54, 268, 360], + [57, 0, 106],[57, 269, 360], + [58, 0, 106],[58, 269, 360], + [59, 0, 106],[59, 269, 360], + [60, 0, 106],[60, 269, 360], + [61, 0, 106],[61, 269, 360], + [62, 0, 100], + [63, 0, 100], + [64, 0, 100], + [65, 0, 100],[65, 259.5, 360], + [66, 0, 100],[66, 259.5, 360], + [67, 0, 100],[67, 259.5, 360], + [68, 0, 100], + [72, 265, 360], + [73, 265, 360], + [74, 265, 360], + [75, 265, 360], + [76, 265, 360], + [77, 265, 360], + [78, 0, 98],[78, 262, 360], + [79, 0, 98],[79, 262, 360], + [80, 0, 98],[80, 262, 360], + [81, 0, 98],[81, 262, 360], + [82, 0, 98],[82, 262, 360], + [83, 0, 98],[83, 262, 360], + [84, 0, 98],[84, 262, 360], + [85, 0, 98],[85, 262, 360], + [86, 0, 98],[86, 262, 360], + [87, 0, 100],[87, 262, 360], + [88, 0, 100],[88, 262, 360], + [89, 0, 100],[89, 262, 360], + [90, 0, 103], [90, 262, 360], + [91, 0, 103], [91, 266, 360], + [92, 0, 103], [92, 266, 360], + [93, 0, 103], [93, 266, 360], + [94, 0, 106], [94, 266, 360], + [95, 0, 106],[95, 266, 360], + [96, 0, 106],[96, 266, 360], + [97, 0, 106],[97, 266, 360], + [98, 0, 108],[98, 268, 360], + [99, 0, 108],[99, 268, 360], + [100, 0, 108],[100, 268, 360], + [101, 0, 108],[101, 268, 360], + [102, 0, 108],[102, 268, 360], + [103, 0, 108],[103, 268, 360], + [104, 0, 108],[104, 268, 360], + [105, 0, 108],[105, 268, 360], + [106, 0, 108],[106, 266, 360], + [107, 0, 106],[107, 266, 360], + [108, 0, 106],[108, 266, 360], + [109, 0, 106],[109, 266, 360], + [110, 0, 106],[110, 266, 360], + [111, 0, 106],[111, 266, 360], + [112, 0, 106],[112, 266, 360], + [113, 0, 106],[113, 266, 360], + [114, 0, 106],[114, 266, 360], + [115, 0, 106],[115, 266, 360], + [116, 0, 106],[116, 266, 360], + [117, 0, 107],[117, 266, 360], + [118, 0, 107],[118, 264, 360], + [119, 0, 107],[119, 264, 360], + [120, 0, 107],[120, 260, 360], + [121, 0, 107],[121, 260, 360], + [122, 0, 107],[122, 260, 360], + [123, 0, 110], [123, 260, 360], + [124, 0, 110], [124, 258, 360], + [125, 0, 110], [125, 258, 360], + [126, 0, 110], [126, 258, 360], + [127, 0, 110], [127, 258, 360], + [1, 0, 360], + [2, 0, 360], + [4, 0, 360], + [5, 0, 360], + [7, 0, 360], + [8, 0, 360], + [10, 0, 360], + [11, 0, 360], + [13, 0, 360], + [14, 0, 360], + [16, 0, 360], + [17, 0, 360], + [19, 0, 360], + [20, 0, 360], + [22, 0, 360], + [23, 0, 360], + [25, 0, 360], + [26, 0, 360], + [28, 0, 360], + [29, 0, 360], + [31, 0, 360], + [32, 0, 360], + [34, 0, 360], + [35, 0, 360], + [37, 0, 360], + [38, 0, 360], + [40, 0, 360], + [41, 0, 360], + [43, 0, 360], + [44, 0, 360], + [46, 0, 360], + [47, 0, 360], + [49, 0, 360], + [50, 0, 360], + [52, 0, 360], + [53, 0, 360], + [55, 0, 360], + [56, 0, 360], + [58, 0, 360], + [59, 0, 360], + [61, 0, 360], + [62, 0, 360], + [64, 0, 360], + [65, 0, 360], + [67, 0, 360], + [68, 0, 360], + [70, 0, 360], + [71, 0, 360], + [73, 0, 360], + [74, 0, 360], + [76, 0, 360], + [77, 0, 360], + [79, 0, 360], + [80, 0, 360], + [82, 0, 360], + [83, 0, 360], + [85, 0, 360], + [86, 0, 360], + [88, 0, 360], + [89, 0, 360], + [91, 0, 360], + [92, 0, 360], + [94, 0, 360], + [95, 0, 360], + [97, 0, 360], + [98, 0, 360], + [100, 0, 360], + [101, 0, 360], + [103, 0, 360], + [104, 0, 360], + [106, 0, 360], + [107, 0, 360], + [109, 0, 360], + [110, 0, 360], + [112, 0, 360], + [113, 0, 360], + [115, 0, 360], + [116, 0, 360], + [118, 0, 360], + [119, 0, 360], + [121, 0, 360], + [122, 0, 360], + [124, 0, 360], + [125, 0, 360], + [127, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/rear_upper/point_filters_two_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/rear_upper/point_filters_two_third.param.yaml new file mode 100644 index 00000000..a31c771c --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/rear_upper/point_filters_two_third.param.yaml @@ -0,0 +1,168 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 95],[0, 270, 360], + [1, 0, 95],[1, 270, 360], + [2, 0, 95],[2, 270, 360], + [3, 0, 95],[3, 270, 360], + [4, 0, 98],[4, 270, 360], + [5, 0, 98],[5, 270, 360], + [6, 0, 98],[6, 270, 360], + [7, 0, 98],[7, 270, 360], + [8, 0, 98],[8, 270, 360], + [9, 0, 99],[9, 270, 360], + [10, 0, 99],[10, 270, 360], + [11, 0, 99],[11, 270, 360], + [12, 0, 99],[12, 270, 360], + [13, 0, 104],[13, 270, 360], + [14, 0, 104],[14, 265, 360], + [15, 0, 104],[15, 265, 360], + [16, 0, 104],[16, 265, 360], + [17, 0, 104],[17, 263, 360], + [18, 0, 103],[18, 263, 360], + [19, 0, 103],[19, 263, 360], + [20, 0, 103],[20, 263, 360], + [21, 0, 103],[21, 263, 360], + [22, 0, 102],[22, 264, 360], + [23, 0, 102],[23, 264, 360], + [24, 0, 102],[24, 264, 360], + [25, 0, 102], + [29, 0, 106], + [30, 0, 106],[30,264, 360], + [31, 0, 106],[31,264, 360], + [32, 0, 106],[32,264, 360], + [33, 0, 106], + [34, 0, 90], + [35, 0, 90], + [36, 0, 102], + [37, 0, 102], + [38, 0, 102], + [39, 0, 102], + [40, 0, 102], + [41, 0, 90], + [42, 0, 90], + [43, 0, 101], + [44, 0, 101],[44, 262, 360], + [45, 0, 101],[45, 262, 360], + [46, 0, 101],[46, 262, 360], + [47, 0, 101],[47, 262, 360], + [50, 0, 106],[50, 268, 360], + [51, 0, 106],[51, 268, 360], + [52, 0, 106],[52, 268, 360], + [53, 0, 106],[53, 268, 360], + [54, 0, 106],[54, 268, 360], + [57, 0, 106],[57, 269, 360], + [58, 0, 106],[58, 269, 360], + [59, 0, 106],[59, 269, 360], + [60, 0, 106],[60, 269, 360], + [61, 0, 106],[61, 269, 360], + [62, 0, 100], + [63, 0, 100], + [64, 0, 100], + [65, 0, 100],[65, 259.5, 360], + [66, 0, 100],[66, 259.5, 360], + [67, 0, 100],[67, 259.5, 360], + [68, 0, 100], + [72, 265, 360], + [73, 265, 360], + [74, 265, 360], + [75, 265, 360], + [76, 265, 360], + [77, 265, 360], + [78, 0, 98],[78, 262, 360], + [79, 0, 98],[79, 262, 360], + [80, 0, 98],[80, 262, 360], + [81, 0, 98],[81, 262, 360], + [82, 0, 98],[82, 262, 360], + [83, 0, 98],[83, 262, 360], + [84, 0, 98],[84, 262, 360], + [85, 0, 98],[85, 262, 360], + [86, 0, 98],[86, 262, 360], + [87, 0, 100],[87, 262, 360], + [88, 0, 100],[88, 262, 360], + [89, 0, 100],[89, 262, 360], + [90, 0, 103], [90, 262, 360], + [91, 0, 103], [91, 266, 360], + [92, 0, 103], [92, 266, 360], + [93, 0, 103], [93, 266, 360], + [94, 0, 106], [94, 266, 360], + [95, 0, 106],[95, 266, 360], + [96, 0, 106],[96, 266, 360], + [97, 0, 106],[97, 266, 360], + [98, 0, 108],[98, 268, 360], + [99, 0, 108],[99, 268, 360], + [100, 0, 108],[100, 268, 360], + [101, 0, 108],[101, 268, 360], + [102, 0, 108],[102, 268, 360], + [103, 0, 108],[103, 268, 360], + [104, 0, 108],[104, 268, 360], + [105, 0, 108],[105, 268, 360], + [106, 0, 108],[106, 266, 360], + [107, 0, 106],[107, 266, 360], + [108, 0, 106],[108, 266, 360], + [109, 0, 106],[109, 266, 360], + [110, 0, 106],[110, 266, 360], + [111, 0, 106],[111, 266, 360], + [112, 0, 106],[112, 266, 360], + [113, 0, 106],[113, 266, 360], + [114, 0, 106],[114, 266, 360], + [115, 0, 106],[115, 266, 360], + [116, 0, 106],[116, 266, 360], + [117, 0, 107],[117, 266, 360], + [118, 0, 107],[118, 264, 360], + [119, 0, 107],[119, 264, 360], + [120, 0, 107],[120, 260, 360], + [121, 0, 107],[121, 260, 360], + [122, 0, 107],[122, 260, 360], + [123, 0, 110], [123, 260, 360], + [124, 0, 110], [124, 258, 360], + [125, 0, 110], [125, 258, 360], + [126, 0, 110], [126, 258, 360], + [127, 0, 110], [127, 258, 360], + [0, 0, 360], + [3, 0, 360], + [6, 0, 360], + [9, 0, 360], + [12, 0, 360], + [15, 0, 360], + [18, 0, 360], + [21, 0, 360], + [24, 0, 360], + [27, 0, 360], + [30, 0, 360], + [33, 0, 360], + [36, 0, 360], + [39, 0, 360], + [42, 0, 360], + [45, 0, 360], + [48, 0, 360], + [51, 0, 360], + [54, 0, 360], + [57, 0, 360], + [60, 0, 360], + [63, 0, 360], + [66, 0, 360], + [69, 0, 360], + [72, 0, 360], + [75, 0, 360], + [78, 0, 360], + [81, 0, 360], + [84, 0, 360], + [87, 0, 360], + [90, 0, 360], + [93, 0, 360], + [96, 0, 360], + [99, 0, 360], + [102, 0, 360], + [105, 0, 360], + [108, 0, 360], + [111, 0, 360], + [114, 0, 360], + [117, 0, 360], + [120, 0, 360], + [123, 0, 360], + [126, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/right_lower/point_filters_full.param.yaml b/aip_x2_gen2_launch/config/point_filters/right_lower/point_filters_full.param.yaml new file mode 100644 index 00000000..ec2a65e9 --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/right_lower/point_filters_full.param.yaml @@ -0,0 +1,60 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 360], + [1, 0, 360], + [2, 0, 360], + [3, 0, 165],[3, 190, 360], + [4, 0, 158],[4, 203, 360], + [5, 0, 157],[5, 205, 360], + [6, 0, 156],[6, 211, 360], + [7, 0, 154],[7, 214, 360], + [8, 0, 152],[8, 217, 360], + [9, 0, 152],[9, 220, 360], + [10, 0, 151],[10, 221, 360], + [11, 0, 151],[11, 226, 360], + [12, 0, 151],[12, 229, 360], + [13, 0, 151],[13, 231, 360], + [14, 0, 150],[14, 232, 360], + [15, 0, 150],[15, 233, 360], + [16, 0, 150],[16, 234, 360], + [17, 0, 147],[17, 235, 360], + [18, 0, 148],[18, 235, 360], + [19, 0, 146],[19, 236, 360], + [20, 97, 143],[20, 240, 360], + [21, 102, 125],[21, 241, 360], + [22, 105, 125],[22, 241, 360], + [23, 105, 125],[23, 244, 360], + [24, 105, 125],[24, 245, 360], + [25, 106, 124],[25, 246, 360], + [26, 107, 123],[26, 247, 360], + [27, 108, 122],[27, 248, 360], + [28, 109, 120],[28, 248, 360], + [29, 110, 118],[29, 250, 360], + [30, 111, 117],[30, 250, 360], + [31, 112.5, 116],[31, 251, 360], + [32, 251, 360], + [33, 252, 360], + [34, 252, 360], + [35, 253, 360], + [36, 253, 360], + [37, 254, 360], + [38, 254, 360], + [39, 255, 360], + [40, 255, 360], + [41, 256, 360], + [42, 256, 360], + [43, 257, 360], + [44, 258, 360], + [45, 259, 360], + [46, 264, 360], + [47, 265, 360], + [48, 265, 360], + [49, 266, 360], + [50, 267, 360], + [51, 267, 360], + [52, 268, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/right_lower/point_filters_one_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/right_lower/point_filters_one_third.param.yaml new file mode 100644 index 00000000..6e755be6 --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/right_lower/point_filters_one_third.param.yaml @@ -0,0 +1,145 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 360], + [1, 0, 360], + [2, 0, 360], + [3, 0, 165],[3, 190, 360], + [4, 0, 158],[4, 203, 360], + [5, 0, 157],[5, 205, 360], + [6, 0, 156],[6, 211, 360], + [7, 0, 154],[7, 214, 360], + [8, 0, 152],[8, 217, 360], + [9, 0, 152],[9, 220, 360], + [10, 0, 151],[10, 221, 360], + [11, 0, 151],[11, 226, 360], + [12, 0, 151],[12, 229, 360], + [13, 0, 151],[13, 231, 360], + [14, 0, 150],[14, 232, 360], + [15, 0, 150],[15, 233, 360], + [16, 0, 150],[16, 234, 360], + [17, 0, 147],[17, 235, 360], + [18, 0, 148],[18, 235, 360], + [19, 0, 146],[19, 236, 360], + [20, 97, 143],[20, 240, 360], + [21, 102, 125],[21, 241, 360], + [22, 105, 125],[22, 241, 360], + [23, 105, 125],[23, 244, 360], + [24, 105, 125],[24, 245, 360], + [25, 106, 124],[25, 246, 360], + [26, 107, 123],[26, 247, 360], + [27, 108, 122],[27, 248, 360], + [28, 109, 120],[28, 248, 360], + [29, 110, 118],[29, 250, 360], + [30, 111, 117],[30, 250, 360], + [31, 112.5, 116],[31, 251, 360], + [32, 251, 360], + [33, 252, 360], + [34, 252, 360], + [35, 253, 360], + [36, 253, 360], + [37, 254, 360], + [38, 254, 360], + [39, 255, 360], + [40, 255, 360], + [41, 256, 360], + [42, 256, 360], + [43, 257, 360], + [44, 258, 360], + [45, 259, 360], + [46, 264, 360], + [47, 265, 360], + [48, 265, 360], + [49, 266, 360], + [50, 267, 360], + [51, 267, 360], + [52, 268, 360], + [1, 0, 360], + [2, 0, 360], + [4, 0, 360], + [5, 0, 360], + [7, 0, 360], + [8, 0, 360], + [10, 0, 360], + [11, 0, 360], + [13, 0, 360], + [14, 0, 360], + [16, 0, 360], + [17, 0, 360], + [19, 0, 360], + [20, 0, 360], + [22, 0, 360], + [23, 0, 360], + [25, 0, 360], + [26, 0, 360], + [28, 0, 360], + [29, 0, 360], + [31, 0, 360], + [32, 0, 360], + [34, 0, 360], + [35, 0, 360], + [37, 0, 360], + [38, 0, 360], + [40, 0, 360], + [41, 0, 360], + [43, 0, 360], + [44, 0, 360], + [46, 0, 360], + [47, 0, 360], + [49, 0, 360], + [50, 0, 360], + [52, 0, 360], + [53, 0, 360], + [55, 0, 360], + [56, 0, 360], + [58, 0, 360], + [59, 0, 360], + [61, 0, 360], + [62, 0, 360], + [64, 0, 360], + [65, 0, 360], + [67, 0, 360], + [68, 0, 360], + [70, 0, 360], + [71, 0, 360], + [73, 0, 360], + [74, 0, 360], + [76, 0, 360], + [77, 0, 360], + [79, 0, 360], + [80, 0, 360], + [82, 0, 360], + [83, 0, 360], + [85, 0, 360], + [86, 0, 360], + [88, 0, 360], + [89, 0, 360], + [91, 0, 360], + [92, 0, 360], + [94, 0, 360], + [95, 0, 360], + [97, 0, 360], + [98, 0, 360], + [100, 0, 360], + [101, 0, 360], + [103, 0, 360], + [104, 0, 360], + [106, 0, 360], + [107, 0, 360], + [109, 0, 360], + [110, 0, 360], + [112, 0, 360], + [113, 0, 360], + [115, 0, 360], + [116, 0, 360], + [118, 0, 360], + [119, 0, 360], + [121, 0, 360], + [122, 0, 360], + [124, 0, 360], + [125, 0, 360], + [127, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/right_lower/point_filters_two_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/right_lower/point_filters_two_third.param.yaml new file mode 100644 index 00000000..54889649 --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/right_lower/point_filters_two_third.param.yaml @@ -0,0 +1,103 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 360], + [1, 0, 360], + [2, 0, 360], + [3, 0, 165],[3, 190, 360], + [4, 0, 158],[4, 203, 360], + [5, 0, 157],[5, 205, 360], + [6, 0, 156],[6, 211, 360], + [7, 0, 154],[7, 214, 360], + [8, 0, 152],[8, 217, 360], + [9, 0, 152],[9, 220, 360], + [10, 0, 151],[10, 221, 360], + [11, 0, 151],[11, 226, 360], + [12, 0, 151],[12, 229, 360], + [13, 0, 151],[13, 231, 360], + [14, 0, 150],[14, 232, 360], + [15, 0, 150],[15, 233, 360], + [16, 0, 150],[16, 234, 360], + [17, 0, 147],[17, 235, 360], + [18, 0, 148],[18, 235, 360], + [19, 0, 146],[19, 236, 360], + [20, 97, 143],[20, 240, 360], + [21, 102, 125],[21, 241, 360], + [22, 105, 125],[22, 241, 360], + [23, 105, 125],[23, 244, 360], + [24, 105, 125],[24, 245, 360], + [25, 106, 124],[25, 246, 360], + [26, 107, 123],[26, 247, 360], + [27, 108, 122],[27, 248, 360], + [28, 109, 120],[28, 248, 360], + [29, 110, 118],[29, 250, 360], + [30, 111, 117],[30, 250, 360], + [31, 112.5, 116],[31, 251, 360], + [32, 251, 360], + [33, 252, 360], + [34, 252, 360], + [35, 253, 360], + [36, 253, 360], + [37, 254, 360], + [38, 254, 360], + [39, 255, 360], + [40, 255, 360], + [41, 256, 360], + [42, 256, 360], + [43, 257, 360], + [44, 258, 360], + [45, 259, 360], + [46, 264, 360], + [47, 265, 360], + [48, 265, 360], + [49, 266, 360], + [50, 267, 360], + [51, 267, 360], + [52, 268, 360], + [0, 0, 360], + [3, 0, 360], + [6, 0, 360], + [9, 0, 360], + [12, 0, 360], + [15, 0, 360], + [18, 0, 360], + [21, 0, 360], + [24, 0, 360], + [27, 0, 360], + [30, 0, 360], + [33, 0, 360], + [36, 0, 360], + [39, 0, 360], + [42, 0, 360], + [45, 0, 360], + [48, 0, 360], + [51, 0, 360], + [54, 0, 360], + [57, 0, 360], + [60, 0, 360], + [63, 0, 360], + [66, 0, 360], + [69, 0, 360], + [72, 0, 360], + [75, 0, 360], + [78, 0, 360], + [81, 0, 360], + [84, 0, 360], + [87, 0, 360], + [90, 0, 360], + [93, 0, 360], + [96, 0, 360], + [99, 0, 360], + [102, 0, 360], + [105, 0, 360], + [108, 0, 360], + [111, 0, 360], + [114, 0, 360], + [117, 0, 360], + [120, 0, 360], + [123, 0, 360], + [126, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/right_upper/point_filters_full.param.yaml b/aip_x2_gen2_launch/config/point_filters/right_upper/point_filters_full.param.yaml new file mode 100644 index 00000000..5e5fb040 --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/right_upper/point_filters_full.param.yaml @@ -0,0 +1,122 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 15], + [1, 0, 15], + [2, 0, 15], + [3, 0, 15], + [17, 0, 10], + [18, 0, 10], + [19, 0, 10], + [20, 0, 10], + [21, 0, 10], + [22, 0, 10], + [23, 0, 10], + [24, 0, 10], + [25, 0, 10], + [26, 0, 10], + [27, 0, 10], + [28, 0, 10], + [29, 0, 10], + [30, 0, 15], + [31, 0, 15], + [32, 0, 15], + [33, 0, 10], + [34, 0, 10], + [35, 0, 10], + [36, 0, 10], + [37, 0, 10], + [38, 0, 10], + [39, 0, 10], + [40, 0, 10], + [41, 0, 10], + [42, 0, 10], + [43, 0, 10], + [44, 0, 10], + [45, 0, 25], + [46, 0, 25], + [47, 0, 25], + [48, 0, 26], + [49, 0, 26], + [50, 0, 27], + [51, 0, 40], + [52, 0, 40], + [53, 0, 40], + [54, 0, 40], + [55, 0, 40], + [56, 0, 40], + [57, 0, 45], + [58, 0, 45], + [59, 0, 45], + [60, 0, 45], + [61, 0, 40], + [62, 0, 35], + [63, 0, 35], + [64, 0, 35], + [65, 0, 35], + [66, 0, 40], + [67, 0, 40],[67, 269, 360], + [68, 0, 42],[68, 269, 360], + [69, 0, 42],[69, 269, 360], + [70, 0, 42],[70, 269, 360], + [71, 0, 44],[71, 269, 360], + [72, 0, 44],[72, 269, 360], + [73, 0, 44],[73, 269, 360], + [74, 0, 44],[74, 269, 360], + [75, 0, 44],[75, 269, 360], + [76, 0, 45],[76, 269, 360], + [77, 0, 45],[77, 269, 360], + [78, 0, 45],[78, 269, 360], + [79, 0, 45],[79, 269, 360], + [80, 0, 45],[80, 269, 360], + [81, 0, 45],[81, 269, 360], + [82, 0, 45],[82, 269, 360], + [83, 0, 45],[83, 269, 360], + [84, 0, 45],[84, 269, 360], + [85, 0, 45],[85, 269, 360], + [86, 0, 45],[86, 269, 360], + [87, 0, 45],[87, 269, 360], + [88, 0, 45],[88, 269, 360], + [89, 0, 45],[89, 269, 360], + [90, 0, 45],[90, 269, 360], + [91, 0, 45],[91, 269, 360], + [92, 0, 45],[92, 269, 360], + [93, 0, 44],[93, 269, 360], + [94, 0, 44],[94, 269, 360], + [95, 0, 44],[95, 269, 360], + [96, 0, 44],[96, 269, 360], + [97, 0, 44],[97, 269, 360], + [98, 0, 44],[98, 269, 360], + [99, 0, 44],[99, 269, 360], + [100, 0, 46],[100, 269, 360], + [101, 0, 46],[101, 269, 360], + [102, 0, 46],[102, 269, 360], + [103, 0, 44],[103, 269, 360], + [104, 0, 44],[104, 269, 360], + [105, 0, 44],[105, 269, 360], + [106, 0, 44],[106, 269, 360], + [107, 0, 44],[107, 269, 360], + [108, 0, 46],[108, 269, 360], + [109, 0, 47],[109, 269, 360], + [110, 0, 48],[110, 87.78, 89.97],[110, 269, 360], + [111, 0, 49],[111, 269, 360], + [112, 0, 50],[112, 269, 360], + [113, 0, 52],[113, 269, 360], + [114, 0, 53],[114, 269, 360], + [115, 0, 54],[115, 269, 360], + [116, 0, 55],[116, 269, 360], + [117, 0, 56],[117, 269, 360], + [118, 0, 57],[118, 269, 360], + [119, 0, 58],[119, 269, 360], + [120, 0, 59],[120, 269, 360], + [121, 0, 61],[121, 269, 360], + [122, 0, 63],[122, 268, 360], + [123, 0, 66],[123, 268, 360], + [124, 0, 69],[124, 268, 360], + [125, 0, 69],[125, 267, 360], + [126, 0, 71],[126, 267, 360], + [127, 0, 72],[127, 267, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/right_upper/point_filters_one_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/right_upper/point_filters_one_third.param.yaml new file mode 100644 index 00000000..e903fa97 --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/right_upper/point_filters_one_third.param.yaml @@ -0,0 +1,207 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 15], + [1, 0, 15], + [2, 0, 15], + [3, 0, 15], + [17, 0, 10], + [18, 0, 10], + [19, 0, 10], + [20, 0, 10], + [21, 0, 10], + [22, 0, 10], + [23, 0, 10], + [24, 0, 10], + [25, 0, 10], + [26, 0, 10], + [27, 0, 10], + [28, 0, 10], + [29, 0, 10], + [30, 0, 15], + [31, 0, 15], + [32, 0, 15], + [33, 0, 10], + [34, 0, 10], + [35, 0, 10], + [36, 0, 10], + [37, 0, 10], + [38, 0, 10], + [39, 0, 10], + [40, 0, 10], + [41, 0, 10], + [42, 0, 10], + [43, 0, 10], + [44, 0, 10], + [45, 0, 25], + [46, 0, 25], + [47, 0, 25], + [48, 0, 26], + [49, 0, 26], + [50, 0, 27], + [51, 0, 40], + [52, 0, 40], + [53, 0, 40], + [54, 0, 40], + [55, 0, 40], + [56, 0, 40], + [57, 0, 45], + [58, 0, 45], + [59, 0, 45], + [60, 0, 45], + [61, 0, 40], + [62, 0, 35], + [63, 0, 35], + [64, 0, 35], + [65, 0, 35], + [66, 0, 40], + [67, 0, 40],[67, 269, 360], + [68, 0, 42],[68, 269, 360], + [69, 0, 42],[69, 269, 360], + [70, 0, 42],[70, 269, 360], + [71, 0, 44],[71, 269, 360], + [72, 0, 44],[72, 269, 360], + [73, 0, 44],[73, 269, 360], + [74, 0, 44],[74, 269, 360], + [75, 0, 44],[75, 269, 360], + [76, 0, 45],[76, 269, 360], + [77, 0, 45],[77, 269, 360], + [78, 0, 45],[78, 269, 360], + [79, 0, 45],[79, 269, 360], + [80, 0, 45],[80, 269, 360], + [81, 0, 45],[81, 269, 360], + [82, 0, 45],[82, 269, 360], + [83, 0, 45],[83, 269, 360], + [84, 0, 45],[84, 269, 360], + [85, 0, 45],[85, 269, 360], + [86, 0, 45],[86, 269, 360], + [87, 0, 45],[87, 269, 360], + [88, 0, 45],[88, 269, 360], + [89, 0, 45],[89, 269, 360], + [90, 0, 45],[90, 269, 360], + [91, 0, 45],[91, 269, 360], + [92, 0, 45],[92, 269, 360], + [93, 0, 44],[93, 269, 360], + [94, 0, 44],[94, 269, 360], + [95, 0, 44],[95, 269, 360], + [96, 0, 44],[96, 269, 360], + [97, 0, 44],[97, 269, 360], + [98, 0, 44],[98, 269, 360], + [99, 0, 44],[99, 269, 360], + [100, 0, 46],[100, 269, 360], + [101, 0, 46],[101, 269, 360], + [102, 0, 46],[102, 269, 360], + [103, 0, 44],[103, 269, 360], + [104, 0, 44],[104, 269, 360], + [105, 0, 44],[105, 269, 360], + [106, 0, 44],[106, 269, 360], + [107, 0, 44],[107, 269, 360], + [108, 0, 46],[108, 269, 360], + [109, 0, 47],[109, 269, 360], + [110, 0, 48],[110, 87.78, 89.97],[110, 269, 360], + [111, 0, 49],[111, 269, 360], + [112, 0, 50],[112, 269, 360], + [113, 0, 52],[113, 269, 360], + [114, 0, 53],[114, 269, 360], + [115, 0, 54],[115, 269, 360], + [116, 0, 55],[116, 269, 360], + [117, 0, 56],[117, 269, 360], + [118, 0, 57],[118, 269, 360], + [119, 0, 58],[119, 269, 360], + [120, 0, 59],[120, 269, 360], + [121, 0, 61],[121, 269, 360], + [122, 0, 63],[122, 268, 360], + [123, 0, 66],[123, 268, 360], + [124, 0, 69],[124, 268, 360], + [125, 0, 69],[125, 267, 360], + [126, 0, 71],[126, 267, 360], + [127, 0, 72],[127, 267, 360], + [1, 0, 360], + [2, 0, 360], + [4, 0, 360], + [5, 0, 360], + [7, 0, 360], + [8, 0, 360], + [10, 0, 360], + [11, 0, 360], + [13, 0, 360], + [14, 0, 360], + [16, 0, 360], + [17, 0, 360], + [19, 0, 360], + [20, 0, 360], + [22, 0, 360], + [23, 0, 360], + [25, 0, 360], + [26, 0, 360], + [28, 0, 360], + [29, 0, 360], + [31, 0, 360], + [32, 0, 360], + [34, 0, 360], + [35, 0, 360], + [37, 0, 360], + [38, 0, 360], + [40, 0, 360], + [41, 0, 360], + [43, 0, 360], + [44, 0, 360], + [46, 0, 360], + [47, 0, 360], + [49, 0, 360], + [50, 0, 360], + [52, 0, 360], + [53, 0, 360], + [55, 0, 360], + [56, 0, 360], + [58, 0, 360], + [59, 0, 360], + [61, 0, 360], + [62, 0, 360], + [64, 0, 360], + [65, 0, 360], + [67, 0, 360], + [68, 0, 360], + [70, 0, 360], + [71, 0, 360], + [73, 0, 360], + [74, 0, 360], + [76, 0, 360], + [77, 0, 360], + [79, 0, 360], + [80, 0, 360], + [82, 0, 360], + [83, 0, 360], + [85, 0, 360], + [86, 0, 360], + [88, 0, 360], + [89, 0, 360], + [91, 0, 360], + [92, 0, 360], + [94, 0, 360], + [95, 0, 360], + [97, 0, 360], + [98, 0, 360], + [100, 0, 360], + [101, 0, 360], + [103, 0, 360], + [104, 0, 360], + [106, 0, 360], + [107, 0, 360], + [109, 0, 360], + [110, 0, 360], + [112, 0, 360], + [113, 0, 360], + [115, 0, 360], + [116, 0, 360], + [118, 0, 360], + [119, 0, 360], + [121, 0, 360], + [122, 0, 360], + [124, 0, 360], + [125, 0, 360], + [127, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/point_filters/right_upper/point_filters_two_third.param.yaml b/aip_x2_gen2_launch/config/point_filters/right_upper/point_filters_two_third.param.yaml new file mode 100644 index 00000000..015d8cfc --- /dev/null +++ b/aip_x2_gen2_launch/config/point_filters/right_upper/point_filters_two_third.param.yaml @@ -0,0 +1,165 @@ +/**: + ros__parameters: + point_filters: | + { + "ring_section_filter": [ + [0, 0, 15], + [1, 0, 15], + [2, 0, 15], + [3, 0, 15], + [17, 0, 10], + [18, 0, 10], + [19, 0, 10], + [20, 0, 10], + [21, 0, 10], + [22, 0, 10], + [23, 0, 10], + [24, 0, 10], + [25, 0, 10], + [26, 0, 10], + [27, 0, 10], + [28, 0, 10], + [29, 0, 10], + [30, 0, 15], + [31, 0, 15], + [32, 0, 15], + [33, 0, 10], + [34, 0, 10], + [35, 0, 10], + [36, 0, 10], + [37, 0, 10], + [38, 0, 10], + [39, 0, 10], + [40, 0, 10], + [41, 0, 10], + [42, 0, 10], + [43, 0, 10], + [44, 0, 10], + [45, 0, 25], + [46, 0, 25], + [47, 0, 25], + [48, 0, 26], + [49, 0, 26], + [50, 0, 27], + [51, 0, 40], + [52, 0, 40], + [53, 0, 40], + [54, 0, 40], + [55, 0, 40], + [56, 0, 40], + [57, 0, 45], + [58, 0, 45], + [59, 0, 45], + [60, 0, 45], + [61, 0, 40], + [62, 0, 35], + [63, 0, 35], + [64, 0, 35], + [65, 0, 35], + [66, 0, 40], + [67, 0, 40],[67, 269, 360], + [68, 0, 42],[68, 269, 360], + [69, 0, 42],[69, 269, 360], + [70, 0, 42],[70, 269, 360], + [71, 0, 44],[71, 269, 360], + [72, 0, 44],[72, 269, 360], + [73, 0, 44],[73, 269, 360], + [74, 0, 44],[74, 269, 360], + [75, 0, 44],[75, 269, 360], + [76, 0, 45],[76, 269, 360], + [77, 0, 45],[77, 269, 360], + [78, 0, 45],[78, 269, 360], + [79, 0, 45],[79, 269, 360], + [80, 0, 45],[80, 269, 360], + [81, 0, 45],[81, 269, 360], + [82, 0, 45],[82, 269, 360], + [83, 0, 45],[83, 269, 360], + [84, 0, 45],[84, 269, 360], + [85, 0, 45],[85, 269, 360], + [86, 0, 45],[86, 269, 360], + [87, 0, 45],[87, 269, 360], + [88, 0, 45],[88, 269, 360], + [89, 0, 45],[89, 269, 360], + [90, 0, 45],[90, 269, 360], + [91, 0, 45],[91, 269, 360], + [92, 0, 45],[92, 269, 360], + [93, 0, 44],[93, 269, 360], + [94, 0, 44],[94, 269, 360], + [95, 0, 44],[95, 269, 360], + [96, 0, 44],[96, 269, 360], + [97, 0, 44],[97, 269, 360], + [98, 0, 44],[98, 269, 360], + [99, 0, 44],[99, 269, 360], + [100, 0, 46],[100, 269, 360], + [101, 0, 46],[101, 269, 360], + [102, 0, 46],[102, 269, 360], + [103, 0, 44],[103, 269, 360], + [104, 0, 44],[104, 269, 360], + [105, 0, 44],[105, 269, 360], + [106, 0, 44],[106, 269, 360], + [107, 0, 44],[107, 269, 360], + [108, 0, 46],[108, 269, 360], + [109, 0, 47],[109, 269, 360], + [110, 0, 48],[110, 87.78, 89.97],[110, 269, 360], + [111, 0, 49],[111, 269, 360], + [112, 0, 50],[112, 269, 360], + [113, 0, 52],[113, 269, 360], + [114, 0, 53],[114, 269, 360], + [115, 0, 54],[115, 269, 360], + [116, 0, 55],[116, 269, 360], + [117, 0, 56],[117, 269, 360], + [118, 0, 57],[118, 269, 360], + [119, 0, 58],[119, 269, 360], + [120, 0, 59],[120, 269, 360], + [121, 0, 61],[121, 269, 360], + [122, 0, 63],[122, 268, 360], + [123, 0, 66],[123, 268, 360], + [124, 0, 69],[124, 268, 360], + [125, 0, 69],[125, 267, 360], + [126, 0, 71],[126, 267, 360], + [127, 0, 72],[127, 267, 360], + [0, 0, 360], + [3, 0, 360], + [6, 0, 360], + [9, 0, 360], + [12, 0, 360], + [15, 0, 360], + [18, 0, 360], + [21, 0, 360], + [24, 0, 360], + [27, 0, 360], + [30, 0, 360], + [33, 0, 360], + [36, 0, 360], + [39, 0, 360], + [42, 0, 360], + [45, 0, 360], + [48, 0, 360], + [51, 0, 360], + [54, 0, 360], + [57, 0, 360], + [60, 0, 360], + [63, 0, 360], + [66, 0, 360], + [69, 0, 360], + [72, 0, 360], + [75, 0, 360], + [78, 0, 360], + [81, 0, 360], + [84, 0, 360], + [87, 0, 360], + [90, 0, 360], + [93, 0, 360], + [96, 0, 360], + [99, 0, 360], + [102, 0, 360], + [105, 0, 360], + [108, 0, 360], + [111, 0, 360], + [114, 0, 360], + [117, 0, 360], + [120, 0, 360], + [123, 0, 360], + [126, 0, 360] + ] + } diff --git a/aip_x2_gen2_launch/config/simple_object_merger.param.yaml b/aip_x2_gen2_launch/config/simple_object_merger.param.yaml new file mode 100644 index 00000000..b85c9ce6 --- /dev/null +++ b/aip_x2_gen2_launch/config/simple_object_merger.param.yaml @@ -0,0 +1,6 @@ +/**: + ros__parameters: + update_rate_hz: 20.0 + new_frame_id: "base_link" + timeout_threshold: 1.0 + input_topics: ["/sensing/radar/front_center/detected_objects", "/sensing/radar/rear_center/detected_objects"] diff --git a/aip_x2_gen2_launch/data/traffic_light_camera.yaml b/aip_x2_gen2_launch/data/traffic_light_camera.yaml new file mode 100644 index 00000000..458ad17c --- /dev/null +++ b/aip_x2_gen2_launch/data/traffic_light_camera.yaml @@ -0,0 +1,20 @@ +image_width: 1920 +image_height: 1080 +camera_name: traffic_light/camera +camera_matrix: + rows: 3 + cols: 3 + data: [2410.755261, 0.000000, 922.621401, 0.000000, 2403.573140, 534.752500, 0.000000, 0.000000, 1.000000] +distortion_model: plumb_bob +distortion_coefficients: + rows: 1 + cols: 5 + data: [-0.126600, 0.152594, 0.002432, -0.001244, 0.000000] +rectification_matrix: + rows: 3 + cols: 3 + data: [1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000] +projection_matrix: + rows: 3 + cols: 4 + data: [2370.254883, 0.000000, 920.136018, 0.000000, 0.000000, 2388.885254, 535.599668, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000] diff --git a/aip_x2_gen2_launch/launch/ars548.launch.xml b/aip_x2_gen2_launch/launch/ars548.launch.xml new file mode 100644 index 00000000..29c03ecb --- /dev/null +++ b/aip_x2_gen2_launch/launch/ars548.launch.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/aip_x2_gen2_launch/launch/gnss.launch.xml b/aip_x2_gen2_launch/launch/gnss.launch.xml new file mode 100644 index 00000000..8ccd477c --- /dev/null +++ b/aip_x2_gen2_launch/launch/gnss.launch.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/aip_x2_gen2_launch/launch/hesai_OT128.launch.xml b/aip_x2_gen2_launch/launch/hesai_OT128.launch.xml new file mode 100644 index 00000000..4adc9311 --- /dev/null +++ b/aip_x2_gen2_launch/launch/hesai_OT128.launch.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/aip_x2_gen2_launch/launch/hesai_QT128.launch.xml b/aip_x2_gen2_launch/launch/hesai_QT128.launch.xml new file mode 100644 index 00000000..443294ba --- /dev/null +++ b/aip_x2_gen2_launch/launch/hesai_QT128.launch.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/aip_x2_gen2_launch/launch/imu.launch.xml b/aip_x2_gen2_launch/launch/imu.launch.xml new file mode 100644 index 00000000..a2c0c80d --- /dev/null +++ b/aip_x2_gen2_launch/launch/imu.launch.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/aip_x2_gen2_launch/launch/lidar.launch.xml b/aip_x2_gen2_launch/launch/lidar.launch.xml new file mode 100644 index 00000000..bddb9a2a --- /dev/null +++ b/aip_x2_gen2_launch/launch/lidar.launch.xml @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/aip_x2_gen2_launch/launch/nebula_node_container.launch.py b/aip_x2_gen2_launch/launch/nebula_node_container.launch.py new file mode 100644 index 00000000..d228e11c --- /dev/null +++ b/aip_x2_gen2_launch/launch/nebula_node_container.launch.py @@ -0,0 +1,390 @@ +# Copyright 2023 Tier IV, Inc. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import launch +from launch.actions import DeclareLaunchArgument +from launch.actions import OpaqueFunction +from launch.actions import SetLaunchConfiguration + +# from launch.conditions import LaunchConfigurationNotEquals +from launch.conditions import IfCondition +from launch.conditions import LaunchConfigurationEquals +from launch.conditions import LaunchConfigurationNotEquals +from launch.conditions import UnlessCondition +from launch.substitutions import LaunchConfiguration +from launch_ros.actions import ComposableNodeContainer +from launch_ros.actions import LoadComposableNodes +from launch_ros.descriptions import ComposableNode +from launch_ros.substitutions import FindPackageShare +import yaml + + +def get_lidar_make(sensor_name): + if sensor_name[:6].lower() == "pandar": + return "Hesai", ".csv" + elif sensor_name[:3].lower() in ["hdl", "vlp", "vls"]: + return "Velodyne", ".yaml" + return "unrecognized_sensor_model" + + +def get_vehicle_info(context): + # TODO(TIER IV): Use Parameter Substitution after we drop Galactic support + # https://github.com/ros2/launch_ros/blob/master/launch_ros/launch_ros/substitutions/parameter.py + gp = context.launch_configurations.get("ros_params", {}) + if not gp: + gp = dict(context.launch_configurations.get("global_params", {})) + p = {} + p["vehicle_length"] = gp["front_overhang"] + gp["wheel_base"] + gp["rear_overhang"] + p["vehicle_width"] = gp["wheel_tread"] + gp["left_overhang"] + gp["right_overhang"] + p["min_longitudinal_offset"] = -gp["rear_overhang"] + p["max_longitudinal_offset"] = gp["front_overhang"] + gp["wheel_base"] + p["min_lateral_offset"] = -(gp["wheel_tread"] / 2.0 + gp["right_overhang"]) + p["max_lateral_offset"] = gp["wheel_tread"] / 2.0 + gp["left_overhang"] + p["min_height_offset"] = 0.0 + p["max_height_offset"] = gp["vehicle_height"] + return p + + +def get_vehicle_mirror_info(context): + path = LaunchConfiguration("vehicle_mirror_param_file").perform(context) + with open(path, "r") as f: + p = yaml.safe_load(f)["/**"]["ros__parameters"] + return p + + +def launch_setup(context, *args, **kwargs): + def load_composable_node_param(param_path): + with open(LaunchConfiguration(param_path).perform(context), "r") as f: + return yaml.safe_load(f)["/**"]["ros__parameters"] + + def create_parameter_dict(*args): + result = {} + for x in args: + result[x] = LaunchConfiguration(x) + return result + + def str2vector(string): + return [float(x) for x in string.strip("[]").split(",")] + + # Model and make + sensor_model = LaunchConfiguration("sensor_model").perform(context) + sensor_make, sensor_extension = get_lidar_make(sensor_model) + + glog_component = ComposableNode( + package="glog_component", + plugin="GlogComponent", + name="glog_component", + ) + + nebula_component = ComposableNode( + package="nebula_ros", + plugin=sensor_make + "RosWrapper", + name=sensor_make.lower() + "_ros_wrapper_node", + parameters=[ + { + "sensor_model": sensor_model, + **create_parameter_dict( + "host_ip", + "sensor_ip", + "multicast_ip", + "data_port", + "return_mode", + "min_range", + "max_range", + "frame_id", + "sync_angle", + "cut_angle", + "dual_return_distance_threshold", + "rotation_speed", + "cloud_min_angle", + "cloud_max_angle", + "gnss_port", + "packet_mtu_size", + "setup_sensor", + "ptp_profile", + "ptp_transport_type", + "ptp_switch_type", + "ptp_domain", + "diag_span", + "calibration_file", + "launch_hw", + ), + "retry_hw": True, + }, + ] + + [load_composable_node_param("point_filters_param_file")], + remappings=[ + # ("aw_points", "pointcloud_raw"), + ("pandar_points", "pointcloud_raw_ex"), + ], + extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}], + ) + + cropbox_parameters = create_parameter_dict("input_frame", "output_frame") + cropbox_parameters["negative"] = True + + vehicle_info = get_vehicle_info(context) + cropbox_parameters["min_x"] = vehicle_info["min_longitudinal_offset"] + cropbox_parameters["max_x"] = vehicle_info["max_longitudinal_offset"] + cropbox_parameters["min_y"] = vehicle_info["min_lateral_offset"] + cropbox_parameters["max_y"] = vehicle_info["max_lateral_offset"] + cropbox_parameters["min_z"] = vehicle_info["min_height_offset"] + cropbox_parameters["max_z"] = vehicle_info["max_height_offset"] + + self_crop_component = ComposableNode( + package="pointcloud_preprocessor", + plugin="pointcloud_preprocessor::CropBoxFilterComponent", + name="crop_box_filter_self", + remappings=[ + ("input", "pointcloud_raw_ex"), + ("output", "self_cropped/pointcloud_ex"), + ], + parameters=[cropbox_parameters], + extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}], + ) + + mirror_info = load_composable_node_param("vehicle_mirror_param_file") + right = mirror_info["right"] + cropbox_parameters.update( + min_x=right["min_longitudinal_offset"], + max_x=right["max_longitudinal_offset"], + min_y=right["min_lateral_offset"], + max_y=right["max_lateral_offset"], + min_z=right["min_height_offset"], + max_z=right["max_height_offset"], + ) + + right_mirror_crop_component = ComposableNode( + package="pointcloud_preprocessor", + plugin="pointcloud_preprocessor::CropBoxFilterComponent", + name="crop_box_filter_mirror_right", + remappings=[ + ("input", "self_cropped/pointcloud_ex"), + ("output", "right_mirror_cropped/pointcloud_ex"), + ], + parameters=[cropbox_parameters], + extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}], + ) + + left = mirror_info["left"] + cropbox_parameters.update( + min_x=left["min_longitudinal_offset"], + max_x=left["max_longitudinal_offset"], + min_y=left["min_lateral_offset"], + max_y=left["max_lateral_offset"], + min_z=left["min_height_offset"], + max_z=left["max_height_offset"], + ) + + left_mirror_crop_component = ComposableNode( + package="pointcloud_preprocessor", + plugin="pointcloud_preprocessor::CropBoxFilterComponent", + name="crop_box_filter_mirror_left", + remappings=[ + ("input", "right_mirror_cropped/pointcloud_ex"), + ("output", "mirror_cropped/pointcloud_ex"), + ], + parameters=[cropbox_parameters], + extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}], + ) + + undistort_component = ComposableNode( + package="pointcloud_preprocessor", + plugin="pointcloud_preprocessor::DistortionCorrectorComponent", + name="distortion_corrector_node", + remappings=[ + ("~/input/twist", "/sensing/vehicle_velocity_converter/twist_with_covariance"), + ("~/input/imu", "/sensing/imu/imu_data"), + ("~/input/pointcloud", "self_cropped/pointcloud_ex"), + ("~/output/pointcloud", "rectified/pointcloud_ex"), + ], + parameters=[load_composable_node_param("distortion_corrector_node_param_file")], + extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}], + ) + + ring_outlier_filter_component = ComposableNode( + package="pointcloud_preprocessor", + plugin="pointcloud_preprocessor::RingOutlierFilterComponent", + name="ring_outlier_filter", + remappings=[ + ("input", "rectified/pointcloud_ex"), + ("output", "pointcloud"), + ], + extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}], + ) + + dual_return_filter_component = ComposableNode( + package="pointcloud_preprocessor", + plugin="pointcloud_preprocessor::DualReturnOutlierFilterComponent", + name="dual_return_filter", + remappings=[ + ("input", "rectified/pointcloud_ex"), + ("output", "pointcloud"), + ], + parameters=[ + { + "vertical_bins": LaunchConfiguration("vertical_bins"), + "min_azimuth_deg": LaunchConfiguration("min_azimuth_deg"), + "max_azimuth_deg": LaunchConfiguration("max_azimuth_deg"), + } + ] + + [load_composable_node_param("dual_return_filter_param_file")], + extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}], + ) + + distance_range = str2vector(context.perform_substitution(LaunchConfiguration("distance_range"))) + blockage_diag_component = ComposableNode( + package="pointcloud_preprocessor", + plugin="pointcloud_preprocessor::BlockageDiagComponent", + name="blockage_return_diag", + remappings=[ + ("input", "pointcloud_raw_ex"), + ("output", "blockage_diag/pointcloud"), + ], + parameters=[ + { + "angle_range": LaunchConfiguration("blockage_range"), + "horizontal_ring_id": LaunchConfiguration("horizontal_ring_id"), + "vertical_bins": LaunchConfiguration("vertical_bins"), + "is_channel_order_top2down": LaunchConfiguration("is_channel_order_top2down"), + "max_distance_range": distance_range[1], + "horizontal_resolution": LaunchConfiguration("horizontal_resolution"), + } + ] + + [load_composable_node_param("blockage_diagnostics_param_file")], + extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}], + ) + + container = ComposableNodeContainer( + name="nebula_node_container", + namespace="pointcloud_preprocessor", + package="rclcpp_components", + executable=LaunchConfiguration("container_executable"), + composable_node_descriptions=[ + glog_component, + nebula_component, + self_crop_component, + # right_mirror_crop_component, + # left_mirror_crop_component, + undistort_component, + ], + ) + + ring_outlier_filter_loader = LoadComposableNodes( + composable_node_descriptions=[ring_outlier_filter_component], + target_container=container, + condition=LaunchConfigurationNotEquals("return_mode", "Dual"), + ) + + dual_return_filter_loader = LoadComposableNodes( + composable_node_descriptions=[dual_return_filter_component], + target_container=container, + condition=LaunchConfigurationEquals("return_mode", "Dual"), + ) + + blockage_diag_loader = LoadComposableNodes( + composable_node_descriptions=[blockage_diag_component], + target_container=container, + condition=launch.conditions.IfCondition(LaunchConfiguration("enable_blockage_diag")), + ) + + return [ + container, + ring_outlier_filter_loader, + dual_return_filter_loader, + blockage_diag_loader, + ] + + +def generate_launch_description(): + launch_arguments = [] + + def add_launch_arg(name: str, default_value=None, description=None): + # a default_value of None is equivalent to not passing that kwarg at all + launch_arguments.append( + DeclareLaunchArgument(name, default_value=default_value, description=description) + ) + + add_launch_arg("sensor_model", description="sensor model name") + add_launch_arg("config_file", "", description="sensor configuration file") + add_launch_arg("launch_hw", "True", "do launch driver") + add_launch_arg("setup_sensor", "True", "configure sensor") + add_launch_arg("sensor_ip", "192.168.1.201", "device ip address") + add_launch_arg( + "multicast_ip", + "", + "the multicast group the sensor shall broadcast to. leave empty to disable multicast", + ) + add_launch_arg("host_ip", "255.255.255.255", "host ip address") + add_launch_arg("sync_angle", "0") + add_launch_arg("cut_angle", "0.0") + # add_launch_arg("point_filters", "{}", "point filter definitions in JSON format") + add_launch_arg("base_frame", "base_link", "base frame id") + add_launch_arg("min_range", "0.3", "minimum view range for Velodyne sensors") + add_launch_arg("max_range", "300.0", "maximum view range for Velodyne sensors") + add_launch_arg("cloud_min_angle", "0", "minimum view angle setting on device") + add_launch_arg("cloud_max_angle", "360", "maximum view angle setting on device") + add_launch_arg("data_port", "2368", "device data port number") + add_launch_arg("gnss_port", "2380", "device gnss port number") + add_launch_arg("packet_mtu_size", "1500", "packet mtu size") + add_launch_arg("rotation_speed", "600", "rotational frequency") + add_launch_arg("dual_return_distance_threshold", "0.1", "dual return distance threshold") + add_launch_arg("frame_id", "lidar", "frame id") + add_launch_arg("input_frame", LaunchConfiguration("base_frame"), "use for cropbox") + add_launch_arg("output_frame", LaunchConfiguration("base_frame"), "use for cropbox") + add_launch_arg( + "vehicle_mirror_param_file", description="path to the file of vehicle mirror position yaml" + ) + add_launch_arg("diag_span", "1000") + add_launch_arg("use_multithread", "False", "use multithread") + add_launch_arg("use_intra_process", "False", "use ROS 2 component container communication") + add_launch_arg("container_name", "nebula_node_container") + + add_launch_arg("dual_return_filter_param_file") + add_launch_arg( + "blockage_diagnostics_param_file", + [FindPackageShare("common_sensor_launch"), "/config/blockage_diagnostics.param.yaml"], + ) + add_launch_arg( + "distortion_corrector_node_param_file", + [FindPackageShare("common_sensor_launch"), "/config/distortion_corrector_node.param.yaml"], + ) + add_launch_arg("vertical_bins", "128") + add_launch_arg("horizontal_ring_id", "12") + add_launch_arg("blockage_range", "[270.0, 90.0]") + + add_launch_arg("min_azimuth_deg", "135.0") + add_launch_arg("max_azimuth_deg", "225.0") + add_launch_arg("enable_blockage_diag", "true") + add_launch_arg("point_filters_param_file") + + add_launch_arg("calibration_file", "") + + set_container_executable = SetLaunchConfiguration( + "container_executable", + "component_container", + condition=UnlessCondition(LaunchConfiguration("use_multithread")), + ) + + set_container_mt_executable = SetLaunchConfiguration( + "container_executable", + "component_container_mt", + condition=IfCondition(LaunchConfiguration("use_multithread")), + ) + + return launch.LaunchDescription( + launch_arguments + + [set_container_executable, set_container_mt_executable] + + [OpaqueFunction(function=launch_setup)] + ) diff --git a/aip_x2_gen2_launch/launch/pointcloud_preprocessor.launch.py b/aip_x2_gen2_launch/launch/pointcloud_preprocessor.launch.py new file mode 100644 index 00000000..ef03f232 --- /dev/null +++ b/aip_x2_gen2_launch/launch/pointcloud_preprocessor.launch.py @@ -0,0 +1,93 @@ +# Copyright 2020 Tier IV, Inc. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import launch +from launch.actions import DeclareLaunchArgument +from launch.actions import OpaqueFunction +from launch.actions import SetLaunchConfiguration +from launch.conditions import IfCondition +from launch.conditions import UnlessCondition +from launch.substitutions import LaunchConfiguration +from launch_ros.actions import LoadComposableNodes +from launch_ros.descriptions import ComposableNode + + +def launch_setup(context, *args, **kwargs): + # set concat filter as a component + concat_component = ComposableNode( + package="pointcloud_preprocessor", + plugin="pointcloud_preprocessor::PointCloudConcatenateDataSynchronizerComponent", + name="concatenate_data", + remappings=[ + ("~/input/twist", "/sensing/vehicle_velocity_converter/twist_with_covariance"), + ("output", "concatenated/pointcloud"), + ], + parameters=[ + { + "input_topics": [ + "/sensing/lidar/front_upper/pointcloud", + "/sensing/lidar/front_lower/pointcloud", + "/sensing/lidar/left_upper/pointcloud", + "/sensing/lidar/left_lower/pointcloud", + "/sensing/lidar/right_upper/pointcloud", + "/sensing/lidar/right_lower/pointcloud", + "/sensing/lidar/rear_upper/pointcloud", + "/sensing/lidar/rear_lower/pointcloud", + ], + "input_offset": [0.005, 0.025, 0.050, 0.005, 0.050, 0.005, 0.005, 0.025], + "timeout_sec": 0.075, + "output_frame": LaunchConfiguration("base_frame"), + "input_twist_topic_type": "twist", + } + ], + extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}], + ) + + concat_loader = LoadComposableNodes( + composable_node_descriptions=[concat_component], + target_container=LaunchConfiguration("pointcloud_container_name"), + ) + + return [concat_loader] + + +def generate_launch_description(): + launch_arguments = [] + + def add_launch_arg(name: str, default_value=None): + launch_arguments.append(DeclareLaunchArgument(name, default_value=default_value)) + + add_launch_arg("base_frame", "base_link") + add_launch_arg("use_multithread", "True") + add_launch_arg("use_intra_process", "True") + add_launch_arg("pointcloud_container_name", "pointcloud_container") + + set_container_executable = SetLaunchConfiguration( + "container_executable", + "component_container", + condition=UnlessCondition(LaunchConfiguration("use_multithread")), + ) + + set_container_mt_executable = SetLaunchConfiguration( + "container_executable", + "component_container_mt", + condition=IfCondition(LaunchConfiguration("use_multithread")), + ) + + return launch.LaunchDescription( + launch_arguments + + [set_container_executable, set_container_mt_executable] + + [OpaqueFunction(function=launch_setup)] + ) diff --git a/aip_x2_gen2_launch/launch/radar.launch.xml b/aip_x2_gen2_launch/launch/radar.launch.xml new file mode 100644 index 00000000..5fc16689 --- /dev/null +++ b/aip_x2_gen2_launch/launch/radar.launch.xml @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/aip_x2_gen2_launch/launch/sensing.launch.xml b/aip_x2_gen2_launch/launch/sensing.launch.xml new file mode 100644 index 00000000..ec9adc0e --- /dev/null +++ b/aip_x2_gen2_launch/launch/sensing.launch.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/aip_x2_gen2_launch/launch/topic_state_monitor.launch.py b/aip_x2_gen2_launch/launch/topic_state_monitor.launch.py new file mode 100644 index 00000000..0eafa9e0 --- /dev/null +++ b/aip_x2_gen2_launch/launch/topic_state_monitor.launch.py @@ -0,0 +1,195 @@ +# Copyright 2024 Tier IV, Inc. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from launch import LaunchDescription +from launch_ros.actions import ComposableNodeContainer +from launch_ros.descriptions import ComposableNode + + +def generate_launch_description(): + # GNSS topic monitor + gnss_topic_monitor = ComposableNode( + package="topic_state_monitor", + plugin="topic_state_monitor::TopicStateMonitorNode", + name="topic_state_monitor_gnss_pose", + parameters=[ + { + "topic": "/sensing/gnss/pose", + "topic_type": "geometry_msgs/msg/PoseStamped", + "best_effort": True, + "diag_name": "gnss_topic_status", + "warn_rate": 2.5, + "error_rate": 0.5, + "timeout": 5.0, + "window_size": 10, + } + ], + extra_arguments=[{"use_intra_process_comms": True}], + ) + + # IMU topic monitor + imu_topic_monitor = ComposableNode( + package="topic_state_monitor", + plugin="topic_state_monitor::TopicStateMonitorNode", + name="topic_state_monitor_imu_data", + parameters=[ + { + "topic": "/sensing/imu/imu_data", + "topic_type": "sensor_msgs/msg/Imu", + "best_effort": True, + "diag_name": "imu_topic_status", + "warn_rate": 5.0, + "error_rate": 1.0, + "timeout": 5.0, + "window_size": 10, + } + ], + extra_arguments=[{"use_intra_process_comms": True}], + ) + + # Radar topic monitors + radar_front_center_monitor = ComposableNode( + package="topic_state_monitor", + plugin="topic_state_monitor::TopicStateMonitorNode", + name="topic_state_monitor_radar_front_center", + parameters=[ + { + "topic": "/sensing/radar/front_center/objects_raw", + "topic_type": "radar_msgs/msg/RadarTracks", + "best_effort": True, + "diag_name": "radar_front_center_topic_status", + "warn_rate": 5.0, + "error_rate": 1.0, + "timeout": 5.0, + "window_size": 10, + } + ], + extra_arguments=[{"use_intra_process_comms": True}], + ) + + radar_front_left_monitor = ComposableNode( + package="topic_state_monitor", + plugin="topic_state_monitor::TopicStateMonitorNode", + name="topic_state_monitor_radar_front_left", + parameters=[ + { + "topic": "/sensing/radar/front_left/objects_raw", + "topic_type": "radar_msgs/msg/RadarTracks", + "best_effort": True, + "diag_name": "radar_front_left_topic_status", + "warn_rate": 5.0, + "error_rate": 1.0, + "timeout": 5.0, + "window_size": 10, + } + ], + extra_arguments=[{"use_intra_process_comms": True}], + ) + + radar_front_right_monitor = ComposableNode( + package="topic_state_monitor", + plugin="topic_state_monitor::TopicStateMonitorNode", + name="topic_state_monitor_radar_front_right", + parameters=[ + { + "topic": "/sensing/radar/front_right/objects_raw", + "topic_type": "radar_msgs/msg/RadarTracks", + "best_effort": True, + "diag_name": "radar_front_right_topic_status", + "warn_rate": 5.0, + "error_rate": 1.0, + "timeout": 5.0, + "window_size": 10, + } + ], + extra_arguments=[{"use_intra_process_comms": True}], + ) + + radar_rear_center_monitor = ComposableNode( + package="topic_state_monitor", + plugin="topic_state_monitor::TopicStateMonitorNode", + name="topic_state_monitor_radar_rear_center", + parameters=[ + { + "topic": "/sensing/radar/rear_center/objects_raw", + "topic_type": "radar_msgs/msg/RadarTracks", + "best_effort": True, + "diag_name": "radar_rear_center_topic_status", + "warn_rate": 5.0, + "error_rate": 1.0, + "timeout": 5.0, + "window_size": 10, + } + ], + extra_arguments=[{"use_intra_process_comms": True}], + ) + + radar_rear_left_monitor = ComposableNode( + package="topic_state_monitor", + plugin="topic_state_monitor::TopicStateMonitorNode", + name="topic_state_monitor_radar_rear_left", + parameters=[ + { + "topic": "/sensing/radar/rear_left/objects_raw", + "topic_type": "radar_msgs/msg/RadarTracks", + "best_effort": True, + "diag_name": "radar_rear_left_topic_status", + "warn_rate": 5.0, + "error_rate": 1.0, + "timeout": 5.0, + "window_size": 10, + } + ], + extra_arguments=[{"use_intra_process_comms": True}], + ) + + radar_rear_right_monitor = ComposableNode( + package="topic_state_monitor", + plugin="topic_state_monitor::TopicStateMonitorNode", + name="topic_state_monitor_radar_rear_right", + parameters=[ + { + "topic": "/sensing/radar/rear_right/objects_raw", + "topic_type": "radar_msgs/msg/RadarTracks", + "best_effort": True, + "diag_name": "radar_rear_right_topic_status", + "warn_rate": 5.0, + "error_rate": 1.0, + "timeout": 5.0, + "window_size": 10, + } + ], + extra_arguments=[{"use_intra_process_comms": True}], + ) + + # ComposableNodeContainer to run all ComposableNodes + container = ComposableNodeContainer( + name="topic_state_monitor_container", + namespace="topic_state_monitor", + package="rclcpp_components", + executable="component_container", + composable_node_descriptions=[ + gnss_topic_monitor, + imu_topic_monitor, + radar_front_center_monitor, + radar_front_left_monitor, + radar_front_right_monitor, + radar_rear_center_monitor, + radar_rear_left_monitor, + radar_rear_right_monitor, + ], + output="screen", + ) + + return LaunchDescription([container]) diff --git a/aip_x2_gen2_launch/package.xml b/aip_x2_gen2_launch/package.xml new file mode 100644 index 00000000..2743c6a8 --- /dev/null +++ b/aip_x2_gen2_launch/package.xml @@ -0,0 +1,31 @@ + + + + aip_x2_gen2_launch + 0.1.0 + The aip_x2_gen2_launch package + + Tomohito Ando + Apache License 2.0 + + ament_cmake_auto + + common_sensor_launch + dummy_diag_publisher + gnss_poser + imu_corrector + pointcloud_preprocessor + septentrio_gnss_driver + tamagawa_imu_driver + topic_tools + ublox_gps + usb_cam + vehicle_velocity_converter + + ament_lint_auto + autoware_lint_common + + + ament_cmake + +