A moving robot comprising: a travelling unit configured to move a main body; an image acquisition unit configured to acquire an image around the main body; a sensor unit including at least one sensor configured to sense an obstacle during moving; a storage unit configured to store information on a location of the sensed obstacle and information on a location of the moving robot if the sensor unit senses the obstacle, to register, into a map, an area having a specific size from the location of the sensed obstacle as an obstacle area, and to store an image, which is acquired by the image acquisition unit, in the obstacle area; an obstacle recognition module configured to sequentially recognize attributes of the obstacle from images, which are acquired by the image acquisition unit, in the obstacle area based on previously learned data through machine learning and to determine a final attribute of the obstacle based on a plurality of recognition results which are sequentially obtained; and a control unit configured to detect attributes of a plurality of obstacles through the obstacle recognition module if detecting, from the plurality of obstacles, a confinement state that all possible traveling paths are blocked, and to control the traveling unit to move one of the plurality of obstacles, characterized in that the obstacle recognition module is configured to register, into the map, the obstacle, as a dangerous obstacle or a non-dangerous obstacle according to the determined final attribute of the obstacle, wherein the dangerous obstacle has a height over which the moving robot cannot go, and the non-dangerous obstacle has a height over which the moving robot can go. a travelling unit configured to move a main body; an image acquisition unit configured to acquire an image around the main body; a sensor unit including at least one sensor configured to sense an obstacle during moving; a storage unit configured to store information on a location of the sensed obstacle and information on a location of the moving robot if the sensor unit senses the obstacle, to register, into a map, an area having a specific size from the location of the sensed obstacle as an obstacle area, and to store an image, which is acquired by the image acquisition unit, in the obstacle area; an obstacle recognition module configured to sequentially recognize attributes of the obstacle from images, which are acquired by the image acquisition unit, in the obstacle area based on previously learned data through machine learning and to determine a final attribute of the obstacle based on a plurality of recognition results which are sequentially obtained; and a control unit configured to detect attributes of a plurality of obstacles through the obstacle recognition module if detecting, from the plurality of obstacles, a confinement state that all possible traveling paths are blocked, and to control the traveling unit to move one of the plurality of obstacles, characterized in that the obstacle recognition module is configured to register, into the map, the obstacle, as a dangerous obstacle or a non-dangerous obstacle according to the determined final attribute of the obstacle, wherein the dangerous obstacle has a height over which the moving robot cannot go, and the non-dangerous obstacle has a height over which the moving robot can go.