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..ad58a838
--- /dev/null
+++ b/aip_x2_gen2_launch/launch/nebula_node_container.launch.py
@@ -0,0 +1,333 @@
+# 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 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")}],
+ )
+
+ 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,
+ 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("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
+
+
diff --git a/common_sensor_launch/config/blockage_diagnostics_param_file.yaml b/common_sensor_launch/config/blockage_diagnostics.param.yaml
similarity index 100%
rename from common_sensor_launch/config/blockage_diagnostics_param_file.yaml
rename to common_sensor_launch/config/blockage_diagnostics.param.yaml
diff --git a/common_sensor_launch/config/distortion_corrector_node.param.yaml b/common_sensor_launch/config/distortion_corrector_node.param.yaml
new file mode 100644
index 00000000..3afa4816
--- /dev/null
+++ b/common_sensor_launch/config/distortion_corrector_node.param.yaml
@@ -0,0 +1,5 @@
+/**:
+ ros__parameters:
+ base_frame: base_link
+ use_imu: true
+ use_3d_distortion_correction: false
diff --git a/common_sensor_launch/config/radar_tracks_msgs_converter.param.yaml b/common_sensor_launch/config/radar_tracks_msgs_converter.param.yaml
index 7b344aaa..933cdd0b 100644
--- a/common_sensor_launch/config/radar_tracks_msgs_converter.param.yaml
+++ b/common_sensor_launch/config/radar_tracks_msgs_converter.param.yaml
@@ -2,6 +2,6 @@
ros__parameters:
update_rate_hz: 20.0
new_frame_id: "base_link"
- use_twist_compensation: true
+ use_twist_compensation: false
use_twist_yaw_compensation: false
static_object_speed_threshold: 1.0
diff --git a/common_sensor_launch/launch/nebula_node_container.launch.py b/common_sensor_launch/launch/nebula_node_container.launch.py
index c3339e0c..b083c0f0 100644
--- a/common_sensor_launch/launch/nebula_node_container.launch.py
+++ b/common_sensor_launch/launch/nebula_node_container.launch.py
@@ -182,6 +182,7 @@ def create_parameter_dict(*args):
("~/input/pointcloud", "mirror_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")}],
)
)
@@ -328,7 +329,11 @@ def add_launch_arg(name: str, default_value=None, description=None):
add_launch_arg("horizontal_resolution", "0.4")
add_launch_arg(
"blockage_diagnostics_param_file",
- [FindPackageShare("common_sensor_launch"), "/config/blockage_diagnostics_param_file.yaml"],
+ [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"],
)
set_container_executable = SetLaunchConfiguration(