From 913ebfae81a4b8fb5e5eee2b09e7988aeb9b0f0f Mon Sep 17 00:00:00 2001
From: joanvallve <jvallve@iri.upc.edu>
Date: Thu, 27 May 2021 08:03:58 +0200
Subject: [PATCH] magnetic field and extrinsics

---
 yaml/IRI/params.yaml                   |  2 +-
 yaml/{ => IRI}/sensor_bno_compass.yaml |  6 +++---
 yaml/M600a/params.yaml                 |  4 ++--
 yaml/M600a/sensor_bno_compass.yaml     | 12 ++++++++++++
 yaml/M600b/params.yaml                 |  4 ++--
 yaml/M600b/sensor_bno_compass.yaml     | 12 ++++++++++++
 yaml/atlantic/params.yaml              |  4 ++--
 yaml/atlantic/sensor_bno_compass.yaml  | 12 ++++++++++++
 yaml/magnetic_field.yaml               |  6 ++++++
 yaml/scrab/params.yaml                 |  2 +-
 yaml/scrab/sensor_bno_compass.yaml     | 12 ++++++++++++
 yaml/tucan/params.yaml                 |  2 +-
 yaml/tucan/sensor_bno_compass.yaml     | 12 ++++++++++++
 13 files changed, 78 insertions(+), 12 deletions(-)
 rename yaml/{ => IRI}/sensor_bno_compass.yaml (51%)
 create mode 100644 yaml/M600a/sensor_bno_compass.yaml
 create mode 100644 yaml/M600b/sensor_bno_compass.yaml
 create mode 100644 yaml/atlantic/sensor_bno_compass.yaml
 create mode 100644 yaml/magnetic_field.yaml
 create mode 100644 yaml/scrab/sensor_bno_compass.yaml
 create mode 100644 yaml/tucan/sensor_bno_compass.yaml

diff --git a/yaml/IRI/params.yaml b/yaml/IRI/params.yaml
index 164c72e..6867398 100644
--- a/yaml/IRI/params.yaml
+++ b/yaml/IRI/params.yaml
@@ -35,7 +35,7 @@ config:
       type: "SensorCompass"
       name: "compass"
       plugin: "imu"
-      follow: "../sensor_bno_compass.yaml"
+      follow: "sensor_bno_compass.yaml"
     -
       type: "SensorGnss"
       name: "gnss"
diff --git a/yaml/sensor_bno_compass.yaml b/yaml/IRI/sensor_bno_compass.yaml
similarity index 51%
rename from yaml/sensor_bno_compass.yaml
rename to yaml/IRI/sensor_bno_compass.yaml
index 181080b..5fa032c 100644
--- a/yaml/sensor_bno_compass.yaml
+++ b/yaml/IRI/sensor_bno_compass.yaml
@@ -3,10 +3,10 @@ extrinsic:
 
 stdev_noise: 0.3
 
-field_prior_mode: "factor"
-field_prior_state: [7.9, -20.2, -58.8] # E: 7.875 N: -20.1875 U: -58.8125
-field_prior_sigma: [10, 10, 10]
+# magnetic field
+follow: "../magnetic_field.yaml"
 
+# calibration
 bias_prior_mode: "factor"
 bias_prior_state: [0, 0, 0]
 bias_prior_sigma: [0.3, 0.3, 0.3]
\ No newline at end of file
diff --git a/yaml/M600a/params.yaml b/yaml/M600a/params.yaml
index 213ca4a..7b99024 100644
--- a/yaml/M600a/params.yaml
+++ b/yaml/M600a/params.yaml
@@ -35,13 +35,13 @@ config:
       type: "SensorCompass"
       name: "compass"
       plugin: "imu"
-      follow: "../sensor_bno_compass.yaml"
+      follow: "sensor_bno_compass.yaml"
     -
       type: "SensorGnss"
       name: "gnss"
       plugin: "gnss"
       extrinsic:
-         pose: [1.36, -0.04, 0.280] # BNO055 in rosbag
+         pose: [0.0, 0.0, 0.28] # M600
       follow: "../sensor_f9t.yaml"
 
   processors:
diff --git a/yaml/M600a/sensor_bno_compass.yaml b/yaml/M600a/sensor_bno_compass.yaml
new file mode 100644
index 0000000..5fa032c
--- /dev/null
+++ b/yaml/M600a/sensor_bno_compass.yaml
@@ -0,0 +1,12 @@
+extrinsic:
+   pose: [0,0,0,0,0,0,1]
+
+stdev_noise: 0.3
+
+# magnetic field
+follow: "../magnetic_field.yaml"
+
+# calibration
+bias_prior_mode: "factor"
+bias_prior_state: [0, 0, 0]
+bias_prior_sigma: [0.3, 0.3, 0.3]
\ No newline at end of file
diff --git a/yaml/M600b/params.yaml b/yaml/M600b/params.yaml
index 213ca4a..7b99024 100644
--- a/yaml/M600b/params.yaml
+++ b/yaml/M600b/params.yaml
@@ -35,13 +35,13 @@ config:
       type: "SensorCompass"
       name: "compass"
       plugin: "imu"
-      follow: "../sensor_bno_compass.yaml"
+      follow: "sensor_bno_compass.yaml"
     -
       type: "SensorGnss"
       name: "gnss"
       plugin: "gnss"
       extrinsic:
-         pose: [1.36, -0.04, 0.280] # BNO055 in rosbag
+         pose: [0.0, 0.0, 0.28] # M600
       follow: "../sensor_f9t.yaml"
 
   processors:
diff --git a/yaml/M600b/sensor_bno_compass.yaml b/yaml/M600b/sensor_bno_compass.yaml
new file mode 100644
index 0000000..5fa032c
--- /dev/null
+++ b/yaml/M600b/sensor_bno_compass.yaml
@@ -0,0 +1,12 @@
+extrinsic:
+   pose: [0,0,0,0,0,0,1]
+
+stdev_noise: 0.3
+
+# magnetic field
+follow: "../magnetic_field.yaml"
+
+# calibration
+bias_prior_mode: "factor"
+bias_prior_state: [0, 0, 0]
+bias_prior_sigma: [0.3, 0.3, 0.3]
\ No newline at end of file
diff --git a/yaml/atlantic/params.yaml b/yaml/atlantic/params.yaml
index 213ca4a..1adedd4 100644
--- a/yaml/atlantic/params.yaml
+++ b/yaml/atlantic/params.yaml
@@ -35,13 +35,13 @@ config:
       type: "SensorCompass"
       name: "compass"
       plugin: "imu"
-      follow: "../sensor_bno_compass.yaml"
+      follow: "sensor_bno_compass.yaml"
     -
       type: "SensorGnss"
       name: "gnss"
       plugin: "gnss"
       extrinsic:
-         pose: [1.36, -0.04, 0.280] # BNO055 in rosbag
+         pose: [0.30, 0, 0.25] # atlantic
       follow: "../sensor_f9t.yaml"
 
   processors:
diff --git a/yaml/atlantic/sensor_bno_compass.yaml b/yaml/atlantic/sensor_bno_compass.yaml
new file mode 100644
index 0000000..5fa032c
--- /dev/null
+++ b/yaml/atlantic/sensor_bno_compass.yaml
@@ -0,0 +1,12 @@
+extrinsic:
+   pose: [0,0,0,0,0,0,1]
+
+stdev_noise: 0.3
+
+# magnetic field
+follow: "../magnetic_field.yaml"
+
+# calibration
+bias_prior_mode: "factor"
+bias_prior_state: [0, 0, 0]
+bias_prior_sigma: [0.3, 0.3, 0.3]
\ No newline at end of file
diff --git a/yaml/magnetic_field.yaml b/yaml/magnetic_field.yaml
new file mode 100644
index 0000000..827710c
--- /dev/null
+++ b/yaml/magnetic_field.yaml
@@ -0,0 +1,6 @@
+# https://www.ngdc.noaa.gov/geomag/calculators/magcalc.shtml#igrfwmm
+# N: 26,943.4 nT   E: 43.1 nT   D: 34,827.0 nT
+# E: 0.0431 uT     N: 26.9 uT   U: -34.8 uT
+field_prior_mode: "fix"
+field_prior_state: [0.0431 26.9 -34.8] # measured [7.9, -20.2, -58.8] 
+#field_prior_sigma: [10, 10, 10]
\ No newline at end of file
diff --git a/yaml/scrab/params.yaml b/yaml/scrab/params.yaml
index 213ca4a..092ec69 100644
--- a/yaml/scrab/params.yaml
+++ b/yaml/scrab/params.yaml
@@ -35,7 +35,7 @@ config:
       type: "SensorCompass"
       name: "compass"
       plugin: "imu"
-      follow: "../sensor_bno_compass.yaml"
+      follow: "sensor_bno_compass.yaml"
     -
       type: "SensorGnss"
       name: "gnss"
diff --git a/yaml/scrab/sensor_bno_compass.yaml b/yaml/scrab/sensor_bno_compass.yaml
new file mode 100644
index 0000000..5fa032c
--- /dev/null
+++ b/yaml/scrab/sensor_bno_compass.yaml
@@ -0,0 +1,12 @@
+extrinsic:
+   pose: [0,0,0,0,0,0,1]
+
+stdev_noise: 0.3
+
+# magnetic field
+follow: "../magnetic_field.yaml"
+
+# calibration
+bias_prior_mode: "factor"
+bias_prior_state: [0, 0, 0]
+bias_prior_sigma: [0.3, 0.3, 0.3]
\ No newline at end of file
diff --git a/yaml/tucan/params.yaml b/yaml/tucan/params.yaml
index 3405547..5e03a0a 100644
--- a/yaml/tucan/params.yaml
+++ b/yaml/tucan/params.yaml
@@ -35,7 +35,7 @@ config:
       type: "SensorCompass"
       name: "compass"
       plugin: "imu"
-      follow: "../sensor_bno_compass.yaml"
+      follow: "sensor_bno_compass.yaml"
     -
       type: "SensorGnss"
       name: "gnss"
diff --git a/yaml/tucan/sensor_bno_compass.yaml b/yaml/tucan/sensor_bno_compass.yaml
new file mode 100644
index 0000000..5fa032c
--- /dev/null
+++ b/yaml/tucan/sensor_bno_compass.yaml
@@ -0,0 +1,12 @@
+extrinsic:
+   pose: [0,0,0,0,0,0,1]
+
+stdev_noise: 0.3
+
+# magnetic field
+follow: "../magnetic_field.yaml"
+
+# calibration
+bias_prior_mode: "factor"
+bias_prior_state: [0, 0, 0]
+bias_prior_sigma: [0.3, 0.3, 0.3]
\ No newline at end of file
-- 
GitLab