diff --git a/real_robot/coordination_formation_control_pkg/config/formationConfig.yaml b/real_robot/coordination_formation_control_pkg/config/formationConfig.yaml
index 84b30b6fa371573d3ecac84d67a995ae082a5314..4b9d1960917b4db42fd52ef903b677bdb654a76e 100644
--- a/real_robot/coordination_formation_control_pkg/config/formationConfig.yaml
+++ b/real_robot/coordination_formation_control_pkg/config/formationConfig.yaml
@@ -3,7 +3,7 @@ uav_c1_alpha: 0.20
 uav_c2_alpha: 0.5 # this is recomputed
 uav_c1_beta: 0.3
 uav_c2_beta: 0.1 # this is recomputed
-uav_c1_gamma: 0.05
+uav_c1_gamma: 0.25
 uav_c2_gamma: 0.2
 uav_c1_theta: 0.1
 uav_c1_delta: 0.07
@@ -17,7 +17,7 @@ uav_c1_delta: 0.07
 # uav_c1_theta: 0.3
 # uav_c1_delta: 0.01
 
-uav_d: 0.8
+uav_d: 1.2
 uav_formation_t: 3 #/* type must be minimum 2, 3: tuangle formation, 4 suare, 5 pentagon*/
 uav_k: 7
 uav_ratio:  0.8 # /* ratio between dist inter and obstacle*/
@@ -37,15 +37,15 @@ uav_int_max:  0.1 #/* maximum integral*/
 # Uav
 ugv_c1_alpha: 1
 ugv_c2_alpha: 1 # this is recomputed
-ugv_c1_beta: 0.35
+ugv_c1_beta: 0.3
 ugv_c2_beta: 1 # this is recomputed
 ugv_c1_gamma: 0.25
 ugv_c2_gamma: 0.2
-ugv_c1_theta: 0.1
+ugv_c1_theta: 0.0
 ugv_c1_delta: 0.07
 
 
