diff --git a/CMakeLists.txt b/CMakeLists.txt
index ffb02fcdf3e6aa24fc0368551d390f6d668a085b..4bcc230632728526a023706c3f2c172ddc9d44f5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -30,6 +30,7 @@ ENDIF (PCL_FOUND)
 add_message_files(
    FILES
    segmented_objects.msg
+   plane_coefficients.msg
 )
 
 ## Generate services in the 'srv' folder
diff --git a/include/tos_supervoxels_alg.h b/include/tos_supervoxels_alg.h
index 56100878e07b2df069b4a9269b43d2ef24add8df..7de74189cad98d4f8aefa6182a9814e4e1f7462d 100644
--- a/include/tos_supervoxels_alg.h
+++ b/include/tos_supervoxels_alg.h
@@ -255,6 +255,9 @@ class TosSupervoxelsAlgorithm
     double get_zmin();
     double get_zmax();
     int get_th_points();
+
+    pcl::ModelCoefficients get_plane_coefficients();
+
 };
 
 #endif
diff --git a/include/tos_supervoxels_alg_node.h b/include/tos_supervoxels_alg_node.h
index 703c6b4ed58cb892f740e786cc86bb2fd28f3cb8..42d9c325d9148a36f7d27a3e8a4fc124134a8c1e 100644
--- a/include/tos_supervoxels_alg_node.h
+++ b/include/tos_supervoxels_alg_node.h
@@ -30,6 +30,8 @@
 #include <pcl_conversions/pcl_conversions.h>
 #include <iri_tos_supervoxels/object_segmentation.h>
 #include <iri_tos_supervoxels/segmented_objects.h>
+#include <iri_tos_supervoxels/plane_coefficients.h>
+
 
 // [publisher subscriber headers]
 
diff --git a/msg/plane_coefficients.msg b/msg/plane_coefficients.msg
new file mode 100644
index 0000000000000000000000000000000000000000..0c8f8c7950753bd6e92559449db92f55d9da5b38
--- /dev/null
+++ b/msg/plane_coefficients.msg
@@ -0,0 +1,4 @@
+float32 a
+float32 b
+float32 c
+float32 d
\ No newline at end of file
diff --git a/msg/segmented_objects.msg b/msg/segmented_objects.msg
index 474846f47bf0dd1b299f0a320f0f22a42fd86e4e..ee204779b28d0629c12777104c011112a6ac6a6d 100644
--- a/msg/segmented_objects.msg
+++ b/msg/segmented_objects.msg
@@ -1 +1 @@
-sensor_msgs/PointCloud2[] objects
+sensor_msgs/PointCloud2[] objects
\ No newline at end of file
diff --git a/src/tos_supervoxels_alg.cpp b/src/tos_supervoxels_alg.cpp
index 2bd6a996af54e7ebb6722086cfc24e3e5527e125..7ad95055ac61d9dd1b327f8d429f8d022dd8e594 100644
--- a/src/tos_supervoxels_alg.cpp
+++ b/src/tos_supervoxels_alg.cpp
@@ -227,4 +227,10 @@ int TosSupervoxelsAlgorithm::get_th_points()
   return this->obj_segment.get_th_points();
 }
 
+pcl::ModelCoefficients TosSupervoxelsAlgorithm::get_plane_coefficients()
+{
+  return this->obj_segment.get_plane_coefficients();
+}
+
+
 // TosSupervoxelsAlgorithm Public API
diff --git a/src/tos_supervoxels_alg_client_node.cpp b/src/tos_supervoxels_alg_client_node.cpp
index 227d7612ee7fc762df578121c2c0cf8d551b6a94..5e26fee69e2cccc81d91fc9efba33b40089a3327 100644
--- a/src/tos_supervoxels_alg_client_node.cpp
+++ b/src/tos_supervoxels_alg_client_node.cpp
@@ -13,6 +13,7 @@
 
 // msg
 #include "iri_tos_supervoxels/segmented_objects.h"
+#include "iri_tos_supervoxels/plane_coefficients.h"
 
 ros::ServiceClient client;
 ros::Publisher pub,pub_segmented_objs;
diff --git a/src/tos_supervoxels_alg_node.cpp b/src/tos_supervoxels_alg_node.cpp
index c0cd3da32cc553dbecf10d1080f933f30ae251db..b6ef3bc16807ab0e2f053d7187a0bbba93d16380 100644
--- a/src/tos_supervoxels_alg_node.cpp
+++ b/src/tos_supervoxels_alg_node.cpp
@@ -88,6 +88,14 @@ bool TosSupervoxelsAlgNode::object_segmentationCallback(iri_tos_supervoxels::obj
   std::vector<pcl::PointCloud<pcl::PointXYZRGBA> > objects;
   objects = alg_.get_segmented_objects_simple();
   
+  //fill the plane coefficients field
+  pcl::ModelCoefficients plane_coefficients;
+  plane_coefficients = alg_.get_plane_coefficients();
+  res.plane_coeff.a = plane_coefficients.values[0];
+  res.plane_coeff.b = plane_coefficients.values[1];
+  res.plane_coeff.c = plane_coefficients.values[2];
+  res.plane_coeff.d = plane_coefficients.values[3];
+
   // free the memory of the algorithm
   alg_.reset();
 
@@ -104,6 +112,8 @@ bool TosSupervoxelsAlgNode::object_segmentationCallback(iri_tos_supervoxels::obj
   }
   res.objects = seg_objs_msg; 
 
+
+
   //unlock previously blocked shared variables
   this->object_segmentation_mutex_exit();
   this->alg_.unlock();
diff --git a/srv/object_segmentation.srv b/srv/object_segmentation.srv
index 28afd513a7073db8bf0f4adc53ab061a7eac4467..9fb72e453297e7a4c6790cfeb8ea93d52caec7b6 100644
--- a/srv/object_segmentation.srv
+++ b/srv/object_segmentation.srv
@@ -1,3 +1,4 @@
 sensor_msgs/PointCloud2 point_cloud
 ---
 iri_tos_supervoxels/segmented_objects objects
+iri_tos_supervoxels/plane_coefficients plane_coeff
\ No newline at end of file