diff --git a/aip_x2_launch/launch/lidar.launch.xml b/aip_x2_launch/launch/lidar.launch.xml
index 4dc5dc87..c4297b05 100644
--- a/aip_x2_launch/launch/lidar.launch.xml
+++ b/aip_x2_launch/launch/lidar.launch.xml
@@ -37,7 +37,7 @@
-
+
@@ -70,7 +70,7 @@
-
+
@@ -103,7 +103,7 @@
-
+
@@ -136,7 +136,7 @@
-
+
@@ -169,7 +169,7 @@
-
+
@@ -202,7 +202,7 @@
-
+
@@ -235,7 +235,7 @@
-
+
@@ -268,7 +268,7 @@
-
+
diff --git a/aip_x2_launch/launch/nebula_node_container.launch.py b/aip_x2_launch/launch/nebula_node_container.launch.py
index 08eebe40..53e7140e 100644
--- a/aip_x2_launch/launch/nebula_node_container.launch.py
+++ b/aip_x2_launch/launch/nebula_node_container.launch.py
@@ -75,6 +75,18 @@ def create_parameter_dict(*args):
# Model and make
sensor_model = LaunchConfiguration("sensor_model").perform(context)
sensor_make, sensor_extension = get_lidar_make(sensor_model)
+ nebula_decoders_share_dir = get_package_share_directory("nebula_decoders")
+
+ # Calibration file
+ sensor_calib_fp = os.path.join(
+ nebula_decoders_share_dir,
+ "calibration",
+ sensor_make.lower(),
+ sensor_model + sensor_extension,
+ )
+ assert os.path.exists(
+ sensor_calib_fp
+ ), "Sensor calib file under calibration/ was not found: {}".format(sensor_calib_fp)
nodes = []
@@ -124,6 +136,7 @@ def create_parameter_dict(*args):
name=sensor_make.lower() + "_driver_ros_wrapper_node",
parameters=[
{
+ "calibration_file": sensor_calib_fp,
"sensor_model": sensor_model,
**create_parameter_dict(
"host_ip",
@@ -144,7 +157,6 @@ def create_parameter_dict(*args):
"ptp_transport_type",
"ptp_switch_type",
"ptp_domain",
- "calibration_file",
),
"launch_hw": True,
},
@@ -278,6 +290,7 @@ def create_parameter_dict(*args):
parameters=[
{
"sensor_model": sensor_model,
+ "calibration_file": sensor_calib_fp,
**create_parameter_dict(
"sensor_ip",
"host_ip",
@@ -296,7 +309,6 @@ def create_parameter_dict(*args):
"ptp_transport_type",
"ptp_switch_type",
"ptp_domain",
- "calibration_file",
),
}
],
@@ -348,7 +360,6 @@ def add_launch_arg(name: str, default_value=None, description=None):
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("calibration_file", "")
set_container_executable = SetLaunchConfiguration(
"container_executable",