-ugv_d: 0.3
+ugv_d: 0.9
 ugv_formation_t: 2 #/* type must be minimum 2, 3: tuangle formation, 4 suare, 5 pentagon*/
 ugv_k: 7
 ugv_ratio:  0.8 # /* ratio between dist inter and obstacle*/
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_crazyflie_1_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_crazyflie_1_logdata.bag
index fbedf3f0005851b2060deb57fa7094645592d76b..6030eca86c6869ae8dc06f80f495e76620b1cf1a 100644
Binary files a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_crazyflie_1_logdata.bag and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_crazyflie_1_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_crazyflie_2_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_crazyflie_2_logdata.bag
index ee77381d7aeb8dbff3f9a5c7f2cf4fca872a8a8e..56169d8c4a8ee968d33aa159f8ff34e1804ec518 100644
Binary files a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_crazyflie_2_logdata.bag and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_crazyflie_2_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_crazyflie_3_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_crazyflie_3_logdata.bag
index 36a5c940ae4b846b5a1866d9178d545057b75ec3..fe3fcd66e9e0f4bbc58ecdbd6ce78afd8f042df9 100644
Binary files a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_crazyflie_3_logdata.bag and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_crazyflie_3_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_omniwheel_1_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_omniwheel_1_logdata.bag
index 296740ee93ec7843cbb38291ac85e0399e8017a6..ef819be40cc737c51dce346f428163c97e64aee8 100644
Binary files a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_omniwheel_1_logdata.bag and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_omniwheel_1_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_omniwheel_2_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_omniwheel_2_logdata.bag
index 5b1556170df7ab1f92b20bf6e9efa5e46b22733d..3b8fc91228522e13f40ee1c9bc053325a67cb981 100644
Binary files a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_omniwheel_2_logdata.bag and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv/result_omniwheel_2_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/parameters b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/parameters
new file mode 100644
index 0000000000000000000000000000000000000000..81d36e99e8ad4154e93f1ca0c9aa5f749276e3e7
--- /dev/null
+++ b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/parameters
@@ -0,0 +1,63 @@
+flock at position(1.72, 0) position(0.01,0)
+# Uav
+# Uav
+uav_c1_alpha: 0.20
+uav_c2_alpha: 0.5 # this is recomputed
+uav_c1_beta: 0.3
+uav_c2_beta: 0.1 # this is recomputed
+uav_c1_gamma: 0.05
+uav_c2_gamma: 0.2
+uav_c1_theta: 0.1
+uav_c1_delta: 0.07
+
+# uav_c1_alpha: 0.035
+# uav_c2_alpha: 0.04 # this is recomputed
+# uav_c1_beta: 0.04
+# uav_c2_beta: 0.02 # this is recomputed
+# uav_c1_gamma: 0.02
+# uav_c2_gamma: 0.03
+# uav_c1_theta: 0.3
+# uav_c1_delta: 0.01
+
+uav_d: 0.8
+uav_formation_t: 3 #/* type must be minimum 2, 3: tuangle formation, 4 suare, 5 pentagon*/
+uav_k: 7
+uav_ratio:  0.8 # /* ratio between dist inter and obstacle*/
+uav_eps: 0.1
+uav_a: 5
+uav_b: 5
+uav_h_alpha: 0.2
+uav_h_beta: 0.9
+uav_d_obs: 0
+uav_nav_type:  1 #/* convergence approach -1, parallel approach 2*/
+uav_integrator: 2 #/* single/ double integrator*/
+uav_dt:  0.01 #/* sample time*/
+uav_int_max:  0.1 #/* maximum integral*/
+
+# ugv
+
+# Uav
+ugv_c1_alpha: 1
+ugv_c2_alpha: 1 # this is recomputed
+ugv_c1_beta: 0.35
+ugv_c2_beta: 1 # this is recomputed
+ugv_c1_gamma: 0.25
+ugv_c2_gamma: 0.2
+ugv_c1_theta: 0.1
+ugv_c1_delta: 0.1
+
+
+ugv_d: 1
+ugv_formation_t: 2 #/* type must be minimum 2, 3: tuangle formation, 4 suare, 5 pentagon*/
+ugv_k: 7
+ugv_ratio:  0.8 # /* ratio between dist inter and obstacle*/
+ugv_eps: 0.1
+ugv_a: 5
+ugv_b: 5
+ugv_h_alpha: 0.2
+ugv_h_beta: 0.9
+ugv_d_obs: 0
+ugv_nav_type:  1 #/* convergence approach -1, parallel approach 2*/
+ugv_integrator: 1 #/* single/ double integrator*/
+ugv_dt:  0.02 #/* sample time*/
+ugv_int_max:  0.1 #/* maximum integral*/
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/result_crazyflie_1_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/result_crazyflie_1_logdata.bag
new file mode 100644
index 0000000000000000000000000000000000000000..31cc5eaf2c9ff01929f11217f48f4b95196ac8a7
Binary files /dev/null and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/result_crazyflie_1_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/result_crazyflie_2_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/result_crazyflie_2_logdata.bag
new file mode 100644
index 0000000000000000000000000000000000000000..ab7cf1d8118ba98b9c1dd75e3712a670790fced2
Binary files /dev/null and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/result_crazyflie_2_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/result_crazyflie_3_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/result_crazyflie_3_logdata.bag
new file mode 100644
index 0000000000000000000000000000000000000000..466cb6aa3c129fca9dd97b389642a93f52e76469
Binary files /dev/null and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/result_crazyflie_3_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/result_omniwheel_1_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/result_omniwheel_1_logdata.bag
new file mode 100644
index 0000000000000000000000000000000000000000..19c308cc5249ca6bdbd7cf0724812601ab3329f8
Binary files /dev/null and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/result_omniwheel_1_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/result_omniwheel_2_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/result_omniwheel_2_logdata.bag
new file mode 100644
index 0000000000000000000000000000000000000000..4b6c6711942dd79097af2f96c483259250bfd20b
Binary files /dev/null and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_/result_omniwheel_2_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/parameters b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/parameters
new file mode 100644
index 0000000000000000000000000000000000000000..81d36e99e8ad4154e93f1ca0c9aa5f749276e3e7
--- /dev/null
+++ b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/parameters
@@ -0,0 +1,63 @@
+flock at position(1.72, 0) position(0.01,0)
+# Uav
+# Uav
+uav_c1_alpha: 0.20
+uav_c2_alpha: 0.5 # this is recomputed
+uav_c1_beta: 0.3
+uav_c2_beta: 0.1 # this is recomputed
+uav_c1_gamma: 0.05
+uav_c2_gamma: 0.2
+uav_c1_theta: 0.1
+uav_c1_delta: 0.07
+
+# uav_c1_alpha: 0.035
+# uav_c2_alpha: 0.04 # this is recomputed
+# uav_c1_beta: 0.04
+# uav_c2_beta: 0.02 # this is recomputed
+# uav_c1_gamma: 0.02
+# uav_c2_gamma: 0.03
+# uav_c1_theta: 0.3
+# uav_c1_delta: 0.01
+
+uav_d: 0.8
+uav_formation_t: 3 #/* type must be minimum 2, 3: tuangle formation, 4 suare, 5 pentagon*/
+uav_k: 7
+uav_ratio:  0.8 # /* ratio between dist inter and obstacle*/
+uav_eps: 0.1
+uav_a: 5
+uav_b: 5
+uav_h_alpha: 0.2
+uav_h_beta: 0.9
+uav_d_obs: 0
+uav_nav_type:  1 #/* convergence approach -1, parallel approach 2*/
+uav_integrator: 2 #/* single/ double integrator*/
+uav_dt:  0.01 #/* sample time*/
+uav_int_max:  0.1 #/* maximum integral*/
+
+# ugv
+
+# Uav
+ugv_c1_alpha: 1
+ugv_c2_alpha: 1 # this is recomputed
+ugv_c1_beta: 0.35
+ugv_c2_beta: 1 # this is recomputed
+ugv_c1_gamma: 0.25
+ugv_c2_gamma: 0.2
+ugv_c1_theta: 0.1
+ugv_c1_delta: 0.1
+
+
+ugv_d: 1
+ugv_formation_t: 2 #/* type must be minimum 2, 3: tuangle formation, 4 suare, 5 pentagon*/
+ugv_k: 7
+ugv_ratio:  0.8 # /* ratio between dist inter and obstacle*/
+ugv_eps: 0.1
+ugv_a: 5
+ugv_b: 5
+ugv_h_alpha: 0.2
+ugv_h_beta: 0.9
+ugv_d_obs: 0
+ugv_nav_type:  1 #/* convergence approach -1, parallel approach 2*/
+ugv_integrator: 1 #/* single/ double integrator*/
+ugv_dt:  0.02 #/* sample time*/
+ugv_int_max:  0.1 #/* maximum integral*/
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/result_crazyflie_1_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/result_crazyflie_1_logdata.bag
new file mode 100644
index 0000000000000000000000000000000000000000..26595003cd84b6431309abe3e9f1778e2c83cd75
Binary files /dev/null and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/result_crazyflie_1_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/result_crazyflie_2_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/result_crazyflie_2_logdata.bag
new file mode 100644
index 0000000000000000000000000000000000000000..6e89607a196f9b5bd2104f9e21e2d5bf71c6d692
Binary files /dev/null and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/result_crazyflie_2_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/result_crazyflie_3_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/result_crazyflie_3_logdata.bag
new file mode 100644
index 0000000000000000000000000000000000000000..4315d63ce6abf05dee19d2ca9c5a0abd0245b165
Binary files /dev/null and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/result_crazyflie_3_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/result_omniwheel_1_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/result_omniwheel_1_logdata.bag
new file mode 100644
index 0000000000000000000000000000000000000000..9c1fa1dcfea466af812b9965933d2255d9257693
Binary files /dev/null and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/result_omniwheel_1_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/result_omniwheel_2_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/result_omniwheel_2_logdata.bag
new file mode 100644
index 0000000000000000000000000000000000000000..6f87905994bf4431c29737bbfd91ce210b1f7051
Binary files /dev/null and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_2/result_omniwheel_2_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/parameters b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/parameters
new file mode 100644
index 0000000000000000000000000000000000000000..81d36e99e8ad4154e93f1ca0c9aa5f749276e3e7
--- /dev/null
+++ b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/parameters
@@ -0,0 +1,63 @@
+flock at position(1.72, 0) position(0.01,0)
+# Uav
+# Uav
+uav_c1_alpha: 0.20
+uav_c2_alpha: 0.5 # this is recomputed
+uav_c1_beta: 0.3
+uav_c2_beta: 0.1 # this is recomputed
+uav_c1_gamma: 0.05
+uav_c2_gamma: 0.2
+uav_c1_theta: 0.1
+uav_c1_delta: 0.07
+
+# uav_c1_alpha: 0.035
+# uav_c2_alpha: 0.04 # this is recomputed
+# uav_c1_beta: 0.04
+# uav_c2_beta: 0.02 # this is recomputed
+# uav_c1_gamma: 0.02
+# uav_c2_gamma: 0.03
+# uav_c1_theta: 0.3
+# uav_c1_delta: 0.01
+
+uav_d: 0.8
+uav_formation_t: 3 #/* type must be minimum 2, 3: tuangle formation, 4 suare, 5 pentagon*/
+uav_k: 7
+uav_ratio:  0.8 # /* ratio between dist inter and obstacle*/
+uav_eps: 0.1
+uav_a: 5
+uav_b: 5
+uav_h_alpha: 0.2
+uav_h_beta: 0.9
+uav_d_obs: 0
+uav_nav_type:  1 #/* convergence approach -1, parallel approach 2*/
+uav_integrator: 2 #/* single/ double integrator*/
+uav_dt:  0.01 #/* sample time*/
+uav_int_max:  0.1 #/* maximum integral*/
+
+# ugv
+
+# Uav
+ugv_c1_alpha: 1
+ugv_c2_alpha: 1 # this is recomputed
+ugv_c1_beta: 0.35
+ugv_c2_beta: 1 # this is recomputed
+ugv_c1_gamma: 0.25
+ugv_c2_gamma: 0.2
+ugv_c1_theta: 0.1
+ugv_c1_delta: 0.1
+
+
+ugv_d: 1
+ugv_formation_t: 2 #/* type must be minimum 2, 3: tuangle formation, 4 suare, 5 pentagon*/
+ugv_k: 7
+ugv_ratio:  0.8 # /* ratio between dist inter and obstacle*/
+ugv_eps: 0.1
+ugv_a: 5
+ugv_b: 5
+ugv_h_alpha: 0.2
+ugv_h_beta: 0.9
+ugv_d_obs: 0
+ugv_nav_type:  1 #/* convergence approach -1, parallel approach 2*/
+ugv_integrator: 1 #/* single/ double integrator*/
+ugv_dt:  0.02 #/* sample time*/
+ugv_int_max:  0.1 #/* maximum integral*/
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/result_crazyflie_1_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/result_crazyflie_1_logdata.bag
new file mode 100644
index 0000000000000000000000000000000000000000..6030eca86c6869ae8dc06f80f495e76620b1cf1a
Binary files /dev/null and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/result_crazyflie_1_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/result_crazyflie_2_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/result_crazyflie_2_logdata.bag
new file mode 100644
index 0000000000000000000000000000000000000000..56169d8c4a8ee968d33aa159f8ff34e1804ec518
Binary files /dev/null and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/result_crazyflie_2_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/result_crazyflie_3_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/result_crazyflie_3_logdata.bag
new file mode 100644
index 0000000000000000000000000000000000000000..fe3fcd66e9e0f4bbc58ecdbd6ce78afd8f042df9
Binary files /dev/null and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/result_crazyflie_3_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/result_omniwheel_1_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/result_omniwheel_1_logdata.bag
new file mode 100644
index 0000000000000000000000000000000000000000..ef819be40cc737c51dce346f428163c97e64aee8
Binary files /dev/null and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/result_omniwheel_1_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/result_omniwheel_2_logdata.bag b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/result_omniwheel_2_logdata.bag
new file mode 100644
index 0000000000000000000000000000000000000000..3b8fc91228522e13f40ee1c9bc053325a67cb981
Binary files /dev/null and b/real_robot/coordination_formation_control_pkg/results/experiment_6_formation_3_uav_2_ugv_3/result_omniwheel_2_logdata.bag differ
diff --git a/real_robot/coordination_formation_control_pkg/scripts/plot_real_experiment_pgf_plot.py b/real_robot/coordination_formation_control_pkg/scripts/plot_real_experiment_pgf_plot.py
index 4bb156b1803e31ae132cccba0c7592a30fe62f7f..3a57ec1c431c2f51f638035dd7dca37331df0f7c 100644
--- a/real_robot/coordination_formation_control_pkg/scripts/plot_real_experiment_pgf_plot.py
+++ b/real_robot/coordination_formation_control_pkg/scripts/plot_real_experiment_pgf_plot.py
@@ -31,8 +31,8 @@ bag = rosbag.Bag(result_folder_name + file_name)
 N_uavs = 3
 N_ugvs = 2
 n_obstacles = 0
