A moving robot comprising: a movable main body; a travel drive unit configured to move the main body; a data unit configured to store data for each region; a dust sensor configured to detect dust in air suctioned during cleaning; and a controller configured to control the travel drive unit so as to perform cleaning while traveling in a traveling area distinguished into a plurality of regions, wherein the controller is further configured to: store, in the data unit, dust information detected by the dust sensor and a number of times of cleaning in each region; set a cleaning region and a non-cleaning region based on cleaning data, which is calculated based on the dust information and the number of times of cleaning, so as to perform cleaning of the cleaning region, when the cleaning data has a value equal to or greater than a reference value, set a corresponding region as a cleaning region; when the cleaning data has a value smaller than the reference value, set the corresponding region as a non-cleaning region; and when the cleaning data has a value smaller than the reference value, set the region as a cleaning region depending on a number of times the corresponding region has been set as a non-cleaning region, a density of dust in each of one or more cells, or an elapse of time since last cleaning. a movable main body; a travel drive unit configured to move the main body; a data unit configured to store data for each region; a dust sensor configured to detect dust in air suctioned during cleaning; and a controller configured to control the travel drive unit so as to perform cleaning while traveling in a traveling area distinguished into a plurality of regions, wherein the controller is further configured to: store, in the data unit, dust information detected by the dust sensor and a number of times of cleaning in each region; set a cleaning region and a non-cleaning region based on cleaning data, which is calculated based on the dust information and the number of times of cleaning, so as to perform cleaning of the cleaning region, when the cleaning data has a value equal to or greater than a reference value, set a corresponding region as a cleaning region; when the cleaning data has a value smaller than the reference value, set the corresponding region as a non-cleaning region; and when the cleaning data has a value smaller than the reference value, set the region as a cleaning region depending on a number of times the corresponding region has been set as a non-cleaning region, a density of dust in each of one or more cells, or an elapse of time since last cleaning. store, in the data unit, dust information detected by the dust sensor and a number of times of cleaning in each region; set a cleaning region and a non-cleaning region based on cleaning data, which is calculated based on the dust information and the number of times of cleaning, so as to perform cleaning of the cleaning region, when the cleaning data has a value equal to or greater than a reference value, set a corresponding region as a cleaning region; when the cleaning data has a value smaller than the reference value, set the corresponding region as a non-cleaning region; and when the cleaning data has a value smaller than the reference value, set the region as a cleaning region depending on a number of times the corresponding region has been set as a non-cleaning region, a density of dust in each of one or more cells, or an elapse of time since last cleaning.