diff --git a/README.md b/README.md
index 9859ac977bfa3618960b227fcf0c1ba43ba419a8..1a0eaf161648c92ba1e444a5bf585a0bf5aee010 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@ IRI package created to calculate the normal vector of each pointcloud's point in
 
 ## Getting Started
 
-The main idea is to select an area in front of the robot where the camera is focused and divide this area in several cells (typically 3). After that, the number of points in each cell is counted and, if this number in any cell is less than a threshold, there is a hole in that cell.
+The main idea is to calculate the normal vector of each point using it and its closest neighbours. After that, if that vector is out of some thresholds (relative to the inclination with respect to the plane of each point), that point is classified as not passable and, therefore, as an obstacle. On the other hand, if the vector fulfills all the thresholds, it corresponds to a passable terrain.
 These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
 
 ### Prerequisites
@@ -30,7 +30,7 @@ catkin_make
 ## Params
 
 * **filter_min_dist** - Min distance threshold for considering a point valid.
-* **normal_KSearch** - No of neighbors to estimate the surface.
+* **normal_KSearch** - No of neighbours to estimate the surface.
 * **normal_x** - Normal X threshold.
 * **normal_y** - Normal Y threshold.
 * **normal_z** - Normal Z threshold.
@@ -44,4 +44,4 @@ catkin_make
 ## Acknowledgments
 
 * *Terrain classification in complex 3D outdoor environments* paper written by Àngel Santamaria-Navarro, Ernesto H. Teniente, Martí Morta and Juan Andrade-Cetto.
-* Hat tip to Git.
\ No newline at end of file
+* Hat tip to Git.