-d_uav = 0.8;
-d_ugv = 1;
+d_uav =1.2;
+d_ugv = 0.9;
 ratio_uav = 0.8;
 ratio_ugv = 0.8;
 d_uav2obs = d_uav*ratio_uav;
@@ -181,16 +181,16 @@ if N_ugvs > 0:
     axis_traj.plot(ugv_cluster_x[-1,:], ugv_cluster_y[-1,:], ".",marker="+",markersize=12, markeredgecolor="black", markerfacecolor="black")
 
 
-
-#plot final configuration
-# axis_traj.plot(np.append(position_x[-1,:],position_x[-1,0]) , np.append(position_y[-1,:],position_y[-1,0]),"r")
-if N_ugvs > 0:
-    for i in range(N_ugvs):
-        axis_traj.plot(np.append(ugv_position_x[-1,i],ugv_cluster_x[-1,i]) , np.append(ugv_position_y[-1,i],ugv_cluster_y[-1,i]),"k")
-        axis_traj.plot(np.append(ugv_position_x[-1,i],ugv_cluster_x[-1,i]) , np.append(ugv_position_y[-1,i],ugv_cluster_y[-1,i]),"k")
-#plot trajectories
+#
+# #plot final configuration
+axis_traj.plot(np.append(position_x[-1,:],position_x[-1,0]) , np.append(position_y[-1,:],position_y[-1,0]),"r")
+# if N_ugvs > 0:
+#     for i in range(N_ugvs):
+#         axis_traj.plot(np.append(ugv_position_x[-1,i],ugv_cluster_x[-1,i]) , np.append(ugv_position_y[-1,i],ugv_cluster_y[-1,i]),"k")
+#         axis_traj.plot(np.append(ugv_position_x[-1,i],ugv_cluster_x[-1,i]) , np.append(ugv_position_y[-1,i],ugv_cluster_y[-1,i]),"k")
+# # #plot trajectories
 color_array = ["c", "g","b", "y", "m", "C1", "C2"]
