A method for controlling a robot, the method comprising: traveling (S100) a cleaning area and then sensing (S120) an obstacle during the travel; determining (S200) whether the robot is able to travel over the obstacle in the cleaning area; changing (S210) a travel path of the robot when the robot is determined to be unable to travel over the obstacle; and storing (S300) position information of a boundary of the obstacle when the robot is determined to be able to travel over the obstacle, and after storing the position information, traveling the cleaning area, by the robot; characterized in that : defining (S500), in the cleaning area, an obstacle region and a non-obstacle region based on the boundary of the obstacle, wherein the cleaning area includes: the obstacle region defined by the boundary of the obstacle and the non-obstacle region defined as a region other than the obstacle region; wherein when the obstacle and a non-obstacle regions are not definable based on the boundary of the obstacle, the robot travels (S100) the cleaning area again; wherein each of the determining, the storing, the traveling, and the defining are performed while the robot is performing cleaning; and wherein after completing cleaning of the non-obstacle region, the robot is configured to enter into the obstacle region. traveling (S100) a cleaning area and then sensing (S120) an obstacle during the travel; determining (S200) whether the robot is able to travel over the obstacle in the cleaning area; changing (S210) a travel path of the robot when the robot is determined to be unable to travel over the obstacle; and storing (S300) position information of a boundary of the obstacle when the robot is determined to be able to travel over the obstacle, and after storing the position information, traveling the cleaning area, by the robot; characterized in that : defining (S500), in the cleaning area, an obstacle region and a non-obstacle region based on the boundary of the obstacle, wherein the cleaning area includes: the obstacle region defined by the boundary of the obstacle and the non-obstacle region defined as a region other than the obstacle region; wherein when the obstacle and a non-obstacle regions are not definable based on the boundary of the obstacle, the robot travels (S100) the cleaning area again; wherein each of the determining, the storing, the traveling, and the defining are performed while the robot is performing cleaning; and wherein after completing cleaning of the non-obstacle region, the robot is configured to enter into the obstacle region. defining (S500), in the cleaning area, an obstacle region and a non-obstacle region based on the boundary of the obstacle, wherein the cleaning area includes: the obstacle region defined by the boundary of the obstacle and the non-obstacle region defined as a region other than the obstacle region; wherein when the obstacle and a non-obstacle regions are not definable based on the boundary of the obstacle, the robot travels (S100) the cleaning area again; wherein each of the determining, the storing, the traveling, and the defining are performed while the robot is performing cleaning; and wherein after completing cleaning of the non-obstacle region, the robot is configured to enter into the obstacle region. <EOS>