From c75a0795b2078e907796fba7d90dae3ed94de26d Mon Sep 17 00:00:00 2001
From: Sergi Hernandez <shernand@iri.upc.edu>
Date: Mon, 8 Mar 2021 12:39:03 +0100
Subject: [PATCH] Add cameras calibration arguments/files

---
 .../basler_640x480.yaml                       |  0
 calibration/delock_640x480.yaml               | 20 +++++++++++++++++++
 config/basler_camera_config.yaml              |  2 +-
 launch/bringup.launch                         |  7 +++++--
 launch/include/sensors.launch                 | 13 +++++++-----
 5 files changed, 34 insertions(+), 8 deletions(-)
 rename config/basler_camera_info.yaml => calibration/basler_640x480.yaml (100%)
 create mode 100644 calibration/delock_640x480.yaml

diff --git a/config/basler_camera_info.yaml b/calibration/basler_640x480.yaml
similarity index 100%
rename from config/basler_camera_info.yaml
rename to calibration/basler_640x480.yaml
diff --git a/calibration/delock_640x480.yaml b/calibration/delock_640x480.yaml
new file mode 100644
index 0000000..318add7
--- /dev/null
+++ b/calibration/delock_640x480.yaml
@@ -0,0 +1,20 @@
+image_width: 640
+image_height: 480
+camera_name: camera
+camera_matrix:
+  rows: 3
+  cols: 3
+  data: [811.587917, 0.000000, 316.684131, 0.000000, 809.975436, 232.835325, 0.000000, 0.000000, 1.000000]
+distortion_model: plumb_bob
+distortion_coefficients:
+  rows: 1
+  cols: 5
+  data: [-0.016863, 0.026776, -0.005160, 0.000093, 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: [811.962280, 0.000000, 316.721055, 0.000000, 0.000000, 809.312805, 231.520901, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000]
diff --git a/config/basler_camera_config.yaml b/config/basler_camera_config.yaml
index 8b179ed..894c934 100644
--- a/config/basler_camera_config.yaml
+++ b/config/basler_camera_config.yaml
@@ -13,7 +13,7 @@ device_user_id: ""
 #  http://docs.ros.org/api/camera_info_manager/html/classcamera__info__manager_
 #  1_1CameraInfoManager.html#details
 camera_info_url: ""
-camera_info_url: "file:///home/car/iri-lab/iri_ws/src/iri_model_car_bringup/config/basler_camera_info.yaml"
+camera_info_url: "file:///home/car/iri-lab/iri_ws/src/iri_model_car_bringup/calibration/basler_640x480.yaml"
 
 #  The encoding of the pixels -- channel meaning, ordering, size
 #  taken from the list of strings in include/sensor_msgs/image_encodings.h
diff --git a/launch/bringup.launch b/launch/bringup.launch
index 4f9b6f8..668e62f 100644
--- a/launch/bringup.launch
+++ b/launch/bringup.launch
@@ -25,8 +25,10 @@
   <arg name="encoders_topic_name"       default="/$(arg car_name)/encoders"/>
 
   <arg name="basler_config_file"        default="$(find iri_model_car_bringup)/config/basler_camera_config.yaml" />
+
   <arg name="delock_device_file"        default="$(find iri_model_car_bringup)/config/delock_96368.yaml" />
   <arg name="delock_format_file"        default="$(find iri_model_car_bringup)/config/delock_camera_config.yaml" />
+  <arg name="delock_calib_file"         default="$(find iri_model_car_bringup)/calibration/delock_640x480.yaml" />
 
   <arg name="rplidar_config_file"       default="$(find iri_model_car_bringup)/config/rplidar_config.yaml" />
   <arg name="scan_topic_name"           default="/$(arg car_name)/sensors/scan"/>
@@ -70,8 +72,9 @@
     <arg name="magnetic_field_topic_name"   value="$(arg magnetic_field_topic_name)"/>
     <arg name="encoders_topic_name"         value="$(arg encoders_topic_name)"/>
     <arg name="basler_config_file"          value="$(arg basler_config_file)" />
-    <arg name="device_file"                 value="$(arg delock_device_file)" />
-    <arg name="format_file"                 value="$(arg delock_format_file)" />
+    <arg name="delock_device_file"          value="$(arg delock_device_file)" />
+    <arg name="delock_format_file"          value="$(arg delock_format_file)" />
+    <arg name="delock_calib_file"           value="$(arg delock_calib_file)" />
     <arg name="rplidar_config_file"         value="$(arg rplidar_config_file)" />
     <arg name="scan_topic_name"             value="$(arg scan_topic_name)"/>
   </include>
diff --git a/launch/include/sensors.launch b/launch/include/sensors.launch
index 9b2f310..2c91f4a 100644
--- a/launch/include/sensors.launch
+++ b/launch/include/sensors.launch
@@ -21,9 +21,11 @@
   <arg name="magnetic_field_topic_name" default="$(arg car_name)/sensors/magnetic_field"/>
   <arg name="encoders_topic_name"       default="$(arg car_name)/encoders"/>
 
-  <arg name="basler_config_file"        default="$(find pylon_camera)/config/default.yaml" />
-  <arg name="device_file"               default="$(find iri_uvc_camera_bringup)/config/devices/delock_96368.yaml" />   
-  <arg name="format_file"               default="$(find iri_uvc_camera_bringup)/config/640x480_30fps_config.yaml" />
+  <arg name="basler_config_file"        default="$(find iri_model_car_bringup)/config/basler_camera_config.yaml" />
+
+  <arg name="delock_device_file"        default="$(find iri_model_car_bringup)/config/delock_96368.yaml" />   
+  <arg name="delock_format_file"        default="$(find iri_model_car_bringup)/config/delock_camera_config.yaml" />
+  <arg name="delock_calib_file"         default="$(find iri_model_car_bringup)/calibration/delock_640x480.yaml" />
 
   <arg name="rplidar_config_file"       default="$(find iri_rplidar_laser2d_bringup)/config/rplidar_config.yaml" />
   <arg name="scan_topic_name"           default="/$(arg car_name)/sensors/scan"/>
@@ -102,8 +104,9 @@
       <remap from="/$(arg car_name)/sensors/camera_info" to="/$(arg car_name)/sensors/delock_camera/camera_info"/>
 
       <include file="$(find iri_uvc_camera_bringup)/launch/uvc_camera.launch">
-        <arg name="device_file"  value="$(arg device_file)"/>
-        <arg name="format_file"  value="$(arg format_file)"/>
+        <arg name="device_file"  value="$(arg delock_device_file)"/>
+        <arg name="format_file"  value="$(arg delock_format_file)"/>
+        <arg name="calib_file"   value="$(arg delock_calib_file)"/>
         <arg name="node_name"  value="delock_camera"/>
         <arg name="output"  value="$(arg output)"/>
         <arg name="launch_prefix"  value="$(arg launch_prefix)"/>
-- 
GitLab