-# plot the uavs
+# # plot the uavs
 for i in range(N_uavs):
     c = color_array[i];
     axis_traj.plot(position_x[:,i], position_y[:,i], c,label="UAV_" + str(i+1))
@@ -198,8 +198,8 @@ for i in range(N_uavs):
 for t in range(N_ugvs):
     c = color_array[t+N_uavs];
     c1 = color_array[t+N_uavs+2];
-    # axis_traj.plot(ugv_position_x[:,t], ugv_position_y[:,t],c+"--",label="UGV_" + str(t+1))
-    axis_traj.plot(ugv_cluster_x[:,t], ugv_cluster_y[:,t],c1+"--",label="Cluster_" + str(t+1),marker="*",markersize=10)
+    axis_traj.plot(ugv_position_x[:,t], ugv_position_y[:,t],c,label="UGV_" + str(t+1))
+    axis_traj.plot(ugv_cluster_x[:,t], ugv_cluster_y[:,t],c1,label="Cluster_" + str(t+1))
 
 # plot the obstacle
 if n_obstacles >0:
diff --git a/real_robot/coordination_formation_control_pkg/src/mission_controller.cpp b/real_robot/coordination_formation_control_pkg/src/mission_controller.cpp
index 19e3a292448f8ab79d09b5e3523807a37aabaef9..70f7b7b1c262f3a9f20bfa1f76aa3f561925f9aa 100644
--- a/real_robot/coordination_formation_control_pkg/src/mission_controller.cpp
+++ b/real_robot/coordination_formation_control_pkg/src/mission_controller.cpp
@@ -391,6 +391,10 @@ for (int i = 0; i ++; i < n_ugvs)
 void missionController::updateCofig(coordination_formation_control_pkg::missionControllerConfig &config, uint32_t level)
 {
   ROS_INFO("mission controller: reconfigure callback");
+  current_waypoint.pos[0] = config.x;
+  current_waypoint.pos[1] = config.y;
+  current_waypoint.vel[0] = config.vx;
+  current_waypoint.vel[1] = config.vy;
   // demo
   if(config.initialize_all_robot)
   {
@@ -415,11 +419,8 @@ void missionController::updateCofig(coordination_formation_control_pkg::missionC
   if(config.update_waypoint)
   {
     config.update_waypoint = false;
-    current_waypoint.pos[0] = config.x;
-    current_waypoint.pos[1] = config.y;
     current_waypoint.orientation = config.orientation;
-    current_waypoint.vel[0] = config.vx;
-    current_waypoint.vel[1] = config.vy;
+
     this->mantain_position = config.mantain_position;
     this->start_publishing_waypoint = true;
     config.mantain_position = false;
@@ -447,25 +448,40 @@ Eigen::MatrixXf missionController::compute_cluster(Eigen::MatrixXf uav_q, Eigen:
   {
 
     std::vector<Point2f> centers;
-    // for (int i = 0; i <num_ugvs; i++)
-    // {
-    //   /* make intial ugv be the centroid */
-    //   Point2f center;
-    //   center.x = ugv_q(0,i);
-    //   center.y =  ugv_q(1,i);
-    //   centers.push_back(center);
-    // }
+    for (int i = 0; i <num_ugvs; i++)
+    {
+      /* make intial ugv be the centroid */
+      Point2f center;
+      center.x = ugv_q(0,i);
+      center.y =  ugv_q(1,i);
+      centers.push_back(center);
+    }
 
     /* points*/
     std::vector<Point2f> points;
+    /* this is to prevent random junts test again later*/
 
-    for(int t = 0; t < num_uavs; t++)
+    if(this->cluster_initialized)
+    {
+      for(int t = 0; t < num_uavs; t++)
+      {
+        Point2f point;
+        point.x = previous_centroids(0,t);
+        point.y =  previous_centroids(1,t);
+        points.push_back(point);
+      }
+    }
+    else
     {
-      Point2f point;
-      point.x = uav_q(0,t);
-      point.y =  uav_q(1,t);
-      points.push_back(point);
+      for(int t = 0; t < num_uavs; t++)
+      {
+        Point2f point;
+        point.x = uav_q(0,t);
+        point.y =  uav_q(1,t);
+        points.push_back(point);
+      }
     }
+
     // ROS_INFO("*****************************************Here");
 
     Mat labels = previous_labels;
@@ -500,12 +516,18 @@ Eigen::MatrixXf missionController::compute_cluster(Eigen::MatrixXf uav_q, Eigen:
 
     if(num_ugvs == 2)
     {
-      float man1 = (centroids.col(0) - uav_q.col(0)).norm();
-      float man2 = (centroids.col(1) - uav_q.col(1)).norm();
-      float cha1 = (centroids.col(1) - uav_q.col(0)).norm();
-      float cha2 = (centroids.col(0) - uav_q.col(1)).norm();
-
-      if( cha1 < man1 && cha2 <man2)
+      float man1 = (centroids.col(0) - ugv_q.col(0)).norm();
+      float man2 = (centroids.col(1) - ugv_q.col(1)).norm();
+      float cha1 = (centroids.col(1) - ugv_q.col(0)).norm();
+      float cha2 = (centroids.col(0) - ugv_q.col(1)).norm();
+      float total_man = man1 +man2;
+      float total_cha = cha1+cha2;
+      // std::cout << "man" << man1 << " " << man2 << std::endl;
+      // std::cout << "cha1" << cha2 << " " << cha2 << std::endl;
+      //
+      // std:: cout <<total_man << " " << total_cha << std::endl;
+
+      if( total_cha < total_man)
       {
 
           Eigen::MatrixXf dummy_centroid(2,num_ugvs);
@@ -516,6 +538,8 @@ Eigen::MatrixXf missionController::compute_cluster(Eigen::MatrixXf uav_q, Eigen:
 
 
 
+
+
       }
       else
       {
@@ -525,8 +549,12 @@ Eigen::MatrixXf missionController::compute_cluster(Eigen::MatrixXf uav_q, Eigen:
           centroids = centroids;
 
         }
+
       }
 
+      // check for intersections
+      // if this->intersectionExist(centroid, ugv_state_q,num_ugvs)
+
     }
     previous_centroids = centroids;
     // std::cout << "final centroids" << centroids << std::endl;